

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

# 在 Amazon Keyspaces 中配置使用用户定义类型 (UDTs) 的权限
<a name="configure-udt-permissions"></a>

与表一样， UDTs 也绑定到特定的密钥空间。但是与表不同，您不能直接为定义权限 UDTs。 UDTs 不被视为中的资源 Amazon ，也没有亚马逊资源名称 (ARN) 格式的唯一标识符。相反，要向 IAM 委托人授予对 UDT 执行特定操作的权限，您必须为 UDT 绑定到的密钥空间定义权限。要 UDTs 在多区域密钥空间中使用，需要额外的权限。

为了能够创建、查看或删除 UDTs，委托人（例如 IAM 用户或角色）需要的权限与在 UDT 绑定到的密钥空间上执行相同操作所需的权限相同。

有关的更多信息 Amazon Identity and Access Management，请参阅[Amazon Identity and Access Management 适用于 Amazon Keyspaces](security-iam.md)。

## 创建 UDT 的权限
<a name="udt-permissions-create"></a>

要在单区域密钥空间中创建 UDT，委托人需要密钥空间的`Create`权限。

以下 IAM 策略就是一个例子。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "cassandra:Create",
            "Resource": [
                "arn:aws:cassandra:us-east-1:111122223333:/keyspace/my_keyspace/"
            ]
        }
    ]
}
```

要在多区域密钥空间中创建 UDT，除了`Create`权限外，委托人还需要对指定密钥空间执行操作`CreateMultiRegionResource`的权限。

以下 IAM 策略就是一个例子。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action":  [ "cassandra:Create", "cassandra:CreateMultiRegionResource" ],
            "Resource": [
                "arn:aws:cassandra:us-east-1:111122223333:/keyspace/my_keyspace/"
            ]
        }
    ]
}
```

## 查看 UDT 的权限
<a name="udt-permissions-view"></a>

要在单区域密钥空间 UDTs 中查看或列出，主体需要系统密钥空间的读取权限。有关更多信息，请参阅 [`system_schema_mcs`](working-with-keyspaces.md#keyspace_system_schema_mcs)。

以下 IAM 策略就是一个例子。

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"cassandra:Select",
         "Resource":[
             "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*"
         ]
      }
   ]
}
```

要查看或列 UDTs 出多区域密钥空间，委托人需要操作权限`SELECT`和`SelectMultiRegionResource`系统密钥空间权限。有关更多信息，请参阅 [`system_multiregion_info`](working-with-keyspaces.md#keyspace_system_multiregion_info)。

以下 IAM 策略就是一个例子。

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action": ["cassandra:Select", "cassandra:SelectMultiRegionResource"],
         "Resource":[
             "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*"
         ]
      }
   ]
}
```

## 删除 UDT 的权限
<a name="udt-permissions-drop"></a>

要从单区域密钥空间中删除 UDT，委托人需要对指定密钥空间`Drop`执行操作的权限。

以下 IAM 策略就是一个例子。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "cassandra:Drop",
            "Resource": [
                "arn:aws:cassandra:us-east-1:111122223333:/keyspace/my_keyspace/"
            ]
        }
    ]
}
```

要从多区域密钥空间中删除 UDT，委托人需要`Drop`操作权限和指定密钥空间的`DropMultiRegionResource`操作权限。

以下 IAM 策略就是一个例子。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action":  [ "cassandra:Drop", "cassandra:DropMultiRegionResource" ],
            "Resource": [
                "arn:aws:cassandra:us-east-1:111122223333:/keyspace/my_keyspace/"
            ]
        }
    ]
}
```