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

使用boto3创建SageMaker模型时如何指定证书颁发机构

问题描述

我们需要基于私有Artifactory中存储的容器镜像,使用boto3创建SageMaker模型,目前已经参考官方文档完成了基础访问凭证配置,但始终找不到传入自定义证书颁发机构(CA)、或配置忽略SSL校验的入口。

使用的模型创建代码如下:

import boto3

client = boto3.client('sagemaker')

response = client.create_model(
    ModelName='model-name',
    PrimaryContainer={
        'Image': 'local-repo.my_artifactory_endpoint/train:latest',
        'ImageConfig': {
            'RepositoryAccessMode': 'Vpc',
            
        },
        'Environment': {
            'SAGEMAKER_PROGRAM': 'train.py',
            "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code",
            "SAGEMAKER_CONTAINER_LOG_LEVEL": "20",
            "SAGEMAKER_REGION": <my-region>,
            "MMS_DEFAULT_RESPONSE_TIMEOUT": "500"
        }
    },
    ExecutionRoleArn=<my-role>,
    VpcConfig={
        'SecurityGroupIds': [
            ...
        ],
        'Subnets': [
            ...
        ]
    },
    EnableNetworkIsolation=False
)

模型创建完成后,基于该模型创建端点时触发如下报错:

Attempt to pull model image local-repo.my_artifactory_endpoint/train:latest failed due to error constructing client to call registry: constructing authentication challenge manager: Get "https://local-repo.my_artifactory_endpoint/v2/": x509: certificate signed by unknown authority.

解决方案

SageMaker的create_model接口本身没有提供传入自定义CA证书、或关闭SSL证书校验的参数,不用在API配置项里浪费时间找相关字段。这个报错的本质是SageMaker托管的镜像拉取组件,默认只信任公网根证书库,你私有Artifactory使用的自签/私有CA签发的证书不在信任列表中,可通过以下两种方式解决:

  • 方案1(生产环境推荐):替换Artifactory的服务端证书为公有可信CA签发证书
    给Artifactory绑定公网信任CA签发的域名证书(比如ACM公开证书、Let's Encrypt证书均可),确保证书链完整配置在Artifactory或其前置的负载均衡监听器上。只要SageMaker部署所在VPC能正常解析Artifactory域名、网络连通,不需要修改任何现有SageMaker创建代码,即可正常拉取镜像。

  • 方案2(内网合规场景):关联ACM私有CA到部署VPC
    如果合规要求必须使用私有证书,先把你内部的自定义CA证书导入到ACM私有CA服务,再将该私有CA关联到SageMaker模型部署所在的VPC。关联完成后,VPC内的AWS托管服务(包括SageMaker镜像拉取组件)会自动信任该私有CA签发的所有证书,同样不需要修改create_model的请求参数。

❌ 以下是验证过无效的方案,不用浪费时间测试:

  • 把自定义CA证书打包到模型镜像内:镜像拉取动作发生在镜像文件下载到主机之前,根本无法读取镜像内部存储的证书文件
  • 在VPC内的EC2实例上配置系统级CA信任:SageMaker镜像拉取逻辑运行在AWS托管的控制面组件上,和你VPC内自有的EC2实例信任存储完全隔离
  • 找API参数配置跳过SSL校验:官方从未开放过这个不安全的配置项,不存在相关字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:01:41