はじめに
ControlTowerでアカウントを作成しようとしたときにエラーが発生し、アカウントが作成できませんでした。その解決方法を備忘録として残します。
エラー内容
ControlTowerのAccount Factoryでアカウントを作ろうとしたとき、下記のようなエラー出る時があります。
No launch paths found for resource: prod-XXXXXX
上記のエラーメッセージは、AWS Service Catalogでユーザーがプロダクトをプロビジョニングする際に、適切な「ローンチパス」(Launch Path)が見つからない場合に発生します。
※Account Factory は、AWS アカウントのプロビジョニング・登録・更新の際に、アカウントのカスタマイズを可能にする AWS Control Tower の機能です。
原因
このエラーは、ユーザーまたはグループが該当するポートフォリオに対するアクセス権限を持っていないために起こります。
今回のエラー発生時の状況
組織管理アカウントのService_Catalog_testグループ内のユーザでログインしたが、グループにはAdministratorの権限がついていたのにも関わらず、エラーが発生
解決方法
ポートフォリオへのアクセスのアクセス権が付与されているかService Catarolog
でアカウントを作成する権限があるか確認しに行きます。
1つ目:権限を許可するユーザを指定しているか確認する
2つ目:権限を許可するグループが指定されているか確認する
3つ目:AWSReservedSSO_AWSAdministratorAccessがセットされているか確認する
解決前の状況
IAMプリンシパルとプリンシパル名にポートフォリオへのアクセス権がない
解決後の状況
下記の対象に対してポートフォリオへのアクセス権限を付与している状態。今回は例として、下記に権限を与えておりますが、例えば特定のIAMユーザのみに権限を付与したい場合はIAMユーザのみしてしてあげればよいです。
- 「CreateAccount」というIAMユーザ
- 「Service_catalog_test」というユーザグループ
- 「AWSReservedSSO_AdministratorAccess」を指定しIICユーザへ権限を付与
エラー解消
備考
ロール名:AWSReservedSSO_AdministratorAccess
AWS Single Sign-On (AWS SSO) によって自動的に作成される予約済みのIAMロールです。このロールは、AWS SSOを通じて認証されたユーザーに管理者レベルのアクセス権限を付与するために使用されます。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::123456789012:saml-provider/AWSSSO_617777cea0256256_DO_NOT_DELETE"
},
"Action": [
"sts:AssumeRoleWithSAML",
"sts:TagSession"
],
"Condition": {
"StringEquals": {
"SAML:aud": "https://signin.aws.amazon.com/saml"
}
}
}
]
}