バケットの読み取りアクセス権を持つユーザーがいます。秘密鍵を使用せずにユーザーの資格情報で認証する方法はありますか?
(擬似コード)のようなもの:
auth = new S3Authentication(user, pass)
obj = S3::getObject(obj, auth)
更新 私は自分の質問に対する解決策を発見しました。下記参照。
バケットの読み取りアクセス権を持つユーザーがいます。秘密鍵を使用せずにユーザーの資格情報で認証する方法はありますか?
(擬似コード)のようなもの:
auth = new S3Authentication(user, pass)
obj = S3::getObject(obj, auth)
更新 私は自分の質問に対する解決策を発見しました。下記参照。
この質問をした最初の理由は、適切なAuthorization ダイジェスト ヘッダーを生成するためにグローバル アクセスとセキュリティ キーを使用する必要があるという前提で作業していたためです。
これはそうではありません。
Amazon の IAM を使用して、認証時に使用する新しいキー ペアを作成できます。手順は次のとおりです。
新しいユーザーを作成すると、そのユーザーに固有の新しいシークレット/アクセス キーが生成されます。このペアを使用して、S3 トランザクションを認証できます。
余談ですが、バケット固有のアクセス許可をいじる必要はありません。私の場合、バケットのアクセス許可が設定されておらず (認証されたユーザーでさえありません)、問題なく動作します。