为SageMaker部署设置AWS身份验证
本文描述如何设置实例概要文件,以便进行部署MLflow模型到AWS SageMaker。对于具有与此处指定的IAM角色类似权限的AWS用户,可以使用访问密钥,但Databricks建议使用实例配置文件以授予集群部署到SageMaker的权限。
步骤1:创建AWS IAM角色并附加SageMaker权限策略
在AWS控制台中,转到我服务。
单击角色选项卡。
点击创建角色.
下选择受信任实体类型中,选择AWS服务.
下选择将使用此角色的服务,按EC2服务。
点击下一个:权限.
在附加权限策略屏幕上,选择AmazonSageMakerFullAccess.
点击下一个:审查.
在角色名字段,输入角色名。
点击创建角色.
在“角色”列表中,单击角色名称。
请注意您的Role ARN,它是格式攻击:aws:我::<帐户id >:角色/ <角色名>
.
步骤2:添加访问SageMaker部署资源的内联策略
为角色添加策略。
点击.
粘贴以下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集群:
获取新角色的规范ARN。
将权限范围的对象上传到S3,供SageMaker端点服务器使用。
角色的权限看起来像:
步骤3:更新角色的信任策略
添加我:AssumeRole
访问sagemaker.amazonaws.com
.
去角色简介>信任关系>编辑信任关系.
粘贴并保存以下JSON:
{“版本”:“2012-10-17”,“声明”:[{“效应”:“允许”,“校长”:{“服务”:“ec2.amazonaws.com”},“行动”:“sts: AssumeRole”},{“效应”:“允许”,“校长”:{“服务”:“sagemaker.amazonaws.com”},“行动”:“sts: AssumeRole”}]}
你的角色的信任关系应该如下所示:
步骤4:允许Databricks工作区AWS角色通过该角色
点击.
粘贴并保存以下JSON定义:
{“版本”:“2012-10-17”,“声明”:[{“行动”:[“我:PassRole”],“资源”:[“攻击:aws:我::<帐户id >:角色/ <角色名>”],“效应”:“允许”}]}
在哪里帐户id
运行AWS SageMaker服务的帐户ID和角色名
为步骤1中定义的角色。
步骤5:创建Databricks集群实例概要文件
在Databricks管理控制台,转到实例配置文件选项卡并单击添加实例配置文件.
粘贴与您创建的AWS角色关联的实例概要文件ARN。这个ARN是这样的形式
攻击:aws:我::<帐户id >: instance-profile / <角色名>
可以在AWS控制台中找到:单击添加按钮。
详细信息请参见使用实例概要配置S3访问.
步骤6:使用实例概要文件启动集群
看到使用实例概要部署计算资源.