使用Terraform部署AWS Service Catalog产品提示无启动路径问题咨询
No launch paths found报错的本质是执行Terraform的IAM身份缺少对应Service Catalog产品的启动授权,该授权为Service Catalog独立管控规则,与IAM全局管理员权限无关,可按照以下步骤排查解决:
- 检查Portfolio授权:找到目标产品关联的Portfolio,确认你执行Terraform时使用的BUILDER账户IAM角色,已经被添加到该Portfolio的「用户、组和角色」授权列表中,且已分配启动权限。注意手动部署Console使用的身份和Terraform执行角色通常不是同一个,常见问题是仅给个人用户加了授权,未给自动化角色授权。
- 跨账户场景额外检查:如果你的Service Catalog Portfolio属于其他AWS账户,首先确认Portfolio已共享到你的BUILDER账户且已被接受,其次需要在BUILDER账户的共享Portfolio中,给执行Terraform的IAM角色单独分配启动权限。
- 补全Terraform参数:当一个产品关联多个Portfolio时,Terraform无法自动识别启动路径,需要显式指定
launch_path_id参数。你可以通过以下AWS CLI命令查询对应产品的启动路径ID:
aws servicecatalog list-launch-paths --product-id prod-mirxxxxx --query 'LaunchPathSummaries[*].Id'
将查询到的ID添加到资源配置中即可,示例如下:
resource "aws_servicecatalog_provisioned_product" "network" { name = "reporting" product_id = "prod-mirxxxxx" provisioning_artifact_id = "pa-mirxxxxx" launch_path_id = "替换为你查询到的启动路径ID" provisioning_parameters { key = "AllowFrom" value = "0.0.0.0/0" } }
- 检查启动约束:如果Portfolio配置了启动路径约束,确认你使用的Terraform执行角色符合约束要求,或拥有扮演约束指定启动角色的权限。
内容的提问来源于stack exchange,提问作者skylxne_
相关产品推荐
相关产品推荐

