1

バケットの読み取りアクセス権を持つユーザーがいます。秘密鍵を使用せずにユーザーの資格情報で認証する方法はありますか?

(擬似コード)のようなもの:

auth = new S3Authentication(user, pass)
obj = S3::getObject(obj, auth)

更新 私は自分の質問に対する解決策を発見しました。下記参照。

4

1 に答える 1

1

この質問をした最初の理由は、適切なAuthorization ダイジェスト ヘッダーを生成するためにグローバル アクセスとセキュリティ キーを使用する必要があるという前提で作業していたためです。

これはそうではありません。

Amazon の IAM を使用して、認証時に使用する新しいキー ペアを作成できます。手順は次のとおりです。

  • IAM で新しいグループを作成する
  • グループのポリシーを、このグループ内のユーザーに許可するアクセス権に設定します。私の場合、S3 Read-Only ポリシー テンプレートを選択しました。
  • 新しいユーザーを作成し、このグループに入れます

新しいユーザーを作成すると、そのユーザーに固有の新しいシークレット/アクセス キーが生成されます。このペアを使用して、S3 トランザクションを認証できます。

余談ですが、バケット固有のアクセス許可をいじる必要はありません。私の場合、バケットのアクセス許可が設定されておらず (認証されたユーザーでさえありません)、問題なく動作します。

于 2013-01-24T21:27:53.100 に答える