本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
控制对策略存储别名的访问权限
管理策略存储别名的委托人必须有权与这些策略存储别名进行交互,对于某些操作,还必须有权与策略存储别名关联的策略存储进行交互。您可以使用 IAM 策略提供这些权限。
以下各节描述了创建和管理策略存储别名所需的权限。
已验证权限:CreatePolicyStoreAlias
要创建策略存储别名,委托人需要对策略存储别名和关联的策略存储都具有以下权限。
-
verifiedpermissions:CreatePolicyStoreAlias用于策略存储别名。在附加到允许创建 IAM 策略存储别名的委托人的策略中提供此权限。以下示例策略语句在
Resource元素中指定了特定的策略存储别名。但是您可以列出多个策略存储别名 ARNs 或指定策略存储别名模式,例如"sample*"。您也可以将Resource值指定为"*"以允许委托人在 Amazon Web Services 账户 和区域中创建任何策略存储别名。{ "Sid": "IAMPolicyForCreateAlias", "Effect": "Allow", "Action": "verifiedpermissions:CreatePolicyStoreAlias", "Resource": "arn:aws:verifiedpermissions:us-east-1:123456789012:policy-store-alias/example-policy-store" } -
verifiedpermissions:CreatePolicyStoreAlias用于关联的策略存储。此权限必须在 IAM 策略中提供。{ "Sid": "PolicyStorePermissionForAlias", "Effect": "Allow", "Action": "verifiedpermissions:CreatePolicyStoreAlias", "Resource": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111" }
已验证权限:GetPolicyStoreAlias
要获取有关特定策略存储别名的详细信息,委托人必须拥有策略中策略存储别名的verifiedpermissions:GetPolicyStoreAlias权限。 IAM
以下示例策略声明向委托人授予获取特定策略存储别名的权限。
{ "Sid": "IAMPolicyForGetAlias", "Effect": "Allow", "Action": "verifiedpermissions:GetPolicyStoreAlias", "Resource": "arn:aws:verifiedpermissions:us-east-1:123456789012:policy-store-alias/example-policy-store" }
已验证权限:ListPolicyStoreAliases
要在 Amazon Web Services 账户 和区域中列出策略存储别名,委托人必须拥有 IAM 策略中的verifiedpermissions:ListPolicyStoreAliases权限。由于此策略与任何特定的策略存储或策略存储别名资源无关,因此策略中资源元素的值必须为"*"。
例如,以下 IAM 策略声明授予委托人列出中所有策略存储别名的权限。 Amazon Web Services 账户
{ "Sid": "IAMPolicyForListingAliases", "Effect": "Allow", "Action": "verifiedpermissions:ListPolicyStoreAliases", "Resource": "*" }
已验证权限:DeletePolicyStoreAlias
要删除策略存储别名,委托人只需要拥有策略存储别名的权限。
注意
删除策略存储别名不会对关联的策略存储产生任何影响,但引用该策略存储别名的应用程序会收到错误。如果您错误地删除了策略存储别名,则可以在 24 小时预留期之后重新创建该别名。
委托人需要verifiedpermissions:DeletePolicyStoreAlias获得策略存储别名的权限。在附加到允许删除 IAM
策略存储别名的委托人的策略中提供此权限。
以下示例策略语句在Resource元素中指定了策略存储别名。但是您可以列出多个策略存储别名 ARNs 或指定策略存储别名模式,例如"sample*"。您也可以将Resource值指定为"*"以允许委托人删除 Amazon Web Services 账户 和区域中的任何策略存储别名。
{ "Sid": "IAMPolicyForDeleteAlias", "Effect": "Allow", "Action": "verifiedpermissions:DeletePolicyStoreAlias", "Resource": "arn:aws:verifiedpermissions:us-east-1:123456789012:policy-store-alias/example-policy-store" }
限制策略存储别名权限
在任何接受policyStoreId字段作为输入的操作中,您可以使用策略存储别名来引用策略存储。当您这样做时,Amazon Verified Permissions 会verifiedpermissions:GetPolicyStoreAlias针对策略存储区别名和对关联的策略存储进行请求的操作进行授权。
例如,如果使用策略存储别名执行IsAuthorized操作,则委托人需要两者:
-
verifiedpermissions:GetPolicyStoreAlias策略存储别名的权限 -
verifiedpermissions:IsAuthorized关联策略存储的权限
以下示例策略授予IsAuthorized使用特定策略存储别名进行呼叫的权限。
{ "Sid": "IAMPolicyForAliasUsage", "Effect": "Allow", "Action": "verifiedpermissions:GetPolicyStoreAlias", "Resource": "arn:aws:verifiedpermissions:us-east-1:123456789012:policy-store-alias/example-policy-store" }, { "Sid": "IAMPolicyForPolicyStoreOperation", "Effect": "Allow", "Action": "verifiedpermissions:IsAuthorized", "Resource": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111" }
要限制委托人可以使用的策略存储别名,请限制verifiedpermissions:GetPolicyStoreAlias权限。例如,以下策略允许委托人使用任何策略存储别名,但以开头的别名除外Restricted。
{ "Sid": "IAMPolicyForAliasAllow", "Effect": "Allow", "Action": "verifiedpermissions:GetPolicyStoreAlias", "Resource": "arn:aws:verifiedpermissions:us-east-1:123456789012:policy-store-alias/*" }, { "Sid": "IAMPolicyForAliasDeny", "Effect": "Deny", "Action": "verifiedpermissions:GetPolicyStoreAlias", "Resource": "arn:aws:verifiedpermissions:us-east-1:123456789012:policy-store-alias/Restricted*" }