Amazon 已验证权限策略存储别名 - Amazon Verified Permissions

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

Amazon 已验证权限策略存储别名

策略存储别名是策略存储的友好名称。例如,策略存储别名允许您使用policy-store-alias/example-policy-store而不是来引用策略存储。PSEXAMPLEabcdefg111111策略存储别名可用于任何接受policyStoreId输入参数的已验证权限操作。

您可以使用 CreatePolicyStoreAlias API 或使用AWS::VerifiedPermissions::PolicyStoreAlias CloudFormation 资源为策略存储创建策略存储别名。

Amazon Verified Permissions API 可以完全控制每个 AWS 账户 和地区的策略存储别名。API 包括创建策略存储别名 (CreatePolicyStoreAlias)、查看策略存储别名和策略存储别名 ARNs (GetPolicyStoreAlias,ListPolicyStoreAliases) 以及删除策略存储别名 (DeletePolicyStoreAlias) 的操作。

策略存储别名的属性

亚马逊验证权限中的策略存储别名是如何运作的。

策略存储别名是一种独立的 AWS 资源

策略存储别名不是策略存储的属性。您对策略存储别名采取的操作不会影响其关联的策略存储。您可以删除策略存储别名,而不会对关联的策略存储产生任何影响。如果删除策略存储,则与该策略存储关联的所有策略存储别名也会被删除。

每个策略存储别名都有一个 Amazon 资源名称 (ARN),用于唯一标识策略存储别名。如果您在 IAM 策略中将策略存储别名指定为资源,则该策略指的是策略存储别名,而不是关联的策略存储。

每个策略存储别名都有两种格式

创建策略存储别名时,需要指定策略存储别名。Amazon 验证权限会为您创建策略存储别名 ARN。

  • 策略存储别名 ARN 是唯一标识策略存储别名的亚马逊资源名称 (ARN)。

    # Alias ARN arn:aws:verifiedpermissions:us-east-1:123456789012:policy-store-alias/example-policy-store
  • 策略存储别名,在 AWS 账户 和区域中是唯一的。在 Amazon 已验证权限 API 中,策略存储区别名始终以policy-store-alias/为前缀。

    # Alias name policy-store-alias/example-policy-store
策略存储别名不是秘密

策略存储别名可能会以纯文本形式显示在 CloudTrail 日志和其他输出中。不要在策略存储别名中包含机密或敏感信息。

每个策略存储别名一次都与一个策略存储关联

策略存储别名及其关联的策略存储必须属于相同 AWS 账户 和区域。您可以将策略存储别名与相同 AWS 账户 和区域中的任何策略存储相关联。

例如,此ListPolicyStoreAliases输出显示example-policy-store策略存储别名恰好与一个目标策略存储相关联,该目标存储由policyStoreId属性表示。

{ "aliasName": "policy-store-alias/example-policy-store", "policyStoreId": "PSEXAMPLEabcdefg111111", "aliasArn": "arn:aws:verifiedpermissions:us-west-2:123456789012:policy-store-alias/example-policy-store", "createdAt": "2024-01-15T12:30:00.000000+00:00", "state": "Active" }
多个别名可以与同一个策略存储关联

例如,您可以将example-policy-storeexample-policy-store-2别名与同一个策略存储相关联。

[ { "aliasName": "policy-store-alias/example-policy-store", "policyStoreId": "PSEXAMPLEabcdefg111111", "aliasArn": "arn:aws:verifiedpermissions:us-west-2:123456789012:policy-store-alias/example-policy-store", "createdAt": "2024-01-15T12:30:00.000000+00:00", "state": "Active" }, { "aliasName": "policy-store-alias/example-policy-store-2", "policyStoreId": "PSEXAMPLEabcdefg111111", "aliasArn": "arn:aws:verifiedpermissions:us-west-2:123456789012:policy-store-alias/example-policy-store-2", "createdAt": "2024-01-16T09:15:00.000000+00:00", "state": "Active" } ]
策略存储区别名在 AWS 账户 和区域中必须是唯一的

例如,您只能有一个策略存储别名,每个别名分别为 example-policy-store “区域” AWS 账户 和 “区域”。策略存储区别名区分大小写。您无法更改策略存储别名。但是,在 24 小时预留期到期后,您可以删除策略存储别名并使用所需名称创建新的策略存储别名。

您可以在不同的区域中创建具有相同名称的策略存储别名。每个策略存储区别名都将有一个唯一的 ARN。如果您的代码引用策略存储别名(例如)policy-store-alias/example-policy-store,则可以在多个区域中运行它。在每个区域,它使用不同的策略存储。

策略存储别名被软删除

删除策略存储别名后,策略存储别名将保留 24 小时。如果您在此期间尝试创建具有相同名称的策略存储别名,则该请求将被拒绝。在此期间,GetPolicyStoreAlias返回带有PendingDeletion状态的策略存储别名。

您可以使用别名来识别策略存储

在所有接受policyStoreId(例如IsAuthorized)的操作中,您可以使用策略存储别名来标识策略存储。在这种情况下,策略存储别名必须以为前缀policy-store-alias/。策略存储别名不能用于为DeletePolicyStore操作标识策略存储。

您不能使用策略存储别名或策略存储别名 ARN 来标识 IAM 策略Resource元素中的策略存储。要在通过策略存储别名引用策略存储时控制对策略存储的访问权限,请参阅控制对策略存储别名的访问权限