ヤマムギ

growing hard days.

*

Amazon S3アクセスポイント経由からアクション可能なポリシー

      2022/07/02

S3アクセスポイントを使うことで、複雑で長いバケットポリシーを避け、アクセスポイントごとにシンプルなポリシーを設定することができます。

S3本体のバケットポリシーでは、アクセスポイント経由のリクエストを許可する必要があります。
その際に、Conditionのs3:DataAccessPointAccountを使用することができます。

S3バケット本体のバケットポリシー

アクセスポイントを使用していない場合、メンテナンスのために特定のIAMロールを引き受けたIAMユーザーのみが許可された場合、バケットとオブジェクトにアクセスできるようにDenyも設定しています。

S3アクセスポイントのポリシー

TestRoleを作成して、AWS管理ポリシーAWSCloudShellFullAccessをアタッチして、CloudShellからCLIで操作しました。
ですので、Principalはロールです。

実行

test-role-wtx56dzs3iz4uuifz5odcphhfzqosuse1a-s3aliasはS3アクセスポイント作成によって生成されたエイリアスで、バケット名の代わりに使用できました。
PutObjectが成功しました。

バケットへの直接リクエストは失敗しました。
想定通りの動作でした。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

  関連記事

AWSエンコードされたエラーメッセージをデコードするコマンドのメモ

Stdout: couldn’t create ENI: Unaut …

EC2インスタンスの起動で、–cli-input-jsonと–cli-input-yamlを使いました

AWS CloudShellから実行しました。 JSON実行 [crayon-6 …

東京リージョンでAWS Control Towerランディングゾーンをセットアップする

AWS Control Towerの最初の画面で[ランディングゾーンの設定]を押 …

CloudWatchエンドポイントがIPv6に対応したのでCloudWatchエージェントからカスタムメトリクスを送信しました

追記 翌日のブログで、CloudWatchエージェントのアップデートにより、Cl …

Lambda関数からAWS Systems Managerパラメータストアの値を取得して更新する

Lambda関数で自分自身の環境変数を更新する だと、Lambdaのエイリアスと …

X-Ray SDK for Python でライブラリへのパッチ適用

boto3でのAWS呼び出しとrequestsでの外部API呼び出しにパッチ適用 …

EC2のAMIとRDSのスナップショットを他のAWSアカウントに共有してブログサイトをAWSアカウント間で引っ越す

当ブログで使用しているEC2とRDSを環境の整理のため、他のAWSアカウントへ引 …

AWS CloudShellでboto3(SDK for Python)使うならpython3

本の執筆をしていて、ちょっとAWS CLIやSDKのふるまいを確認したいことがあ …

Amazon Pinpoint Workshopの1(Eメール)

Amazon Pinpoint Workshop ここ数年、AWS re:Inv …

Amazon Cognito User Poolsのデモをしてみました

AWS Summit 2016 Tokyoのアップデートおっかけ会をJAWS-U …