SAA学習-IAM-AWS Oraganizationsの内容と基本的な機能や役割
今回のテーマ:AWS Oraganizationsの内容と基本的な機能や役割
AWS Organizationsとは
複数のAWSアカウントを利用している場合、統合管理をすることが可能です。
また、IAMのアクセス管理を大きな組織で実施できるマネージドサービスとなります。
IAMとOrganizationの関係図は以下のようになります。
AWS Organizationsで実施できる項目
- 複数アカウントの一元管理:AWSアカウントをグループ化しポリシーを適用することによって一元的に管理
- 新規アカウント作成の自動化:コンソール/SDK/CLIでAWSアカウントを新規作成し、作成内容のログを管理
- 一括請求:複数AWSアカウントの請求を一括化
アカウントの設定
AWSアカウントのマスターアカウントを選定し、メンバーアカウントとしてほかのAWSアカウントを登録します。
仕組み
組織単位(OU)を構成し、マスターアカウントがメンバーアカウントを管理します。
例: 情報システム部(マスターアカウント所持)-広告宣伝部(メンバーアカウント)
機能セット
支払い一括代行(Consolidated Billing Only)とアカウントの全体管理(All Feature)方式のどちらかを選択します。
- Consolidated Billing Only:支払い代行のみを実施
- All Feature:企業内の複数アカウントを統制したい場合に選択
ボリュームディスカウントを統合するため、Consolidated Billing Onlyの方がコストメリットがあり得えます。
例:アカウントAでは一律請求。アカウントBではオンデマンドで対応
SCP(サービスコントロールポリシー)
組織単位(OU)内のメンバーアカウントに対し権限境界を設定します。
設定概要
1.マスターアカウントの作成
2.他のAWSアカウントをメンバーアカウントに組み込む
3.組織単位を作成
4.サービスコントロールポリシー(SCP)を設定する
1.マスターアカウントの作成
- 組織の作成をクリック
初期ではログインしているAWSアカウントをマスターアカウントとなるため、マスターアカウントとしたいAWSアカウントで作業するとよいです。
2.他のAWSアカウントをメンバーアカウントに組み込む
- マスターアカウントに★が付与されたのを確認し、メンバーアカウントを追加するためにアカウント追加をクリック
- アカウントの招待をクリック
- 詳細するアカウントのメールアドレスかAWSアカウントIDを記入後、招待をクリック
- 招待されたAWSアカウントのメールアドレス先に確認メールがあるのでそちらを確認
※Webメールの場合ですが別のアカウントを登録する際は、
違うブラウザを起動した後でmailのリンクにあるリンクをクリック
- 招待された側でログインすると確認内容が表示されるため承認をクリック
- マスターアカウント側で登録されていることを確認
3.組織単位を作成
- アカウントの整理タグをクリック
AWS Organizationsで関連しているAWSアカウントの一覧と組織が表示されてます。
- 新規組織単位をクリックし、組織単位の名前を記入後に組織単位の作成をクリック
- 作成した組織単位に関連させるため、移動させたいアカウントを選択し移動をクリック
- 移動した後の組織単位が移動されていることを確認
最上位がRootで後は組織単位に分割しAWSアカウントを所属対応となります。
4.サービスコントロールポリシー(SCP)を設定する
- ポリシーのタグをクリック
サービスコントロールポリシーとタグポリシーを設定するのが多いですが、機能拡張によりAIサービスオプトアウトポリシーとバックアップポリシーが拡張されております。
- ポリシーの作成をクリック
cf)サービスアクセスコントロール(SCP)の設定項目
要素 | 目的 | サポートされる設定 |
---|---|---|
バージョン | ポリシーの処理に使用する言語構文ルールを指定 | Allow,Deny |
Statement | ポリシー要素のコンテナとして機能 SCPには複数のステートメントを含むことができる |
Allow,Deny |
Statement ID | ステートメントへの名称を付ける | Allow,Deny |
Effect | SCPステートメントがプリンシパルア及びアカウント内のルートアクセスを許可/拒否を定義 | Allow,Deny |
アクション | SCPが許可/姜妃するAWSサービス/アクションを指定 | Allow,Deny |
NotAction | SCPが除外されるAWSサービス/アクションを指定 | Deny |
リソース | SCPが適用されるAWSリソースを指定 | Deny |
条件 | ステートメントを実行するタイミングを指定 | Deny |
例:
開発部門でEC2の削除を拒否し申請しマスターアカウントを部門で削除を許可する。
今回はEC2の全操作を在宅の組織単位へ所属しているアカウントに対し拒否の設定を有効化にします。
- 実際のポリシー作成する際はポリシー名を記入します。
- アカウントとして制限したいAWSサービスを決めます。
- サービスでEC2と検索しクリック
- アクションでAll actionsをクリック
- リソースを追加をクリック
- AWSサービス名と[Resource type]を指定しリソースの追加をクリック
- 条件を追加をクリック
設定したJSONファイルがこちら
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Deny", "Action": [ "ec2:*" ], "Resource": [ "*" ], "Condition": { "DateEquals": { "aws:CurrentTime": [] } } } ] }
- この状態でポリシーの作成をクリック
- 新しいSCPが作成できてるのを確認
- 作成したSCPを組織単位に付与するため、アカウントの整理タグをクリック
- 今回は在宅の組織単位に対し、developerのポリシーを適用(アタッチ)します。
- 適用(アタッチ)したいポリシーをクリック
- デフォルトでFullAWSAccessが有効化されているため、制限する場合はFullAWSAccessのSCPを解除(デタッチ)をクリック
- 実際の確認
今回のテーマは以上です。