はじめに
あまりユースケースとしてないとは思うのですが、OrganizationsコンソールでFirewall Managerサービスを有効化し、委任管理者アカウントを設定している環境で、何らかの理由でサービス無効化する場合、コンソールからサービス無効化ができなかったので手順を書いておきます。
事象
Firewall Managerの委任管理者の設定を削除し、OrganizationアカウントのFirewall Managerコンソールで「No administrator set」となっていることを確認後、OrganizationのFirewall Managerサービスを無効化しようとしたところ、以下のエラーが発生した。
原因
無効化できなかった理由としては、コンソール上からは委任管理者がないように見えていましたが、設定として委任管理者が残っていたことが原因のようでした。
作業前設定
- OrganizationアカウントでFirewall Managerサービスを有効化済み
- OrganizationアカウントのFirewall Managerコンソールから委任管理者アカウントを設定済み
- 委任管理者アカウント側でポリシーを作成し、Organization配下のアカウントにリソース共有済み
作業内容
委任管理者アカウント側
最初に委任管理者アカウント上のFirewall Managerコンソールから、管理者アカウントの設定を削除します。
- Firewall ManagerコンソールのSettingsから管理者アカウントをRevokeする
<キャプチャ取り忘れました>
Organizationアカウント側
その後、OrganizationアカウントのCloudShellで以下のコマンドを実行します。
3つ目のコマンドの実行結果の「DelegatedAdministrators」に何も入っていなければ正常に実行されています。
実行コマンド
$ aws organizations list-delegated-administrators --service-principal "fms.amazonaws.com"
$ aws organizations deregister-delegated-administrator --account-id <1つ目のコマンドで確認したアカウントID> --service-principal "fms.amazonaws.com"
$ aws organizations list-delegated-administrators --service-principal "fms.amazonaws.com"
上記コマンドが正常に実行できていれば、OrganizationコンソールからFirewall Managerサービスを無効化ができるようになっています。
おわりに
普段Organizationを触る機会は少ないので良い経験になりました。