かけだしいんふら

いんふら女子の学習めも。

AWS Organizations入門 SCPを使ってみた

やりたいこと

・2つの既存AWSアカウントに対して、AWS OrganizationsのSCPを使って管理できるようにしたい。

・OUに属するアカウントは、EC2サービスアクションのみ許可。つまりEC2以外の他サービスは触れないようにしたい。

やってみる

1. AWS Organizationsを起動

ルートアカウント(管理アカウント)で、AWS Organizationsを作成する。

構成が表示される。

2. OUを作成

Rootにチェックを入れて、アクションから組織単位>新規作成を選択する。


OU名をつけて作成ボタンぽち。

 

いざOU設計することになった場合、どのように考えればいいかな~と思っていたところ、以下が参考になりそうでした。

AWS Organizationsの設計に必須なOU設計のベストプラクティスを学ぶ | DevelopersIO

 

作成すると構成が表示される。

3. 別のAWSアカウントをOUに追加


今回は既存アカウントを追加。

まずは、ルートアカウント側のメールアドレスに認証メールを送信。

認証後、やっとOUに追加したいアカウントに招待メールを送信。

プロセスを完了してねとあるので、OUに追加したいアカウントにログインします。

OUに追加したいアカウントにログイン後、Organizations>招待にいくと、

招待を承認するか拒否するか選択する画面が表示されたので、承認するをぽち。

 

管理アカウントにログインして確認すると、OUに追加したいアカウントが見えるようになりました。

OUに参加させるため、対象アカウントにチェックを入れ、アクション>移動をぽち。

移動先にチェックを入れて、「AWSアカウントを移動」をぽち

OUに参加させることができました。

 

4.SCPを有効化

左ペインからポリシーを選択すると、デフォルトでは全ポリシー設定が無効になっているので、有効化します。

有効化直後は「FullAWSAccess」が存在します。ポリシー名をクリックして、もう少し確認します。

アタッチ先を見ると、デフォルトは全OUにアタッチされていました。

SCPを作成してアタッチするだけでは、この「FullAWSAccess」が効果を発揮してしまうため、後ほど「FullAWSAccess」はデタッチします。

ちなみに、SCP継承の詳細については、以下がとてもわかりやすかったです。

[AWS Organizations] SCP(サービスコントロールポリシー)の継承の仕組みを学ぼう | DevelopersIO

 

5.SCPを作成

試しに、EC2アクションのみ許可するポリシーを作成しました。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Statement1",
      "Effect": "Allow",
      "Action": [
        "ec2:*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

 

6.SCPをOUにアタッチ

作成したポリシーにチェックを入れて、アクション>ポリシーのアタッチをぽち。

アタッチ対象を選択するよう求められるので、

対象OUにチェックを入れて「ポリシーのアタッチ」をぽち。

 

ポリシー画面で、ターゲットタブを確認するとアタッチしたOUが確認できました。

7.SCP「FullAWSAccess」をデタッチ

ポリシー画面から「FullAWSAccess」を選択しデタッチさせたいOUにチェックを入れて「デタッチ」をぽち。

「デタッチ」をぽち。

「FullAWSAccess」のターゲットから、選択したOUが表示されなくなったので、動作を確認します。

8.動作確認

OUに参加させたアカウントにログインします。

EC2画面は表示できますが、一例でS3画面は表示許可がないことが確認できました。

<EC2画面>

<S3画面>

 


以上!

 

参考リンク

Workshop Studio

AWS OrganizationsのSCP(サービスコントロールポリシー)を理解する | DevelopersIO