高级访问控制 - 亚马逊 SageMaker AI

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

高级访问控制

Amazon SageMaker AI 支持基于属性的访问控制 (ABAC),从而使用 ABAC 策略对远程 Visual Studio Code 连接实现精细的访问控制。以下是远程 VS Code 连接的 ABAC 策略示例。

远程访问强制执行

使用sagemaker:RemoteAccess条件键控制对资源的访问权限。这得到CreateSpace和的支持UpdateSpace APIs。下面的示例使用了 CreateSpace

您可以确保用户无法在启用远程访问的情况下创建空间。通过默认使用更受限制的访问设置,这有助于维护安全性。以下政策确保用户可以:

  • 创建明确禁用远程访问的新 Studio 空间

  • 无需指定任何远程访问设置即可创建新的 Studio 空间

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyCreateSpaceRemoteAccessEnabled", "Effect": "Deny", "Action": "sagemaker:CreateSpace", "Resource": "arn:aws:sagemaker:*:*:space/*", "Condition": { "StringEquals": { "sagemaker:RemoteAccess": [ "ENABLED" ] } } }, { "Sid": "AllowCreateSpace", "Effect": "Allow", "Action": "sagemaker:CreateSpace", "Resource": "arn:aws:sagemaker:*:*:space/*" } ] }

基于标签的访问控制

实施基于标签的访问控制,以根据资源和主体标签限制连接。

您可以确保用户只能访问适合其角色和项目分配的资源。您可以使用以下策略来:

  • 仅允许用户连接到与其分配的团队、环境和成本中心相匹配的空间

  • 根据组织结构实施细粒度的访问控制

在以下示例中,空间被标记为以下内容:

{ "Team": "ML", "Environment": "Production", "CostCenter": "12345" }

您可以让一个包含以下策略的角色来匹配资源和委托人标签:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor", "Effect": "Allow", "Action": [ "sagemaker:StartSession" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Team": "${aws:PrincipalTag/Team}", "aws:ResourceTag/Environment": "${aws:PrincipalTag/Environment}", "aws:ResourceTag/CostCenter": "${aws:PrincipalTag/CostCenter}" } } } ] }

当角色的标签匹配时,用户有权启动会话并远程连接到其空间。有关更多信息,请参阅使用标签控制对 AWS 资源的访问权限