本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS 托管策略:AmazonDataZoneFullAccess
您可以将 AmazonDataZoneFullAccess
策略附加到 IAM 身份。
本政策允许 DataZone 通过以下方式访问亚马逊 AWS Management Console。此策略还具有 AWS KMS 访问加密 SSM 参数的权限。必须使用 KMS 密钥进行标记 EnableKeyForAmazonDataZone ,才能解密 SSM 参数。
权限详细信息
该策略包含以下权限:
-
datazone
— 授予委托人 DataZone通过 Amazon 的完全访问权限。 AWS Management Console -
kms
— 允许委托人列出别名、描述密钥和解密密钥。 -
s3
— 允许委托人选择现有或创建新的 S3 存储桶来存储 Ama DataZone zon 数据。 -
ram
— 允许委托人跨 DataZone 域共享 Amazon 域名。 AWS 账户 -
iam
– 允许主体列出和传递角色并获取策略。 -
sso
– 允许主体获取已启用 AWS IAM Identity Center 的区域。 -
secretsmanager
– 允许主体创建、标记和列出带特定前缀的密钥。 -
aoss
— 允许委托人创建和检索 OpenSearch 无服务器安全策略的信息。 -
bedrock
— 允许委托人创建、列出和检索推理配置文件和基础模型的信息。 -
codeconnections
— 允许委托人删除、检索信息、列出连接和管理连接的标签。 -
codewhisperer
— 允许校长列出CodeWhisperer 个人资料。 -
ssm
— 允许委托人放置、删除和检索参数信息。 -
redshift
— 允许委托人描述集群并列出无服务器工作组 -
glue
— 允许委托人获取数据库。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AmazonDataZoneStatement", "Effect": "Allow", "Action": [ "datazone:*" ], "Resource": [ "*" ] }, { "Sid": "ReadOnlyStatement", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ListAliases", "iam:ListRoles", "sso:DescribeRegisteredRegions", "s3:ListAllMyBuckets", "redshift:DescribeClusters", "redshift-serverless:ListWorkgroups", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "secretsmanager:ListSecrets", "iam:ListUsers", "glue:GetDatabases", "codeconnections:ListConnections", "codeconnections:ListTagsForResource", "codewhisperer:ListProfiles", "bedrock:ListInferenceProfiles", "bedrock:ListFoundationModels", "bedrock:ListTagsForResource", "aoss:ListSecurityPolicies" ], "Resource": [ "*" ] }, { "Sid": "BucketReadOnlyStatement", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::*" }, { "Sid": "CreateBucketStatement", "Effect": "Allow", "Action": [ "s3:CreateBucket" ], "Resource": [ "arn:aws:s3:::amazon-datazone*", "arn:aws:s3:::amazon-sagemaker*" ] }, { "Sid": "ConfigureBucketStatement", "Effect": "Allow", "Action": [ "s3:PutBucketCORS", "s3:PutBucketPolicy", "s3:PutBucketVersioning" ], "Resource": [ "arn:aws:s3:::amazon-sagemaker*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "RamCreateResourceStatement", "Effect": "Allow", "Action": [ "ram:CreateResourceShare" ], "Resource": "*", "Condition": { "StringEqualsIfExists": { "ram:RequestedResourceType": "datazone:Domain" } } }, { "Sid": "RamResourceStatement", "Effect": "Allow", "Action": [ "ram:DeleteResourceShare", "ram:AssociateResourceShare", "ram:DisassociateResourceShare", "ram:RejectResourceShareInvitation" ], "Resource": "*", "Condition": { "StringLike": { "ram:ResourceShareName": [ "DataZone*" ] } } }, { "Sid": "RamResourceReadOnlyStatement", "Effect": "Allow", "Action": [ "ram:GetResourceShares", "ram:GetResourceShareInvitations", "ram:GetResourceShareAssociations", "ram:ListResourceSharePermissions" ], "Resource": "*" }, { "Sid": "RamAssociateResourceSharePermissionStatement", "Effect": "Allow", "Action": "ram:AssociateResourceSharePermission", "Resource": "*", "Condition": { "StringEquals": { "ram:PermissionArn": [ "arn:aws:ram::aws:permission/AWSRAMDefaultPermissionAmazonDataZoneDomain", "arn:aws:ram::aws:permission/AWSRAMPermissionAmazonDataZoneDomainFullAccessWithPortalAccess", "arn:aws:ram::aws:permission/AWSRAMPermissionsAmazonDatazoneDomainExtendedServiceAccess", "arn:aws:ram::aws:permission/AWSRAMPermissionsAmazonDatazoneDomainExtendedServiceWithPortalAccess" ] } } }, { "Sid": "IAMPassRoleStatement", "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::*:role/AmazonDataZone*", "arn:aws:iam::*:role/service-role/AmazonDataZone*", "arn:aws:iam::*:role/service-role/AmazonSageMaker*" ], "Condition": { "StringEquals": { "iam:passedToService": "datazone.amazonaws.com" } } }, { "Sid": "IAMGetPolicyStatement", "Effect": "Allow", "Action": "iam:GetPolicy", "Resource": [ "arn:aws:iam::*:policy/service-role/AmazonDataZoneRedshiftAccessPolicy*" ] }, { "Sid": "DataZoneTagOnCreateDomainProjectTags", "Effect": "Allow", "Action": [ "secretsmanager:TagResource" ], "Resource": "arn:aws:secretsmanager:*:*:secret:AmazonDataZone-*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "AmazonDataZoneDomain", "AmazonDataZoneProject" ] }, "StringLike": { "aws:RequestTag/AmazonDataZoneDomain": "dzd_*", "aws:ResourceTag/AmazonDataZoneDomain": "dzd_*" } } }, { "Sid": "DataZoneTagOnCreate", "Effect": "Allow", "Action": [ "secretsmanager:TagResource" ], "Resource": "arn:aws:secretsmanager:*:*:secret:AmazonDataZone-*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "AmazonDataZoneDomain" ] }, "StringLike": { "aws:RequestTag/AmazonDataZoneDomain": "dzd_*", "aws:ResourceTag/AmazonDataZoneDomain": "dzd_*" } } }, { "Sid": "CreateSecretStatement", "Effect": "Allow", "Action": [ "secretsmanager:CreateSecret" ], "Resource": "arn:aws:secretsmanager:*:*:secret:AmazonDataZone-*", "Condition": { "StringLike": { "aws:RequestTag/AmazonDataZoneDomain": "dzd_*" } } }, { "Sid": "ConnectionStatement", "Effect": "Allow", "Action": [ "codeconnections:GetConnection" ], "Resource": [ "arn:aws:codeconnections:*:*:connection/*" ] }, { "Sid": "TagCodeConnectionsStatement", "Effect": "Allow", "Action": [ "codeconnections:TagResource" ], "Resource": [ "arn:aws:codeconnections:*:*:connection/*" ], "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "for-use-with-all-datazone-projects" ] }, "StringEquals": { "aws:RequestTag/for-use-with-all-datazone-projects": "true" } } }, { "Sid": "UntagCodeConnectionsStatement", "Effect": "Allow", "Action": [ "codeconnections:UntagResource" ], "Resource": [ "arn:aws:codeconnections:*:*:connection/*" ], "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": "for-use-with-all-datazone-projects" } } }, { "Sid": "SSMParameterStatement", "Effect": "Allow", "Action": [ "ssm:GetParameter", "ssm:GetParametersByPath", "ssm:PutParameter", "ssm:DeleteParameter" ], "Resource": [ "arn:aws:ssm:*:*:parameter/amazon/datazone/q*", "arn:aws:ssm:*:*:parameter/amazon/datazone/genAI*", "arn:aws:ssm:*:*:parameter/amazon/datazone/profiles*" ] }, { "Sid": "UseKMSKeyPermissionsStatement", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "aws:ResourceTag/EnableKeyForAmazonDataZone": "true" }, "Null": { "aws:ResourceTag/EnableKeyForAmazonDataZone": "false" }, "StringLike": { "kms:ViaService": "ssm.*.amazonaws.com" } } }, { "Sid": "SecurityPolicyStatement", "Effect": "Allow", "Action": [ "aoss:GetSecurityPolicy", "aoss:CreateSecurityPolicy" ], "Resource": [ "*" ], "Condition": { "StringLike": { "aoss:collection": "genai-studio-*" } } }, { "Sid": "GetFoundationModelStatement", "Effect": "Allow", "Action": [ "bedrock:GetFoundationModel", "bedrock:GetFoundationModelAvailability" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*" ] }, { "Sid": "GetInferenceProfileStatement", "Effect": "Allow", "Action": [ "bedrock:GetInferenceProfile" ], "Resource": [ "arn:aws:bedrock:*:*:inference-profile/*", "arn:aws:bedrock:*:*:application-inference-profile/*" ] }, { "Sid": "ApplicationInferenceProfileStatement", "Effect": "Allow", "Action": [ "bedrock:CreateInferenceProfile" ], "Resource": [ "arn:aws:bedrock:*:*:application-inference-profile/*" ], "Condition": { "Null": { "aws:RequestTag/AmazonDataZoneProject": "true", "aws:RequestTag/AmazonDataZoneDomain": "false" } } }, { "Sid": "TagApplicationInferenceProfileStatement", "Effect": "Allow", "Action": [ "bedrock:TagResource" ], "Resource": [ "arn:aws:bedrock:*:*:application-inference-profile/*" ], "Condition": { "Null": { "aws:ResourceTag/AmazonDataZoneProject": "true", "aws:RequestTag/AmazonDataZoneProject": "true", "aws:ResourceTag/AmazonDataZoneDomain": "false", "aws:RequestTag/AmazonDataZoneDomain": "false" } } }, { "Sid": "DeleteApplicationInferenceProfileStatement", "Effect": "Allow", "Action": [ "bedrock:DeleteInferenceProfile" ], "Resource": [ "arn:aws:bedrock:*:*:application-inference-profile/*" ], "Condition": { "Null": { "aws:ResourceTag/AmazonDataZoneProject": "true", "aws:ResourceTag/AmazonDataZoneDomain": "false" } } } ] }
策略注意事项和限制
AmazonDataZoneFullAccess
策略未涵盖某些功能。
-
如果您使用自己的 AWS KMS 密钥创建亚马逊 DataZone 域名,则必须拥有成功创建域
kms:CreateGrant
名的权限,以及该密钥才能调用其他亚马逊( DataZoneAPIs 例如listDataSources
和)的权限createDataSource
。kms:GenerateDataKey
kms:Decrypt
此外,您还必须在该密钥的资源策略中拥有kms:CreateGrant
、kms:Decrypt
、kms:GenerateDataKey
和kms:DescribeKey
的权限。如果您使用默认的服务拥有的 KMS 密钥,则无需达到此要求。
有关更多信息,请参阅 AWS Key Management Service。
-
如果您想在 Amazon DataZone 控制台中使用创建和更新角色功能,则必须具有管理员权限或具有创建 IAM 角色和创建/更新策略所需的 IAM 权限。所需的权限包括
iam:CreateRole
、iam:CreatePolicy
、iam:CreatePolicyVersion
、iam:DeletePolicyVersion
和iam:AttachRolePolicy
权限。 -
如果您在激活 AWS IAM Identity Center 用户登录的情况下在亚马逊 DataZone 创建新域名,或者如果您为亚马逊中的现有域名激活该域名 DataZone,则必须具有以下权限:
-
组织:DescribeOrganization
-
组织:ListDelegatedAdministrators
-
sso:CreateInstance
-
sso:ListInstances
-
sso:GetSharedSsoConfiguration
-
sso:PutApplicationGrant
-
sso:PutApplicationAssignmentConfiguration
-
sso:PutApplicationAuthenticationMethod
-
sso:PutApplicationAccessScope
-
sso:CreateApplication
-
sso:DeleteApplication
-
sso:CreateApplicationAssignment
-
sso:DeleteApplicationAssignment
-
sso 目录:CreateUser
-
sso 目录:SearchUsers
-
sso:ListApplications
-
-
要在 Amazon 上接受 AWS 账户关联请求 DataZone,您必须
ram:AcceptResourceShareInvitation
获得许可。 -
如果要为 SageMaker Unified Studio 网络设置创建所需的资源,则必须具有以下权限并附加AmazonVpcFullAccess 策略:
-
我是:PassRole
-
云层形成:CreateStack
-