本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
高级访问控制
Amazon SageMaker AI 支持基于属性的访问控制 (ABAC),从而使用 ABAC 策略实现对远程 IDE 连接的精细访问控制。以下是远程 IDE 连接的 ABAC 策略示例。
远程访问执行
使用 sagemaker:RemoteAccess 条件键控制对资源的访问。这得到CreateSpace和的支持UpdateSpace APIs。下面的示例使用了 CreateSpace。
您可以确保用户无法创建启用了远程访问的空间。这通过默认采用限制性更强的访问设置,帮助维护安全性。以下策略确保用户能够:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "DenyCreateSpaceRemoteAccessEnabled",
"Effect": "Deny",
"Action": [
"sagemaker:CreateSpace",
"sagemaker:UpdateSpace"
],
"Resource": "arn:aws:sagemaker:*:*:space/*",
"Condition": {
"StringEquals": {
"sagemaker:RemoteAccess": [
"ENABLED"
]
}
}
},
{
"Sid": "AllowCreateSpace",
"Effect": "Allow",
"Action": [
"sagemaker:CreateSpace",
"sagemaker:UpdateSpace"
],
"Resource": "arn:aws:sagemaker:*:*:space/*"
}
]
}
基于标签的访问控制
实施基于标签的访问控制,以根据资源和主体标签来限制连接。
您可以确保用户只能访问适合其角色和项目分配的资源。利用以下策略,您可以:
在以下示例中,使用以下内容标记空间:
{ "Team": "ML", "Environment": "Production", "CostCenter": "12345" }
您可以创建一个包含以下策略的角色来匹配资源标签和主体标签:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "RestrictStartSessionOnTaggedSpacesInDomain",
"Effect": "Allow",
"Action": [
"sagemaker:StartSession"
],
"Resource": [
"arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/*"
],
"Condition": {
"StringEquals": {
"aws:ResourceTag/Team": "${aws:PrincipalTag/Team}",
"aws:ResourceTag/Environment": "${aws:PrincipalTag/Environment}",
"aws:ResourceTag/CostCenter": "${aws:PrincipalTag/CostCenter}",
"aws:ResourceTag/IDC_UserName": "${aws:PrincipalTag/IDC_UserName}"
}
}
}
]
}
当该角色的标签匹配时,用户有权启动会话并远程连接到其空间。有关更多信息,请参阅使用标签控制对 AWS
资源的访问。