

# Aurora DSQL 的基于资源的策略
<a name="resource-based-policies"></a>

使用 Aurora DSQL 的基于资源的策略，通过直接附加到集群资源的 JSON 策略文档来限制或授予对集群的访问权限。这些策略可以精细地控制谁可以在什么条件下访问您的集群。

默认情况下，Aurora DSQL 集群可通过公共互联网进行访问，并将 IAM 身份验证作为主要的安全控制措施。基于资源的策略可让您添加访问限制，特别是屏蔽来自公共互联网的访问。

基于资源的策略与 IAM 基于身份的策略协同工作。AWS 评估这两种类型的策略，以确定对集群的任何访问请求的最终权限。默认情况下，可以在账户内访问 Aurora DSQL 集群。如果 IAM 用户或角色拥有 Aurora DSQL 权限，则他们可以在未附加任何基于资源的策略的情况下访问集群。

**注意**  
对基于资源的策略所做的更改会最终一致，并且通常在一分钟内生效。

有关基于身份的策略与基于资源的策略之间的差别的更多信息，请参阅《IAM 用户指南》**中的[基于身份的策略和基于资源的策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)。

## 何时使用基于资源的策略
<a name="rbp-when-to-use"></a>

基于资源的策略在以下情况下特别有用：
+ *基于网络的访问控制*：根据从中发出请求的 VPC 或 IP 地址来限制访问，或者完全阻止公共互联网访问。使用诸如 `aws:SourceVpc` 和 `aws:SourceIp` 之类的条件键来控制网络访问。
+ *多个团队或应用程序*：为多个团队或应用程序授予对同一个集群的访问权限。您可以在集群上定义一次访问规则，而不是为每个主体管理单独的 IAM 策略。
+ *复杂的条件访问*：根据网络属性、请求上下文和用户属性等多种因素控制访问权限。您可以在单个策略中组合多个条件。
+ *集中式安全治理*：使集群所有者能够使用与现有安全实践集成的熟悉的 AWS 策略语法来控制访问权限。

**注意**  
Aurora DSQL 基于资源的策略尚不支持跨账户访问，但将在未来的版本中提供。

当有人尝试连接到 Aurora DSQL 集群时，AWS 会在授权上下文中评估基于资源的策略以及任何相关的 IAM 策略，以确定是应允许还是拒绝该请求。

基于资源的策略可以向与集群相同的 AWS 账户中的主体授予访问权限。对于多区域集群，每个区域集群都有自己的基于资源的策略，支持在需要时进行区域特定的访问控制。

**注意**  
条件上下文键可能因区域而异（例如 VPC ID）。

**Topics**
+ [何时使用](#rbp-when-to-use)
+ [使用策略创建](rbp-create-cluster.md)
+ [添加和编辑策略](rbp-attach-policy.md)
+ [查看策略](rbp-view-policy.md)
+ [移除策略](rbp-remove-policy.md)
+ [策略示例](rbp-examples.md)
+ [阻止公有访问](rbp-block-public-access.md)
+ [API 操作](rbp-api-operations.md)

# 使用基于资源的策略创建集群
<a name="rbp-create-cluster"></a>

您可以在创建新集群时附加基于资源的策略，以确保从一开始就实施访问控制。每个集群都可以有一个直接附加到该集群的内联策略。

## AWS 管理控制台
<a name="rbp-create-cluster-console"></a>

**在创建集群期间添加基于资源的策略**

1. 登录 AWS 管理控制台并打开 Aurora DSQL 控制台，网址为 [https://console.aws.amazon.com/dsql/](https://console.aws.amazon.com/dsql)。

1. 选择**创建集群**。

1. 根据需要配置集群名称、标签和多区域设置。

1. 在**集群设置**部分，找到**基于资源的策略**选项。

1. 开启**添加基于资源的策略**。

1. 在 JSON 编辑器中输入您的策略文档。例如，要屏蔽公共互联网访问，请执行以下操作：

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Deny",
         "Principal": {
           "AWS": "*"
         },
         "Resource": "*",
         "Action": [
           "dsql:DbConnect",
           "dsql:DbConnectAdmin"
         ],
         "Condition": {
           "Null": {
             "aws:SourceVpc": "true"
           }
         }
       }
     ]
   }
   ```

1. 您可以使用**编辑语句**或**添加新语句**来构建您的策略。

1. 完成剩余的集群配置，然后选择**创建集群**。

## AWS CLI
<a name="rbp-create-cluster-cli"></a>

创建集群时使用 `--policy` 参数来附加内联策略：

```
aws dsql create-cluster --policy '{
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Deny",
        "Principal": {"AWS": "*"},
        "Resource": "*",
        "Action": ["dsql:DbConnect", "dsql:DbConnectAdmin"],
        "Condition": { 
            "StringNotEquals": { "aws:SourceVpc": "vpc-123456" } 
        }
    }]
}'
```

## AWS SDK
<a name="rbp-create-cluster-sdk"></a>

------
#### [ Python ]

```
import boto3
import json

client = boto3.client('dsql')

policy = {
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Deny",
        "Principal": {"AWS": "*"},
        "Resource": "*",
        "Action": ["dsql:DbConnect", "dsql:DbConnectAdmin"],
        "Condition": { 
            "StringNotEquals": { "aws:SourceVpc": "vpc-123456" } 
        }
    }]
}

response = client.create_cluster(
    policy=json.dumps(policy)
)

print(f"Cluster created: {response['identifier']}")
```

------
#### [ Java ]

```
import software.amazon.awssdk.services.dsql.DsqlClient;
import software.amazon.awssdk.services.dsql.model.CreateClusterRequest;
import software.amazon.awssdk.services.dsql.model.CreateClusterResponse;

DsqlClient client = DsqlClient.create();

String policy = """
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Deny",
    "Principal": {"AWS": "*"},
    "Resource": "*",
    "Action": ["dsql:DbConnect", "dsql:DbConnectAdmin"],
    "Condition": { 
      "StringNotEquals": { "aws:SourceVpc": "vpc-123456" } 
    }
  }]
}
""";

CreateClusterRequest request = CreateClusterRequest.builder()
    .policy(policy)
    .build();

CreateClusterResponse response = client.createCluster(request);
System.out.println("Cluster created: " + response.identifier());
```

------

# 为集群添加和编辑基于资源的策略
<a name="rbp-attach-policy"></a>

## AWS 管理控制台
<a name="rbp-attach-console"></a>

**向现有集群添加基于资源的策略**

1. 登录 AWS 管理控制台并打开 Aurora DSQL 控制台，网址为 [https://console.aws.amazon.com/dsql/](https://console.aws.amazon.com/dsql)。

1. 从集群列表中选择集群以打开集群详细信息页面。

1. 选择**权限**选项卡。

1. 在**基于资源的策略**部分中，选择**添加策略**。

1. 在 JSON 编辑器中输入您的策略文档。您可以使用**编辑语句**或**添加新语句**来构建您的策略。

1. 选择**添加策略**。

**编辑现有的基于资源的策略**

1. 登录 AWS 管理控制台并打开 Aurora DSQL 控制台，网址为 [https://console.aws.amazon.com/dsql/](https://console.aws.amazon.com/dsql)。

1. 从集群列表中选择集群以打开集群详细信息页面。

1. 选择**权限**选项卡。

1. 在**基于资源的策略**部分中，选择**编辑**。

1. 在 JSON 编辑器中修改策略文档。您可以使用**编辑语句**或**添加新语句**来更新您的策略。

1. 选择**保存更改**。

## AWS CLI
<a name="rbp-attach-cli"></a>

使用 `put-cluster-policy` 命令在集群上附加新策略或更新现有策略：

```
aws dsql put-cluster-policy --identifier your_cluster_id --policy '{
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Deny",
        "Principal": {"AWS": "*"},
        "Resource": "*",
        "Action": ["dsql:DbConnect", "dsql:DbConnectAdmin"],
        "Condition": { 
            "Null": { "aws:SourceVpc": "true" } 
        }
    }]
}'
```

## AWS SDK
<a name="rbp-attach-sdk"></a>

------
#### [ Python ]

```
import boto3
import json

client = boto3.client('dsql')

policy = {
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Deny",
        "Principal": {"AWS": "*"},
        "Resource": "*",
        "Action": ["dsql:DbConnect", "dsql:DbConnectAdmin"],
        "Condition": {
            "Null": {"aws:SourceVpc": "true"}
        }
    }]
}

response = client.put_cluster_policy(
    identifier='your_cluster_id',
    policy=json.dumps(policy)
)
```

------
#### [ Java ]

```
import software.amazon.awssdk.services.dsql.DsqlClient;
import software.amazon.awssdk.services.dsql.model.PutClusterPolicyRequest;

DsqlClient client = DsqlClient.create();

String policy = """
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Deny",
    "Principal": {"AWS": "*"},
    "Resource": "*",
    "Action": ["dsql:DbConnect", "dsql:DbConnectAdmin"],
    "Condition": {
      "Null": {"aws:SourceVpc": "true"}
    }
  }]
}
""";

PutClusterPolicyRequest request = PutClusterPolicyRequest.builder()
    .identifier("your_cluster_id")
    .policy(policy)
    .build();

client.putClusterPolicy(request);
```

------

# 查看基于资源的策略
<a name="rbp-view-policy"></a>

您可以查看附加到集群的基于资源的策略，以了解当前已实施的访问控制。

## AWS 管理控制台
<a name="rbp-view-console"></a>

**查看基于资源的策略**

1. 登录 AWS 管理控制台并打开 Aurora DSQL 控制台，网址为 [https://console.aws.amazon.com/dsql/](https://console.aws.amazon.com/dsql)。

1. 从集群列表中选择集群以打开集群详细信息页面。

1. 选择**权限**选项卡。

1. 在**基于资源的策略**部分查看附加的策略。

## AWS CLI
<a name="rbp-view-cli"></a>

使用 `get-cluster-policy` 命令来查看集群的基于资源的策略：

```
aws dsql get-cluster-policy --identifier your_cluster_id
```

## AWS SDK
<a name="rbp-view-sdk"></a>

------
#### [ Python ]

```
import boto3
import json

client = boto3.client('dsql')

response = client.get_cluster_policy(
    identifier='your_cluster_id'
)

# Parse and pretty-print the policy
policy = json.loads(response['policy'])
print(json.dumps(policy, indent=2))
```

------
#### [ Java ]

```
import software.amazon.awssdk.services.dsql.DsqlClient;
import software.amazon.awssdk.services.dsql.model.GetClusterPolicyRequest;
import software.amazon.awssdk.services.dsql.model.GetClusterPolicyResponse;

DsqlClient client = DsqlClient.create();

GetClusterPolicyRequest request = GetClusterPolicyRequest.builder()
    .identifier("your_cluster_id")
    .build();

GetClusterPolicyResponse response = client.getClusterPolicy(request);
System.out.println("Policy: " + response.policy());
```

------

# 移除基于资源的策略
<a name="rbp-remove-policy"></a>

您可以从集群中移除基于资源的策略以更改访问控制。

**重要**  
当您从集群中移除所有基于资源的策略时，访问将完全由 IAM 基于身份的策略控制。

## AWS 管理控制台
<a name="rbp-remove-console"></a>

**移除基于资源的策略**

1. 登录 AWS 管理控制台并打开 Aurora DSQL 控制台，网址为 [https://console.aws.amazon.com/dsql/](https://console.aws.amazon.com/dsql)。

1. 从集群列表中选择集群以打开集群详细信息页面。

1. 选择**权限**选项卡。

1. 在**基于资源的策略**部分中，选择**删除**。

1. 在确认对话框中，键入 **confirm** 以确认删除。

1. 选择**删除**。

## AWS CLI
<a name="rbp-remove-cli"></a>

使用 `delete-cluster-policy` 命令从集群中移除策略。

```
aws dsql delete-cluster-policy --identifier your_cluster_id
```

## AWS SDK
<a name="rbp-remove-sdk"></a>

------
#### [ Python ]

```
import boto3

client = boto3.client('dsql')

response = client.delete_cluster_policy(
    identifier='your_cluster_id'
)

print("Policy deleted successfully")
```

------
#### [ Java ]

```
import software.amazon.awssdk.services.dsql.DsqlClient;
import software.amazon.awssdk.services.dsql.model.DeleteClusterPolicyRequest;

DsqlClient client = DsqlClient.create();

DeleteClusterPolicyRequest request = DeleteClusterPolicyRequest.builder()
    .identifier("your_cluster_id")
    .build();

client.deleteClusterPolicy(request);
System.out.println("Policy deleted successfully");
```

------

# 常见的基于资源的策略示例
<a name="rbp-examples"></a>

这些示例显示了用于控制对 Aurora DSQL 集群的访问权限的常见模式。您可以组合和修改这些模式以满足您的特定访问要求。

## 屏蔽公共互联网访问
<a name="rbp-example-block-public"></a>

此策略屏蔽从公共互联网（非 VPC）连接到您的 Aurora DSQL 集群。该策略未指定客户可以从哪些 VPC 进行连接，只规定他们必须从 VPC 进行连接。要限制对特定 VPC 的访问，请将 `aws:SourceVpc` 与 `StringEquals` 条件运算符结合使用。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": {
        "AWS": "*"
      },
      "Resource": "*",
      "Action": [
        "dsql:DbConnect",
        "dsql:DbConnectAdmin"
      ],
      "Condition": {
        "Null": {
          "aws:SourceVpc": "true"
        }
      }
    }
  ]
}
```

**注意**  
此示例仅使用 `aws:SourceVpc` 来检查 VPC 连接。`aws:VpcSourceIp` 和 `aws:SourceVpce` 条件键提供了更高的粒度，但对于仅限 VPC 的基本访问控制来说并不是必需的。

要为特定角色提供例外情况，请改用以下策略：

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAccessFromOutsideVPC",
      "Effect": "Deny",
      "Principal": {
        "AWS": "*"
      },
      "Resource": "*",
      "Action": [
        "dsql:DbConnect",
        "dsql:DbConnectAdmin"
      ],
      "Condition": {
        "Null": {
          "aws:SourceVpc": "true"
        },
        "StringNotEquals": {
          "aws:PrincipalArn": [
            "arn:aws:iam::123456789012:role/ExceptionRole",
            "arn:aws:iam::123456789012:role/AnotherExceptionRole"
          ]
        }
      }
    }
  ]
}
```

## 限制对 AWS 组织的访问权限
<a name="rbp-example-org-access"></a>

此策略将访问权限限制为 AWS 组织内部的主体：

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "dsql:DbConnect",
        "dsql:DbConnectAdmin"
      ],
      "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/mydsqlclusterid0123456789a",
      "Condition": {
        "StringNotEquals": {
          "aws:PrincipalOrgID": "o-exampleorgid"
        }
      }
    }
  ]
}
```

## 限制对组织单元的访问权限
<a name="rbp-example-ou-access"></a>

此策略将访问权限限制为 AWS 组织中特定组织单元（OU）内的主体，提供比组织范围的访问权限更精细的控制：

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "dsql:DbConnect"
      ],
      "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/mydsqlclusterid0123456789a",
      "Condition": {
        "StringNotLike": {
          "aws:PrincipalOrgPaths": "o-exampleorgid/r-examplerootid/ou-exampleouid/*"
        }
      }
    }
  ]
}
```

## 多区域集群策略
<a name="rbp-example-multi-region"></a>

对于多区域集群，每个区域集群都维护其自己的资源策略，支持特定于区域的控制。以下是每个区域不同策略的示例：

*us-east-1 策略：*

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": {
        "AWS": "*"
      },
      "Resource": "*",
      "Action": [
        "dsql:DbConnect"
      ],
      "Condition": {
        "StringNotEquals": {
          "aws:SourceVpc": "vpc-east1-id"
        },
        "Null": {
          "aws:SourceVpc": "true"
        }
      }
    }
  ]
}
```

*us-east-2 策略：*

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Resource": "*",
      "Action": [
        "dsql:DbConnect"
      ],
      "Condition": {
        "StringEquals": {
          "aws:SourceVpc": "vpc-east2-id"
        }
      }
    }
  ]
}
```

**注意**  
条件上下文键可能因 AWS 区域而异（例如 VPC ID）。

# 在 Aurora DSQL 中使用基于资源的策略屏蔽公共访问权限
<a name="rbp-block-public-access"></a>

屏蔽公共访问权限（BPA）功能可识别并防止附加基于资源的策略，这些策略授予跨您的 AWS 账户对 Aurora DSQL 集群进行公共访问的权限。使用 BPA，您可以阻止对 Aurora DSQL 资源的公共访问。BPA 会在创建或修改基于资源的策略期间执行检查，并通过 Aurora DSQL 协助改善您的安全状况。

BPA 使用[自动推理](https://aws.amazon.com/what-is/automated-reasoning/)来分析您的基于资源的策略授予的访问权限，并且如果在管理基于资源的策略时发现此类权限，为您发送提醒。该分析可验证策略中使用的所有基于资源的策略语句、操作和条件键集的访问权限。

**重要**  
BPA 通过直接附加到 Aurora DSQL 资源（例如集群）的基于资源的策略来阻止授予公共访问权限，从而有助于保护您的资源。除了使用 BPA 之外，还要仔细检查以下策略，来确认它们不授予公有访问权限：  
附加到关联 AWS 主体（例如 IAM 角色）的基于身份的策略
附加到关联 AWS 资源 [例如 AWS Key Management Service（KMS）密钥] 的基于资源的策略

您必须确保[主体](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)不包含 `*` 条目，或者指定的条件键之一限制主体对资源的访问。如果基于资源的策略授予跨 AWS 对集群进行公共访问的权限，则 Aurora DSQL 将阻止您创建或修改策略，直到策略中的规范得到更正并被视为非公开为止。

您可以通过在 `Principal` 块内指定一个或多个主体来将策略设为非公有。以下基于资源的策略示例通过指定两个主体来阻止公有访问。

```
{
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "123456789012",
      "111122223333"
    ]
  },
  "Action": "dsql:*",
  "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/cluster-id"
}
```

通过指定特定条件键来限制访问的策略也不被视为公有策略。除了评估基于资源的策略中指定的主体外，还使用以下[可信条件键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)来完成就非公有访问对基于资源的策略的评估：
+ `aws:PrincipalAccount`
+ `aws:PrincipalArn`
+ `aws:PrincipalOrgID`
+ `aws:PrincipalOrgPaths`
+ `aws:SourceAccount`
+ `aws:SourceArn`
+ `aws:SourceVpc`
+ `aws:SourceVpce`
+ `aws:UserId`
+ `aws:PrincipalServiceName`
+ `aws:PrincipalServiceNamesList`
+ `aws:PrincipalIsAWSService`
+ `aws:Ec2InstanceSourceVpc`
+ `aws:SourceOrgID`
+ `aws:SourceOrgPaths`

此外，要将基于资源的策略设为非公有策略，Amazon 资源名称（ARN）和字符串键的值不得包含通配符或变量。如果您的基于资源的策略使用 `aws:PrincipalIsAWSService` 键，则必须确保已将键值设置为 true。

以下策略限制指定账户中的用户 `Ben` 的访问权限。该条件使 `Principal` 受限制且不被视为公有。

```
{
  "Effect": "Allow",
  "Principal": {
    "AWS": "*"
  },
  "Action": "dsql:*",
  "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/cluster-id",
  "Condition": {
    "StringEquals": {
      "aws:PrincipalArn": "arn:aws:iam::123456789012:user/Ben"
    }
  }
}
```

以下基于非公有资源的策略示例使用 `StringEquals` 运算符限制 `sourceVPC`。

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "dsql:*",
      "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/cluster-id",
      "Condition": {
        "StringEquals": {
          "aws:SourceVpc": [
            "vpc-91237329"
          ]
        }
      }
    }
  ]
}
```

# Aurora DSQL API 操作和基于资源的策略
<a name="rbp-api-operations"></a>

Aurora DSQL 中基于资源的策略控制对特定 API 操作的访问权限。以下各节列出了按类别整理的所有 Aurora DSQL API 操作，并指明了哪些操作支持基于资源的策略。

*支持 RBP* 列指示在将策略附加到集群时，API 操作是否需要接受基于资源的策略评估。

## 标签 API
<a name="rbp-tag-apis"></a>


| API 操作 | 说明 | 支持 RBP | 
| --- | --- | --- | 
| [ListTagsForResource](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_ListTagsForResource.html) | 列出 Aurora DSQL 资源的标签 | 是 | 
| [TagResource](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_TagResource.html) | 向 Aurora DSQL 资源添加标签 | 是 | 
| [UntagResource](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_UntagResource.html) | 从 Aurora DSQL 资源移除标签 | 是 | 

## 集群管理 API
<a name="rbp-cluster-management-apis"></a>


| API 操作 | 说明 | 支持 RBP | 
| --- | --- | --- | 
| [CreateCluster](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_CreateCluster.html)： | 创建新集群 | 否 | 
| [DeleteCluster](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_DeleteCluster.html) | 删除集群 | 是 | 
| [GetCluster](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_GetCluster.html) | 检索有关集群的信息 | 是 | 
| [GetVpcEndpointServiceName](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_GetVpcEndpointServiceName.html) | 检索集群的 VPC 端点服务名称 | 是 | 
| [ListClusters](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_ListClusters.html) | 列出您账户中的集群 | 否 | 
| [UpdateCluster](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_UpdateCluster.html) | 更新集群的配置 | 是 | 

## 多区域属性 API
<a name="rbp-multi-region-apis"></a>


| API 操作 | 说明 | 支持 RBP | 
| --- | --- | --- | 
| [AddPeerCluster](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_AddPeerCluster.html) | 将对等集群添加到多区域配置中 | 是 | 
| [PutMultiRegionProperties](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_PutMultiRegionProperties.html) | 为集群设置多区域属性 | 是 | 
| [PutWitnessRegion](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_PutWitnessRegion.html) | 为多区域集群设置见证区域 | 是 | 

## 基于资源的策略 API
<a name="rbp-policy-apis"></a>


| API 操作 | 说明 | 支持 RBP | 
| --- | --- | --- | 
| [DeleteClusterPolicy](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_DeleteClusterPolicy.html) | 从集群中删除基于资源的策略 | 是 | 
| [GetClusterPolicy](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_GetClusterPolicy.html) | 检索集群的基于资源的策略 | 是 | 
| [PutClusterPolicy](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_PutClusterPolicy.html) | 创建或更新集群的基于资源的策略 | 是 | 

## AWS Fault Injection Service API
<a name="rbp-fis-apis"></a>


| API 操作 | 说明 | 支持 RBP | 
| --- | --- | --- | 
| [InjectError](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_InjectError.html) | 注入错误以进行故障注入测试 | 否 | 

## 备份与还原 API
<a name="rbp-backup-restore-apis"></a>


| API 操作 | 说明 | 支持 RBP | 
| --- | --- | --- | 
| [GetBackupJob](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_GetBackupJob.html) | 检索有关备份作业的信息 | 否 | 
| [GetRestoreJob](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_GetRestoreJob.html) | 检索有关还原作业的信息 | 否 | 
| [StartBackupJob](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_StartBackupJob.html) | 启动集群的备份作业 | 是 | 
| [StartRestoreJob](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_StartRestoreJob.html) | 从备份启动还原作业 | 否 | 
| [StopBackupJob](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_StopBackupJob.html) | 停止正在运行的备份作业 | 否 | 
| [StopRestoreJob](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_StopRestoreJob.html) | 停止正在运行的还原作业 | 否 | 