

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

# 控制对策略存储别名的访问权限
控制访问权限

管理策略存储别名的委托人必须有权与这些策略存储别名进行交互，对于某些操作，还必须有权与策略存储别名关联的策略存储进行交互。您可以使用 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*"
}
```