为SageMaker部署设置AWS身份验证

本文描述如何设置实例概要文件,以便进行部署MLflow模型到AWS SageMaker。对于具有与此处指定的IAM角色类似权限的AWS用户,可以使用访问密钥,但Databricks建议使用实例配置文件以授予集群部署到SageMaker的权限。

步骤1:创建AWS IAM角色并附加SageMaker权限策略

  1. 在AWS控制台中,转到服务。

  2. 单击角色选项卡。

  3. 点击创建角色

    1. 选择受信任实体类型中,选择AWS服务

    2. 选择将使用此角色的服务,按EC2服务。

      选择服务
    3. 点击下一个:权限

  4. 附加权限策略屏幕上,选择AmazonSageMakerFullAccess

    附加SageMaker权限
  5. 点击下一个:审查

  6. 角色名字段,输入角色名。

  7. 点击创建角色

  8. 在“角色”列表中,单击角色名称。

    角色概述

请注意您的Role ARN,它是格式攻击:aws:我::<帐户id >:角色/ <角色名>

步骤2:添加访问SageMaker部署资源的内联策略

为角色添加策略。

  1. 点击内联政策

  2. 粘贴以下JSON定义:

    “版本”“2012-10-17”“声明”“行动”“s3: PutObjectAcl”“s3: PutObjectTagging”],“资源”“攻击:aws: s3::: mlflow-sagemaker - * <帐户id >”“攻击:aws: s3::: mlflow-sagemaker - * <帐户id > / *”],“效应”“允许”},“行动”“我:GetRole”],“资源”“攻击:aws:我::<帐户id >:角色/ <角色名>”],“效应”“允许”},“行动”“ecr: DescribeRepositories”],“资源”“攻击:aws: ecr: *: <帐户id >:库/ *”],“效应”“允许”

这些权限需要允许Databricks集群:

  1. 获取新角色的规范ARN。

  2. 将权限范围的对象上传到S3,供SageMaker端点服务器使用。

角色的权限看起来像:

角色权限

步骤3:更新角色的信任策略

添加我:AssumeRole访问sagemaker.amazonaws.com

  1. 角色简介>信任关系>编辑信任关系

  2. 粘贴并保存以下JSON:

    “版本”“2012-10-17”“声明”“效应”“允许”“校长”“服务”“ec2.amazonaws.com”},“行动”“sts: AssumeRole”},“效应”“允许”“校长”“服务”“sagemaker.amazonaws.com”},“行动”“sts: AssumeRole”

你的角色的信任关系应该如下所示:

信任关系

步骤4:允许Databricks工作区AWS角色通过该角色

  1. 去你的Databricks工作区AWS角色

  2. 点击内联政策

  3. 粘贴并保存以下JSON定义:

    “版本”“2012-10-17”“声明”“行动”“我:PassRole”],“资源”“攻击:aws:我::<帐户id >:角色/ <角色名>”],“效应”“允许”

在哪里帐户id运行AWS SageMaker服务的帐户ID和角色名为步骤1中定义的角色。

步骤5:创建Databricks集群实例概要文件

  1. 在Databricks管理控制台,转到实例配置文件选项卡并单击添加实例配置文件

  2. 粘贴与您创建的AWS角色关联的实例概要文件ARN。这个ARN是这样的形式攻击:aws:我::<帐户id >: instance-profile / <角色名>可以在AWS控制台中找到:

    实例配置文件ARN
  3. 单击添加按钮。

    添加IAM角色

详细信息请参见使用实例概要配置S3访问

步骤6:使用实例概要文件启动集群

看到使用实例概要部署计算资源