☁️くもをもくもくまなぶ

クラウドコンピューティングサービスの学んだことを中心につらつらと書いています

AWS Organizationsのメンバアカウント削除サービスアップデートを試した

2022-03-30のアップデート

なにがかわったのか

🎉管理アカウントからメンバアカウントを削除(解約)することが可能に🎉

  • これまで
    • AWSアカウントの解約を行う場合は、それぞれのrootユーザ(メールアドレス)でログインを行う必要がありました
  • これから
    • AWS Organizaitonsの管理アカウントから削除することが可能になりました

実際にメンバアカウントを作成して削除してみた

メールアドレス作成
  • エイリアス対応しているメールアドレス

{{< message_box color="danger" >}}
AWSの無料枠(1年間有効)はAWS Organizationsの管理アカウント単位で計算されますので、エイリアスを使って複数のアカウントを作っても同じOrganizationsに所属させると無料枠は適用されません。
{{< /message_box >}}

{{< message_box color="warning" >}}
AWSは、Gmailのエイリアスで別のメールアドレスとして認識しますが、他の利用するサービスによってはエイリアスを不可とする場合もあります。
{{< /message_box >}}

  • 専用のメーリングリスト

複数のGmailを作成してもよいですし、グループウェア(Gooogle Workspace, M365)があればメーリングリストは無料で作成可能です。

{{< message_box color="success" >}}
本日は後者で進めています
{{< /message_box >}}

アカウント作成
  • 管理アカウントからメンバアカウントを作成

メンバアカウントを新規で作成します。
新規作成時はRoot直下に作成されます。
今回は特定の組織(OU:Organization Unit)にのみSCPを適用します。(今回は02-PublicHandson)

Image in a image block
Image in a image block
Image in a image block
Image in a image block
アカウント削除
  • 除外(Remove)
    • 現在所属しているAWS Organizationsの組織から離脱させるときに利用
  • 移動(Move)
    • 現在所属しているAWS Organizationsの組織内で移動させるときに利用
  • 閉じる(Close)
    • メンバーアカウントを停止させるときに利用
Image in a image block
  • ポップアップが表示されチェックボックスとアカウントIDを入力
Image in a image block
  • 閉鎖要求が行われリソース削除処理が実行
Image in a image block
  • しばらくすると停止
Image in a image block

ユースケース

一つの組織内で利用する際にルートアカウントの基本的権限を剥奪

AWS Organizationsから新規でメンバーアカウントを作成する場合は、パスワードはAWSが自動で作成する64文字となります。

When you create an account, AWS Organizations initially assigns a long (64 characters), complex, randomly generated password to the root user. You can't retrieve this initial password. To access the account as the root user for the first time, you must go through the process for password recovery.

AWS OrganizationsのSCP

過去の記事
今回利用するSCP
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "DenyAllActionForRoot",
      "Effect": "Deny",
      "Action": [
        "*"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringLike": {
          "aws:PrincipalArn": [
            "arn:aws:iam::*:root"
          ]
        }
      }
    }
  ]
}
実際にやってみた
  • サンプルのAWS Organizations
Image in a image block
  • rootユーザでログインするためにパスワードリセット
Image in a image block
Image in a image block
Image in a image block

メールアドレスにパスワードリセット用のURLが送付されるのでアクセスしてリセットします。

Image in a image block
  • rootユーザでログイン
Image in a image block
  • rootユーザでAWS Organizationsから脱退
Image in a image block
  • rootユーザでEC2起動
Image in a image block
Image in a image block
  • rootユーザでRDS起動
Image in a image block
  • rootユーザでIAMアクセス
Image in a image block
  • rootユーザでAWS Account解約
Image in a image block

まとめ

AWS Organizationsのサービスアップデートを試してみました。
これまで個々のアカウントにrootログインして解約していた作業がかなり楽になりました。

また、SCPとの組み合わせで非常に制限が掛けやすくなりました。
CloudFormation StackSetsで特定のIAMユーザを作成するテンプレートを適用しつつ、
今回の実験したような制限をrootユーザに適用するとかなり管理者の心理的不安がなくなるのではないかと思います。

その後

30日以内はアクティブなメンバアカウントの10%は削除できないため、

私の場合、本日作成したアカウントの2つ目を削除しようとすると、

このようにエラーが表示されました。

Image in a image block
(追記)今回のSCPでも制限できない事項

パスワードリセットプロセスができたので、
今回のSCPでも限定できない機能はあるのかと確認しました。

Tasks and entities not restricted by SCPs