0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Muiti-AWS Accountのアクセス制限(AWS Organizations)

Posted at

AWS Organizations を利用したアカウント制限

想定対象読者

  • 複数のAWS Accountの制限について困っている方
    • アカウントの解約を勝手にされると困る
    • 組織から勝手に離脱をされると困る
    • サポートケースを勝手に起票されると困る
      ... etc

本稿で取り扱っている内容

:ok_woman_tone1: AWS Organizationsにおける SCP で制限

AWSのアカウント権限について

IAM でのセキュリティのベストプラクティスでも記載されていますが、
AWSにおける rootアカウント とは特権ユーザであり通常サービス制限はありません。
(AWSアカウント開設時登録したEメールアドレスでログインする場合)

ただし、AWS Organizationsでは rootアカウント に対して制限を掛けることが可能です。
一般的に、AWS Organizationsは一括請求の利用するケースでイメージをされる方が多いかと思います。

検証の前に

SCP定義

【禁止】組織から離脱とアカウント解約
  • denyModifyRoot.json
    • rootアカウント でAWS Organizationsから離脱
    • rootアカウント でアカウント解約
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "DenyLeaveOrg4Root",
      "Effect": "Deny",
      "Action": [
        "organizations:LeaveOrganization"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringLike": {
          "aws:PrincipalArn": [
            "arn:aws:iam::*:root"
          ]
        }
      }
    },
    {
      "Sid": "DenyModAct4Root",
      "Effect": "Deny",
      "Action": [
        "aws-portal:ModifyAccount"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringLike": {
          "aws:PrincipalArn": [
            "arn:aws:iam::*:root"
          ]
        }
      }
    }
  ]
}
【禁止】サポートへアクセス
  • denyRootAccessSupport.json
    • rootアカウントでサポートへアクセス
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "DenyActionsRoot",
      "Effect": "Deny",
      "Action": [
        "support:*"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringLike": {
          "aws:PrincipalArn": [
            "arn:aws:iam::*:root"
          ]
        }
      }
    }
  ]
}

検証

AWS Organizationsの設定

  • サービスコントロールポリシーを有効

AWS_Org_SCPs.png

  • サービスコントロールポリシーを定義

AWS_Org_SCPs_1.png

AWS Organizationsの階層に適用

ポリシーを「アタッチ」「デタッチ」をするだけであり、
画面上「デタッチ」と表示されている箇所は適用されている箇所です。

  • 【例】組織の離脱とアカウント解約を禁止する組織(OU)

AWS_Org_1.png

【禁止】組織から離脱とアカウント解約
  • Organizationsサービスメニューに移動

Org_1.png

  • 組織を離脱

Org_2.png

※ 本検証以外で上記のオペレーションを行っている方は自己責任でお願いいたします

  • 権限不足が表示され組織の離脱を禁止

Org_3.png

  • アカウント解約のチェックボックス

Mod_Act.png

  • ポップアップの表示

Mod_Act_1.png

※ 本検証以外で上記のオペレーションを行っている方は自己責任でお願いいたします

  • 画面上部に権限不足のエラーが表示され解約できない

Mod_Act_2.png

【禁止】サポートへアクセス
  • サポートページの上部にエラーが表示

Sup.png

まとめ

AWS Organizationsを利用すると、例えrootアカウントでも操作をできないよう制限できることが確認できました。

また、今回のようにrootアカウントで行うことが一般的なアカウント解約や組織の離脱といった、
オペレーションについても制限することが可能です。

今回はあくまでも一例であり、なかなかニッチな利用方法だとは思いますが、
複数のアカウント運用でお困りの方で参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?