こんばんは、小寺です。
検証用のOrganizationsを一度削除したいなーと思っていたのですが、Organizationsのサービスから「無効化」が失敗するエラーが発生したので、解決方法を簡単にまとめておきました。
前提条件
1) 「Organizations」の「サービス」を無効化したい。
2) サービスは一度、他のOrganization内のLinkedアカウントに権限を委譲していた
2) の委任を忘れていて、マネジメントコンソールから無効化できないので他の方法を確認してみました。
AWS CLIでOrganizationsの管理者の委任を操作する
まずはどのサービスと連携しているかを確認します。
aws organizations list-delegated-services-for-account
実行してみます。 $ aws organizations list-delegated-services-for-account --account-id XXXXXXXXXXXXXXXX
{
"DelegatedServices": [
{
"ServicePrincipal": "securitylake.amazonaws.com",
"DelegationEnabledDate": "2022-12-25T04:43:05.693000+00:00"
}
]
}
$
organizations::ListDelegatedServicesForAccount APIを呼び出すと、連携しているサービスとその有効日を確認できます。
ここでは委任されていたのは、1つのサービス「Security Lake」のみだったので委任を解除するため以下を実行します。
aws organizations deregister-delegated-administrator --account-id XXXXXXXXXXX --service-principal 実際のサービス名
$ aws organizations deregister-delegated-administrator --account-id XXXXXXXXX --service-principal securitylake.amazonaws.com
無事に委任の解除がされ、サービス無効化もできることが確認できました。
AWS CLIでOrganizationsのサービス連携を操作する
サービス連携を有効化するには、有効化したいサービスを対象にorganizations::EnableAWSServiceAccess APIで操作を行います。
aws organizations list-aws-service-access-for-organization
実行してみます。ここでは何も連携していない状態なので、以下の結果が返ってきます。 $ aws organizations list-aws-service-access-for-organization
{
"EnabledServicePrincipals": []
}
$
次にAccessAnalyzerを有効化してみます。以下で実行可能です。 aws organizations enable-aws-service-access --service-principal サービス名
$ aws organizations enable-aws-service-access --service-principal access-analyzer.amazonaws.com
$ aws organizations list-aws-service-access-for-organization
{
"EnabledServicePrincipals": [
{
"ServicePrincipal": "access-analyzer.amazonaws.com",
"DateEnabled": "2024-01-14T11:02:42.649000+00:00"
}
]
}
$
有効化が確認できました。
次に organizations::DisableAWSServiceAccess APIを使い aws organizations disable-aws-service-access –service-principalサービス名で無効化してみます。
$ aws organizations disable-aws-service-access --service-principal access-analyzer.amazonaws.com
$ aws organizations list-aws-service-access-for-organization
{
"EnabledServicePrincipals": []
}
$
マネジメントコンソールでも「有効化」「無効化」は「Organizations」のサービスから操作は可能です。一度、委任した内容の取り消しはCLIから操作になるようだったので、ナレッジとして公開させていただきます!