AWS Organizations SCPで許可ポリシーの設定をし継承の関係を確認する
2021/08/07
ユーザーガイドのサービスコントロールポリシーの例にはDeny(拒否)ばっかりでAllow(許可)の例がないので、一応試しておきます。
SCP 構文にも記載があるように、Allow(許可)では、NotAction、Conditionが使えません。
Resourceも”*”のみです。
これに違反すると保存時に「The provided policy document does not meet the requirements of the specified policy type.」となりました。
## 環境
root->sandbox->Sandbox-nestに以下のSCPをアタッチしました。
この検証でSCPはEC2, S3, IAMを許可したAllowTestというSCPを作成しました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "EC2:*", "S3:*", "IAM:*" ], "Resource": "*" } ] } |
目次
OUのSCP継承を確認する
rootにはすべてを許可するFullAWSAccessというAWS管理SCPがアタッチされています。
配下のOUに継承されています。
|
1 2 3 4 5 6 7 8 9 10 11 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" } ] } |
sandboxには、IAMだけを許可するIAMFullをアタッチして、Sandbox-nestに継承しています。
|
1 2 3 4 5 6 7 8 9 10 11 12 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": "IAM:*", "Resource": "*" } ] } |
Sandbox-nestに上記のAllowTestをアタッチして、sakenamidaアカウントを子として登録しています。
sakenamidaアカウントのIAMロールOrgRoleにはAWS管理ポリシーAdministraotrAccessを設定しています。
スイッチロールしてsakenamidaアカウントにクロスアカウントアクセスしてみます。
IAM以外はすべて拒否されました。
sandboxからの継承により、配下のOUではIAMしか許可されなくなったしまったのですね。
ありそうな継承を確認する
継承はどんどん権限が狭くなるほうが実際にありそうですね。
このような構成に変えました。
sandboxにアタッチしたIAM-S3-EC2-RDSポリシーは名前どおり、IAM, S3, EC2, RDSにフルアクセス権限を追加しました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "EC2:*", "S3:*", "IAM:*", "RDS:*", ], "Resource": "*" } ] } |
下にいくほど権限が絞り込まれていきます。
IAMロールは面倒なのでAdministrtorAccessのままです。
スイッチロールしてsakenamidaアカウントにクロスアカウントアクセスしてみます。
S3にアクセスできました。
RDSにはアクセスできませんでした。
想定どおりでした。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
EC2 Global Viewで不要なインスタンスを見つけて4つほど終了しました
EC2 Global Viewという機能がリリースされました。 EC2コンソール …
-
-
AWS Toolkit for Eclipseで「Error Message: Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region.」
AWS Toolkit for Eclipseをセットアップ(2021年版)の環 …
-
-
GoogleフォームからAPI Gatewayで作成したREST APIにPOSTリクエストする
「API GatewayからLambdaを介さずにSNSトピックへ送信」の続きで …
-
-
AWS Storage Gatewayボリュームゲートウェイを作成してWindowsから使用
ボリュームゲートウェイの作成 Storage Gateway作成メニューからボリ …
-
-
AWS Protonの管理者ガイドとユーザーガイドのチュートリアル
AWS Proton管理者ガイドのAWS Management Console …
-
-
特定AWSアカウント特定リージョンのCloudFormationスタックを削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のCloudFormationスタ …
-
-
AWS CLIを使用せずにCodeCommitへhttpsで接続する
AWS CLIやアクセスキーID、シークレットアクセスキーなどを開発環境にセット …
-
-
AWS BackupでRDSスナップショットをクロスリージョンコピー
クロスリージョンでコピーしたい対象と理由 このブログはブログのアーキテクチャをコ …
-
-
AWS Certificate Manager(ACM)メール検証をDNS検証の証明書に差し替えました
ブログの証明書 このブログの証明書の有効期限があと1週間です。 証明書はAWS …
-
-
AWS Personal Health Dashboardのパブリックイベントの記録
東京リージョンで発生したので、スクリーンショットを取っておいたので記録しておきま …









