LoginSignup
3
0

More than 1 year has passed since last update.

AWS アカウントの OU 間移動を IAM ポリシーで制御する

Last updated at Posted at 2023-05-12

やりたいこと

  • AWS Organizations でメンバーアカウントを Organizational Unit (OU) 間で移動する権限を付与したい
  • 特定のアカウントや OU 間のみ移動可能とする

例えば意図しないアカウントの閉鎖やルートアカウントの操作などを Service Control Policy (SCP) で拒否しているとします。それらの操作が本当に必要になった際に当該 SCP が設定されていない OU にアカウントを移動し作業を行うようなケースを想定しています。

image.png

制御例

アカウントの移動を行うには MoveAccount アクションを許可する必要があります。以下のドキュメントに記載のとおり、ルート、OU、アカウントレベルの権限制御をサポートしています。

例えば前述の例で Prod OU と Suspended OU 間の移動を許可する場合は以下のようなポリシーになります。

{
    "Sid": "AllowMoveAccount",
    "Effect": "Allow",
    "Action": "organizations:MoveAccount",
    "Resource": [
        "arn:aws:organizations::123456789012:ou/o-yyyyyyyyyy/ou-xxxx-bbbbbbbb",
        "arn:aws:organizations::123456789012:ou/o-yyyyyyyyyy/ou-xxxx-dddddddd",
        "arn:aws:organizations::123456789012:account/o-yyyyyyyyyy/*"
    ]
}

注意点としては親 OU を Resource 句に指定しても、その親に紐づく子 OU は許可されません。許可する OU をすべて羅列する必要があります。

アカウント ID については上記の例では組織内の全アカウントを許可しています。アカウントを絞りたい場合は、許可リスト形式でアカウントをリストするか、以下のように拒否リストを追加して Deny することもできます。

{
    "Sid": "DenyMoveAccount",
    "Effect": "Deny",
    "Action": "organizations:MoveAccount",
    "Resource": [
        "arn:aws:organizations::123456789012:account/o-yyyyyyyyyy/222222222222"
    ]
},
{
    "Sid": "AllowMoveAccount",
    "Effect": "Allow",
    "Action": "organizations:MoveAccount",
    "Resource": [
        "arn:aws:organizations::123456789012:ou/o-yyyyyyyyyy/ou-xxxx-aaaaaaaa",
        "arn:aws:organizations::123456789012:ou/o-yyyyyyyyyy/ou-xxxx-bbbbbbbb",
        "arn:aws:organizations::123456789012:account/o-yyyyyyyyyy/*"
    ]
}

簡単ですが以上です。
参考になれば幸いです。

3
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
3
0