AWS Organizations SCPがリソースベースのポリシーには影響しないことを確認
2021/07/22
AWS Organizations SCPで許可ポリシーの設定をし継承の関係を確認するで設定したAWSアカウントsakenamidaで確認しました。
このAllowTestポリシーがアタッチされているOUにあるAWSアカウントです。
検証開始時点では、IAM, EC2, S3に対してフルアクセスの権限があります。
S3バケットポリシーでクロスアカウントアクセスしているロールにバケットとオブジェクトへのフルアクセスを設定したあとに、OUのSCPからS3フルアクセスを外します。
もう一つ、念のため、OUのSCPにS3 Denyのステートメントも追加して確認します。
目次
S3バケットポリシーの設定
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/OrgRole" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::bucketname/*", "arn:aws:s3:::bucketname" ] } ] } |
sakenamidaアカウントのS3バケットに上記のようなバケットポリシーを設定しました。
OrgRoleはスイッチロールしているIAMロールです。
OUのSCPからS3フルアクセスを外して確認
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "EC2:*", "IAM:*" ], "Resource": "*" } ] } |
OUのSCP AllowTestを上記のようにS3フルアクセスを外しました。
スイッチロールしてsakenamidaアカウントにクロスアカウントアクセスしました。
拒否されました。
arn:aws:iam::123456789012:role/OrgRoleは、対象アカウントのロールだったのでロールがSCPの影響を受けたということでしょうね。
組織外のアカウントユーザーをバケットポリシーで設定して確認してみました。
バケットにオブジェクトのアップロードなどできることが確認できました。
SCPはアカウント所有のバケットのバケットポリシーには影響しませんでした。
OUのSCPにS3 Denyのステートメントを追加して確認
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“EC2:“,
“IAM:”
],
“Resource”: “”
},
{
“Effect”: “Deny”,
“Action”: [
“S3:”
],
“Resource”: [
“arn:aws:s3:::bucketname/*”,
“arn:aws:s3:::bucketname”
]
}
]
}
OUのSCPに対象バケットへのS3アクションを拒否するステートメントを追加しました。
バケットにオブジェクトのアップロードなどできることが確認できました。
やはりSCPはアカウント所有のバケットのバケットポリシーには影響しませんでした。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
kintoneに登録されたアカウントの電話番号にGoogleカレンダーの予定をAmazon Pollyが読み上げてTwilioから電話でお知らせする(AWS Lambda Python)
Google Calendar Twilio Reminder Googleカレ …
-
-
AWS Launch WizardでMicrosoft IIS環境を構築してみました
AWS Launch Wizardを知っていますか? 私は知りませんでした。 A …
-
-
kintoneでEveryoneに権限が設定されているアプリをAWS Lambdaで一括チェックする
こないだ、kintone Cafeでユーザーが自由に作成している環境だと、どんな …
-
-
AWS Lambda(Python3.7)でPandocを実行する際にCSSもLayerから読み込む
Pandocで必要そうなオプションを確認しておく 先日の「AWS Lambda( …
-
-
Amazon Location Service入門ワークショップの前提環境準備
Amazon Location Service入門ワークショップの前提環境を構築 …
-
-
AWS CodeStarのプロジェクトテンプレートLambda+Pythonによって生成されるもの
勉強会のデモで、AWS CodeStarのプロジェクトテンプレートLambda+ …
-
-
ENAが有効なEC2インスタンスの帯域幅をiperf3で確認してみた
同じ Amazon VPC 内で Amazon EC2 Linux インスタンス …
-
-
AWS Lambda(Python3.7)でPandocを実行する
昨日まで(AWS Batch) 昨日までは、Pandocを実行して、S3バケット …
-
-
Systems Manager セッションマネージャアクセスのCloud9(SSHなし)
作成画面 いつからできるようになっていたのか気づいてなかったのですが、Cloud …
-
-
DynamoDB IAMポリシーで特定属性だけを許可する
検証記録です。 対象テーブル 書籍のサンプルで作ったこちらです。 所属バンドの楽 …

