You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform创建SageMaker项目报产品不存在或访问被拒绝

报错根因

你收到的ValidationException: Product prod-xxxxxxxxxxxx does not exist or access was denied报错,和产品实际是否存在无关,本质是SageMaker预置Service Catalog产品时的权限链路不通,或Terraform配置缺失必填参数。

修复配置步骤
  • 配置Portfolio信任与访问权限
    找到目标产品所属的Service Catalog Portfolio,首先将SageMaker服务添加为受信任访问主体,再给执行Terraform操作的IAM身份(用户/角色)授予该Portfolio的访问权限,至少要包含servicecatalog:DescribeProduct、servicecatalog:ProvisionProduct、servicecatalog:ListLaunchPaths三个操作的权限,确保调用方可以正常查询产品信息、枚举启动路径。
  • 配置产品启动约束
    必须为目标产品在所属Portfolio下添加启动约束,绑定一个具备SageMaker项目资源创建、Service Catalog产品预置权限的IAM角色,角色信任策略需要允许servicecatalog.amazonaws.com服务代入。这是SageMaker对接自定义项目模板的强制要求,未配置启动约束时SageMaker无法完成产品预置操作。
  • 补全Terraform配置必填参数
    你当前使用的配置缺失了必填的产品版本、启动路径参数,会直接触发校验报错。补全后的参考配置如下:
    resource "aws_sagemaker_project" "test-project" {
      project_name        = "test-project"
    
      service_catalog_provisioning_details {
        product_id               = "prod-xxxxxxxxxxxx"
        # 替换为目标产品对应可用版本的ID,可在Service Catalog产品详情页查询
        provisioning_artifact_id = "pa-xxxxxxxxxxxx"
        # 替换为产品对应的启动路径ID,可通过AWS CLI list-launch-paths命令查询
        path_id                  = "lpv-xxxxxxxxxxxx"
      }
    }
    
排查验证技巧

配置完成后,先使用执行Terraform的IAM身份调用AWS CLI执行aws servicecatalog describe-product --id prod-xxxxxxxxxxxx:

  • 如果CLI调用返回权限错误,优先修复IAM身份的Service Catalog权限
  • 如果CLI可以正常返回产品详情,再检查启动约束绑定的角色权限是否充足、配置里填写的provisioning_artifact_id、path_id是否和产品实际信息匹配

你提到的为产品配置启动约束、为终端用户授予对应Portfolio访问权限的操作是必须的,属于自定义SageMaker项目模板的标准前置配置,缺失任意一项都会触发本次遇到的访问报错。

内容的提问来源于stack exchange,提问作者awscoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 22:06:13