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認定クラウドプラクティショナー 改訂第2版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
特定のIAMロールをLambda(Python)で削除する
やりたいこと 特定アカウントの特定の名前が含まれるIAMロールをまとめて削除した …
-
AWS LambdaをVPC設定したときに「The provided execution role does not have permissions to call CreateNetworkInterface on EC2」
The provided execution role does not hav …
-
AWS Systems Manager Run CommandでEC2 Linuxのユーザーとカレントディレクトリを確認
AWS Systems Manager Run CommandからEC2 Lin …
-
iPad ProのWorking CopyでAWS CodeCommitのリポジトリを使う
iPad Proを導入しましたので、原稿執筆や校正でフル活用しようと思いまして。 …
-
LINE BOT AWARDS 2017に応募しました
LINEの友達追加QRです。 動作のご確認にどうぞ LINE BOT AWARD …
-
EC2 Auto ScalingカスタムメトリクスのモニタリングにCloudWatch検索式が便利でした
EC2 Auto Scalingで起動したインスタンスのカスタムメトリクス この …
-
AWS WAF Web ACLとルールをv1(Classic)からv2に自動移行しました
新しいものは、課題が解決されていたり、機能追加されたりするのでいいものです。 長 …
-
WordPress W3 Total Cache のDatabaseCacheをAmazon ElastiCacheのmemcachedに格納する
このブログのアーキテクチャは現在こちらです。 データベースは、Amazon Au …
-
Amazon Linux 2023、T4Gインスタンス、PHP8にWordPressを移行しました
ブログをAmazon Linux 2からAmazon Linux 2023に移行 …
-
AWSルートユーザーのパスワード復旧
AWSルートユーザーのパスワード最設定は、メールアドレスだけでいいのですね。 M …