AWS IAM Identity Center のアクセス許可セットにおいて ReadOnlyAccess に AWS Control Tower の読み取り権限を追加する

2023.07.22

AWS マネージドポリシー(AWS 管理ポリシー)の ReadOnlyAccess には AWS Control Tower の読み取り権限がありません。そこで、本ブログでは AWS IAM Identity Center のアクセス許可セットにおいて、インラインポリシーを用いて ReadOnlyAccess に AWS Control Tower の読み取り権限を追加してみます。

AWS Control Tower の読み取り権限を追加

AWS マネージドポリシーの ReadOnlyAccess を用いて AWS Control Tower にアクセスすると下記画像のように拒否されます。

そこで、AWS IAM Identity Center のアクセス許可セットにおいて、インラインポリシーとして次のポリシーを追加することで AWS Control Tower の読み取り権限を追加できます。

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"controltower:List*",
				"controltower:Describe*",
				"controltower:Get*"
			],
			"Resource": "*"
		}
	]
}


アクセス許可セットの設定例です。AWS マネージドポリシーで ReadOnlyAccess を選択するのに加えて、インラインポリシー に AWS Control Tower の読み取り権限を設定します。

上記設定のアクセス許可セットを関連付けたユーザーでは AWS Control Tower へのアクセスができました。

Control Tower のアクション一覧の確認方法

AWS Control Tower のアクション一覧はユーザーガイドの次のページで記載されています。

AWS Control Tower のアクション、リソース、および条件キー - サービス認可リファレンス


上記ページのリストでアクセスレベルが「リスト」「読み取り」であるアクションをワイルドカードで指定したポリシーがインラインポリシーで設定した下記内容となります。

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"controltower:List*",
				"controltower:Describe*",
				"controltower:Get*"
			],
			"Resource": "*"
		}
	]
}


なお、アクセスレベル「読み取り」の中で 1 点だけ上記ポリシーに当てはまらないPerformPreLaunchChecks アクションがあるのですが、ランディングゾーン設定の更新前の起動前チェックに関する権限のようでしたので、通常の読み取り作業時には不要と思い、今回は含めませんでした。

さいごに

AWS Control Tower 環境では、AWS IAM Identity Center を利用することが多く、AWS Control Tower の読み取り権限がほしいことが多かったので設定してみました。

以前にも同様のブログが公開されていますが、AWS Single Sign-On から AWS IAM Identity Center に名称変更され、設定項目名も変わっていたため、改めて書きました。

以上、このブログがどなたかのご参考になれば幸いです。