

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

# 用于 ARC 区域切换的 Identity and Access Management
<a name="security-iam-region-switch"></a>

AWS Identity and Access Management (IAM) AWS 服务 可帮助管理员安全地控制对 AWS 资源的访问权限。IAM 管理员控制可以通过“身份验证”**（登录）和“授权”**（具有权限）使用 ARC 资源的人员。您可以使用 IAM AWS 服务 ，无需支付额外费用。

**Topics**
+ [区域切换如何与 IAM 配合使用](security_iam_service-with-iam-region-switch.md)
+ [基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)

# ARC 中的区域切换如何与 IAM 配合使用
<a name="security_iam_service-with-iam-region-switch"></a>

在使用 IAM 管理对 ARC 的访问之前，您应该了解哪些 IAM 功能可用于 ARC。

在使用 IAM 管理针对 Amazon 应用程序恢复控制器（ARC）中的区域切换的访问权限之前，您应该了解哪些 IAM 功能可用于区域切换。


**可用于 Amazon 应用程序恢复控制器（ARC）中的区域切换的 IAM 功能**  

| IAM 功能 | 区域切换支持 | 
| --- | --- | 
|  [基于身份的策略](#security_iam_service-with-iam-region-switch-id-based-policies)  |   是  | 
|  [基于资源的策略](#security_iam_service-with-iam-region-switch-resource-based-policies)  |   是  | 
|  [策略操作](#security_iam_service-with-iam-region-switch-id-based-policies-actions)  |   是  | 
|  [策略资源](#security_iam_service-with-iam-region-switch-id-based-policies-resources)  |   是  | 
|  [策略条件键](#security_iam_service-with-iam-region-switch-id-based-policies-conditionkeys)  |   支持  | 
|  [ACLs](#security_iam_service-with-iam-region-switch-acls)  |   是  | 
|  [ABAC（策略中的标签）](#security_iam_service-with-iam-region-switch-tags)  |   是  | 
|  [临时凭证](#security_iam_service-with-iam-region-switch-roles-tempcreds)  |   是  | 
|  [主体权限](#security_iam_service-with-iam-region-switch-principal-permissions)  |   是  | 
|  [服务角色](#security_iam_service-with-iam-region-switch-roles-service)  |   否   | 
|  [服务关联角色](#security_iam_service-with-iam-region-switch-roles-service-linked)  |   否   | 

要全面了解 AWS 服务如何与大多数 IAM 功能配合使用，请参阅 IAM *用户指南中的与 IAM* [配合使用的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

## 适用于区域切换的基于身份的策略
<a name="security_iam_service-with-iam-region-switch-id-based-policies"></a>

**支持基于身份的策略：**是

基于身份的策略是可附加到身份（如 IAM 用户、用户组或角色）的 JSON 权限策略文档。这些策略控制用户和角色可在何种条件下对哪些资源执行哪些操作。要了解如何创建基于身份的策略，请参阅《IAM 用户指南》**中的[使用客户管理型策略定义自定义 IAM 权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

通过使用 IAM 基于身份的策略，您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。要了解可在 JSON 策略中使用的所有元素，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素引用](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

要查看 ARC 基于身份的策略示例，请参阅 [Amazon 应用程序恢复控制器（ARC）基于身份的策略示例](security_iam_id-based-policy-examples.md)。

## 区域切换内基于资源的策略
<a name="security_iam_service-with-iam-region-switch-resource-based-policies"></a>

**支持基于资源的策略：**是

基于资源的策略是附加到资源的 JSON 策略文档。基于资源的策略的示例包括 IAM 角色信任策略和 Amazon S3 存储桶策略。在支持基于资源的策略的服务中，服务管理员可以使用它们来控制对特定资源的访问。

## 区域切换的策略操作
<a name="security_iam_service-with-iam-region-switch-id-based-policies-actions"></a>

**支持策略操作：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

JSON 策略的 `Action` 元素描述可用于在策略中允许或拒绝访问的操作。在策略中包含操作以授予执行关联操作的权限。

ARC 中用于区域切换的策略操作在操作前使用以下前缀：

```
arc-region-switch
```

要在单个语句中指定多项操作，请使用逗号将它们隔开。如下所示：

```
"Action": [
      "arc-region-switch:action1",
      "arc-region-switch:action2"
         ]
```

您也可以使用通配符（\$1）指定多个操作。例如，要指定以单词 `Describe` 开头的所有操作，包括以下操作：

```
"Action": "arc-region-switch:Describe*"
```

要查看用于区域切换的 ARC 基于身份的策略的示例，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

## 区域切换的策略资源
<a name="security_iam_service-with-iam-region-switch-id-based-policies-resources"></a>

**支持策略资源：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Resource` JSON 策略元素指定要向其应用操作的一个或多个对象。作为最佳实践，请使用其 [Amazon 资源名称（ARN）](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)指定资源。对于不支持资源级权限的操作，请使用通配符 (\$1) 指示语句应用于所有资源。

```
"Resource": "*"
```

要查看用于区域切换的 ARC 基于身份的策略的示例，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

## 区域切换的策略条件键
<a name="security_iam_service-with-iam-region-switch-id-based-policies-conditionkeys"></a>

**支持特定于服务的策略条件键：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Condition` 元素根据定义的条件指定语句何时执行。您可以创建使用[条件运算符](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)（例如，等于或小于）的条件表达式，以使策略中的条件与请求中的值相匹配。要查看所有 AWS 全局条件键，请参阅 *IAM 用户指南*中的[AWS 全局条件上下文密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

要查看用于区域切换的 ARC 基于身份的策略的示例，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

## 区域开关中的访问控制列表 (ACLs)
<a name="security_iam_service-with-iam-region-switch-acls"></a>

**支持 ACLs：**是

访问控制列表 (ACLs) 控制哪些委托人（账户成员、用户或角色）有权访问资源。 ACLs 与基于资源的策略类似，尽管它们不使用 JSON 策略文档格式。

## 用于区域切换的基于属性的访问权限控制（ABAC）
<a name="security_iam_service-with-iam-region-switch-tags"></a>

**支持 ABAC（策略中的标签）：**是

基于属性的访问权限控制（ABAC）是一种授权策略，该策略基于称为标签的属性来定义权限。您可以将标签附加到 IAM 实体和 AWS 资源，然后设计 ABAC 策略以允许在委托人的标签与资源上的标签匹配时进行操作。

要基于标签控制访问，您需要使用 `aws:ResourceTag/key-name``aws:RequestTag/key-name` 或 `aws:TagKeys` 条件键在策略的[条件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中提供标签信息。

如果某个服务对于每种资源类型都支持所有这三个条件键，则对于该服务，该值为**是**。如果某个服务仅对于部分资源类型支持所有这三个条件键，则该值为**部分**。

有关 ABAC 的更多信息，请参阅《IAM 用户指南》**中的[使用 ABAC 授权定义权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。要查看设置 ABAC 步骤的教程，请参阅《IAM 用户指南》**中的[使用基于属性的访问权限控制（ABAC）](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)。

## 将临时凭证用于区域切换
<a name="security_iam_service-with-iam-region-switch-roles-tempcreds"></a>

**支持临时凭证：**是

临时证书提供对 AWS 资源的短期访问权限，并且是在您使用联合身份或切换角色时自动创建的。 AWS 建议您动态生成临时证书，而不是使用长期访问密钥。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的临时安全凭证](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)和[使用 IAM 的。AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)

## 区域切换的跨服务主体权限
<a name="security_iam_service-with-iam-region-switch-principal-permissions"></a>

**支持转发访问会话（FAS）：**是

当您使用 IAM 实体（用户或角色）在中执行操作时 AWS，您被视为委托人。策略向主体授予权限。使用某些服务时，您可能会执行一个操作，此操作然后在不同服务中触发另一个操作。在这种情况下，您必须具有执行这两个操作的权限。

## 区域切换的服务角色
<a name="security_iam_service-with-iam-region-switch-roles-service"></a>

**支持服务角色：**否 

 服务角色是由一项服务担任、代表您执行操作的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。IAM 管理员可以在 IAM 中创建、修改和删除服务角色。有关更多信息，请参阅《IAM 用户指南》**中的[创建向 AWS 服务委派权限的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

## 区域切换的服务关联角色
<a name="security_iam_service-with-iam-region-switch-roles-service-linked"></a>

**支持服务相关角色：**否 

 服务相关角色是一种链接到的服务角色。 AWS 服务服务可以代入代表您执行操作的角色。服务相关角色出现在您的中 AWS 账户 ，并且归服务所有。IAM 管理员可以查看但不能编辑服务关联角色的权限。

有关创建或管理服务相关角色的详细信息，请参阅[能够与 IAM 搭配使用的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。在表中查找**服务相关角色**列中包含 `Yes` 的表。选择**是**链接以查看该服务的服务相关角色文档。

# 用于 ARC 中区域切换的基于身份的策略示例
<a name="security_iam_id-based-policy-examples-region-switch"></a>

默认情况下，用户和角色没有创建或修改 ARC 资源的权限。要授予用户对所需资源执行操作的权限，IAM 管理员可以创建 IAM 策略。

要了解如何使用这些示例 JSON 策略文档创建基于 IAM 身份的策略，请参阅《IAM 用户指南》**中的[创建 IAM 策略（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)。

有关 ARC 定义的操作和资源类型（包括每种资源类型的格式）的详细信息，请参阅《 ARNs *服务授权参考*》中的 [Amazon Application Recovery Controller (ARC) 的操作、资源和条件密钥](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html)。

**Topics**
+ [策略最佳实践](#security_iam_service-with-iam-policy-best-practices-zonal)
+ [计划执行角色信任策略](security_iam_region_switch_trust_policy.md)
+ [完全访问权限](security_iam_region_switch_full_access.md)
+ [只读权限](security_iam_region_switch_read_only.md)
+ [执行块权限](security_iam_region_switch_execution_blocks.md)
+ [CloudWatch 应用程序运行状况权限警报](security_iam_region_switch_cloudwatch.md)
+ [自动计划执行报告权限](security_iam_region_switch_reports.md)
+ [跨账户资源权限](security_iam_region_switch_cross_account.md)
+ [完成计划执行角色权限](security_iam_region_switch_complete_policy.md)

## 策略最佳实践
<a name="security_iam_service-with-iam-policy-best-practices-zonal"></a>

基于身份的策略确定某个人是否可以创建、访问或删除您账户中的 ARC 资源。这些操作可能会使 AWS 账户产生成本。创建或编辑基于身份的策略时，请遵循以下指南和建议：
+ **开始使用 AWS 托管策略并转向最低权限权限** — 要开始向用户和工作负载授予权限，请使用为许多常见用例授予权限的*AWS 托管策略*。它们在你的版本中可用 AWS 账户。我们建议您通过定义针对您的用例的 AWS 客户托管策略来进一步减少权限。有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)或[工作职能的AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。
+ **应用最低权限**：在使用 IAM 策略设置权限时，请仅授予执行任务所需的权限。为此，您可以定义在特定条件下可以对特定资源执行的操作，也称为*最低权限许可*。有关使用 IAM 应用权限的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的策略和权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。
+ **使用 IAM 策略中的条件进一步限制访问权限**：您可以向策略添加条件来限制对操作和资源的访问。例如，您可以编写策略条件来指定必须使用 SSL 发送所有请求。如果服务操作是通过特定的方式使用的，则也可以使用条件来授予对服务操作的访问权限 AWS 服务，例如 CloudFormation。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素：条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。
+ **使用 IAM Access Analyzer 验证您的 IAM 策略，以确保权限的安全性和功能性**：IAM Access Analyzer 会验证新策略和现有策略，以确保策略符合 IAM 策略语言（JSON）和 IAM 最佳实践。IAM Access Analyzer 提供 100 多项策略检查和可操作的建议，以帮助您制定安全且功能性强的策略。有关更多信息，请参阅《IAM 用户指南》**中的[使用 IAM Access Analyzer 验证策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。
+ **需要多重身份验证 (MFA**)-如果 AWS 账户您的场景需要 IAM 用户或根用户，请启用 MFA 以提高安全性。若要在调用 API 操作时需要 MFA，请将 MFA 条件添加到您的策略中。有关更多信息，请参阅《IAM 用户指南》**中的[使用 MFA 保护 API 访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)。

有关 IAM 中的最佳实操的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的安全最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

# 计划执行角色信任策略
<a name="security_iam_region_switch_trust_policy"></a>

 这是计划的执行角色所需的信任策略，以便 ARC 能够运行区域切换计划。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "arc-region-switch.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

# 完全访问权限
<a name="security_iam_region_switch_full_access"></a>

以下 IAM 策略授予所有区域切换的完全访问权限 APIs：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "arc-region-switch.amazonaws.com"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "arc-region-switch:CreatePlan",
        "arc-region-switch:UpdatePlan",
        "arc-region-switch:GetPlan",
        "arc-region-switch:ListPlans",
        "arc-region-switch:DeletePlan",
        "arc-region-switch:GetPlanInRegion",
        "arc-region-switch:ListPlansInRegion",
        "arc-region-switch:ApprovePlanExecutionStep",
        "arc-region-switch:GetPlanEvaluationStatus",
        "arc-region-switch:GetPlanExecution",
        "arc-region-switch:StartPlanExecution",
        "arc-region-switch:CancelPlanExecution",
        "arc-region-switch:ListRoute53HealthChecks",
        "arc-region-switch:ListRoute53HealthChecksInRegion",
        "arc-region-switch:ListPlanExecutions",
        "arc-region-switch:ListPlanExecutionEvents",
        "arc-region-switch:ListTagsForResource", 
        "arc-region-switch:TagResource",
        "arc-region-switch:UntagResource",
        "arc-region-switch:UpdatePlanExecution",
        "arc-region-switch:UpdatePlanExecutionStep"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# 只读权限
<a name="security_iam_region_switch_read_only"></a>

 以下 IAM 策略授予对区域切换的只读访问权限：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "arc-region-switch:GetPlan",
        "arc-region-switch:ListPlans",
        "arc-region-switch:GetPlanInRegion",
        "arc-region-switch:ListPlansInRegion",
        "arc-region-switch:GetPlanEvaluationStatus",
        "arc-region-switch:GetPlanExecution",
        "arc-region-switch:ListRoute53HealthChecks",
        "arc-region-switch:ListRoute53HealthChecksInRegion",
        "arc-region-switch:ListPlanExecutions",
        "arc-region-switch:ListPlanExecutionEvents",
        "arc-region-switch:ListTagsForResource"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# 执行块权限
<a name="security_iam_region_switch_execution_blocks"></a>

 以下各节提供示例 IAM 策略，这些策略为您添加到区域切换计划中的特定执行块提供所需的权限。

**Topics**
+ [EC2 Auto Scaling 执行区块示例策略](security_iam_region_switch_ec2_autoscaling.md)
+ [Amazon EKS 资源扩展执行块示例策略](security_iam_region_switch_eks.md)
+ [Amazon ECS 服务扩展执行块示例策略](security_iam_region_switch_ecs.md)
+ [ARC 路由控制执行块策略示例](security_iam_region_switch_arc_routing.md)
+ [Aurora Global Database 执行块示例策略](security_iam_region_switch_aurora.md)
+ [亚马逊 DocumentDB 全球集群执行区块策略示例](security_iam_region_switch_documentdb.md)
+ [Amazon RDS 执行区块策略示例](security_iam_region_switch_rds.md)
+ [手动审批执行块示例策略](security_iam_region_switch_manual_approval.md)
+ [自定义操作 Lambda 执行块示例策略](security_iam_region_switch_lambda.md)
+ [Route 53 运行状况检查执行块示例策略](security_iam_region_switch_route53.md)
+ [区域切换计划执行块示例策略](security_iam_region_switch_plan_execution.md)

# EC2 Auto Scaling 执行区块示例策略
<a name="security_iam_region_switch_ec2_autoscaling"></a>

 以下是在 EC2 Auto Scaling 群组的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "autoscaling:DescribeAutoScalingGroups"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "autoscaling:UpdateAutoScalingGroup"
      ],
      "Resource": [
        "arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:123d456e-123e-1111-abcd-EXAMPLE22222:autoScalingGroupName/app-asg-primary",
        "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:1234a321-123e-1234-aabb-EXAMPLE33333:autoScalingGroupName/app-asg-secondary" 
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:GetMetricStatistics"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# Amazon EKS 资源扩展执行块示例策略
<a name="security_iam_region_switch_eks"></a>

 以下是在 Amazon EKS 资源扩展的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "eks:DescribeCluster"
      ],
      "Resource": [
        "arn:aws:eks:us-east-1:123456789012:cluster/app-eks-primary",
        "arn:aws:eks:us-west-2:123456789012:cluster/app-eks-secondary"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "eks:ListAssociatedAccessPolicies"
      ],
      "Resource": [
        "arn:aws:eks:us-east-1:123456789012:access-entry/app-eks-primary/*",
        "arn:aws:eks:us-west-2:123456789012:access-entry/app-eks-secondary/*"
      ]
    }
  ]
}
```

------

 注意：除了此 IAM 策略外，还需要使用 `AmazonArcRegionSwitchScalingPolicy` 访问策略将计划执行角色添加到 Amazon EKS 集群的访问条目中。有关更多信息，请参阅 [配置 EKS 访问条目权限](eks-resource-scaling-block.md#eks-resource-scaling-block-permissions)。

# Amazon ECS 服务扩展执行块示例策略
<a name="security_iam_region_switch_ecs"></a>

 以下是在 Amazon ECS 资源扩展的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecs:DescribeServices",
        "ecs:UpdateService"
      ],
      "Resource": [
        "arn:aws:ecs:us-east-1:123456789012:service/app-cluster-primary/app-service",
        "arn:aws:ecs:us-west-2:123456789012:service/app-cluster-secondary/app-service"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:DescribeClusters"
      ],
      "Resource": [
        "arn:aws:ecs:us-east-1:123456789012:cluster/app-cluster-primary",
        "arn:aws:ecs:us-west-2:123456789012:cluster/app-cluster-secondary"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:ListServices"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "application-autoscaling:DescribeScalableTargets",
        "application-autoscaling:RegisterScalableTarget"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:GetMetricStatistics"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# ARC 路由控制执行块策略示例
<a name="security_iam_region_switch_arc_routing"></a>

 注意：Amazon ARC 路由控制执行区块要求应用于计划执行角色的任何服务控制策略 (SCPs) 都允许这些服务访问以下区域：
+ `route53-recovery-control-config: us-west-2`
+ `route53-recovery-cluster: us-west-2, us-east-1, eu-west-1, ap-southeast-2, ap-northeast-1`

以下是在 ARC 路由控制的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "route53-recovery-control-config:DescribeControlPanel",
        "route53-recovery-control-config:DescribeCluster"
      ],
      "Resource": [
        "arn:aws:route53-recovery-control::123456789012:controlpanel/abcd1234abcd1234abcd1234abcd1234",
        "arn:aws:route53-recovery-control::123456789012:cluster/4b325d3b-0e28-4dcf-ba4a-EXAMPLE11111"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "route53-recovery-cluster:GetRoutingControlState",
        "route53-recovery-cluster:UpdateRoutingControlStates"
      ],
      "Resource": [
        "arn:aws:route53-recovery-control::123456789012:controlpanel/1234567890abcdef1234567890abcdef/routingcontrol/abcdef1234567890", 
        "arn:aws:route53-recovery-control::123456789012:controlpanel/1234567890abcdef1234567890abcdef/routingcontrol/1234567890abcdef" 
      ]
    }
  ]
}
```

------

您可以使用 CLI 检索路由控制面板 ID 和集群 ID。有关更多信息，请参阅 [设置路由控制组件](getting-started-cli-routing-config.md)。

# Aurora Global Database 执行块示例策略
<a name="security_iam_region_switch_aurora"></a>

 以下是在 Aurora 数据库的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "rds:DescribeGlobalClusters",
        "rds:DescribeDBClusters"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "rds:FailoverGlobalCluster",
        "rds:SwitchoverGlobalCluster"
      ],
      "Resource": [
        "arn:aws:rds::123456789012:global-cluster:app-global-db",
	      "arn:aws:rds:us-east-1:123456789012:cluster:app-db-primary", 
        "arn:aws:rds:us-west-2:123456789012:cluster:app-db-secondary"  
      ]
    }
  ]
}
```

------

# 亚马逊 DocumentDB 全球集群执行区块策略示例
<a name="security_iam_region_switch_documentdb"></a>

 如果您向 Amazon DocumentDB 全球集群的区域切换计划添加执行块，则需要附加以下示例策略。

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "rds:DescribeGlobalClusters",
        "rds:DescribeDBClusters",
        "rds:FailoverGlobalCluster",
        "rds:SwitchoverGlobalCluster"
      ],
      "Resource": "*"
    }
  ]
}
```

# Amazon RDS 执行区块策略示例
<a name="security_iam_region_switch_rds"></a>

 以下是在 Amazon RDS 只读副本促销或跨区域副本创建的区域切换计划中添加执行块时要附加的示例策略。

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "rds:DescribeDBInstances",
        "rds:PromoteReadReplica",
        "rds:CreateDBInstanceReadReplica",
        "rds:ModifyDBInstance"
      ],
      "Resource": "*"
    }
  ]
}
```

# 手动审批执行块示例策略
<a name="security_iam_region_switch_manual_approval"></a>

以下是在手动审批的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "arc-region-switch:ApprovePlanExecutionStep"
      ],
      "Resource": "arn:aws:arc-region-switch::123456789012:plan/sample-plan:0123abc"
    }
  ]
}
```

------

# 自定义操作 Lambda 执行块示例策略
<a name="security_iam_region_switch_lambda"></a>

 以下是在 Lambda 函数的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "lambda:GetFunction",
        "lambda:InvokeFunction"
      ],
      "Resource": [
        "arn:aws:lambda:us-east-1:123456789012:function:app-recovery-primary",
        "arn:aws:lambda:us-west-2:123456789012:function:app-recovery-secondary"
      ]
    }
  ]
}
```

------

# Route 53 运行状况检查执行块示例策略
<a name="security_iam_region_switch_route53"></a>

 以下是在 Route 53 运行状况检查的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "route53:ListResourceRecordSets"
      ],
      "Resource": [
        "arn:aws:route53:::hostedzone/Z1234567890ABCDEFGHIJ"
      ]
    }
  ]
}
```

------

# 区域切换计划执行块示例策略
<a name="security_iam_region_switch_plan_execution"></a>

 以下是在运行子计划的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "arc-region-switch:StartPlanExecution",
        "arc-region-switch:GetPlanExecution",
        "arc-region-switch:CancelPlanExecution",
        "arc-region-switch:UpdatePlanExecution",
        "arc-region-switch:ListPlanExecutions"
      ],
      "Resource": [
        "arn:aws:arc-region-switch::123456789012:plan/child-plan-1/abcde1",
        "arn:aws:arc-region-switch::123456789012:plan/child-plan-2/fghij2"
      ]
    }
  ]
}
```

------

# CloudWatch 应用程序运行状况权限警报
<a name="security_iam_region_switch_cloudwatch"></a>

 以下是附加到应用程序运行状况访问 CloudWatch 警报的示例策略，这些警报用于帮助确定实际恢复时间。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:DescribeAlarmHistory",
        "cloudwatch:DescribeAlarms"
      ],
      "Resource": [
        "arn:aws:cloudwatch:us-east-1:123456789012:alarm:app-health-primary",
        "arn:aws:cloudwatch:us-west-2:123456789012:alarm:app-health-secondary"
      ]
    }
  ]
}
```

------

# 自动计划执行报告权限
<a name="security_iam_region_switch_reports"></a>

 以下是您为区域切换计划配置自动生成报告时要附加的示例策略。此政策包括向 Amazon S3 撰写报告、访问 CloudWatch 警报数据以及检索家长计划的子计划信息的权限。

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::your-bucket-name/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:DescribeAlarms",
        "cloudwatch:DescribeAlarmHistory"
      ],
      "Resource": [
        "arn:aws:cloudwatch:us-east-1:123456789012:alarm:app-health-primary"
        "arn:aws:cloudwatch:us-west-2:123456789012:alarm:app-health-secondary"
      ],
    },
    {
      "Effect": "Allow",
      "Action": [
        "arc-region-switch:GetPlanExecution",
        "arc-region-switch:ListPlanExecutionEvents"
      ],
      "Resource": [
        "arn:aws:arc-region-switch:us-east-1:123456789012:plan/child-plan-1/abcde1",
        "arn:aws:arc-region-switch:us-west-2:123456789012:plan/child-plan-2/fghij2"
      ],
    }
  ]
}
```

 注意：如果您为 Amazon S3 存储桶加密配置客户托管密 AWS KMS 钥，则还必须为该密钥添加`kms:GenerateDataKey`和`kms:Encrypt`权限。

# 跨账户资源权限
<a name="security_iam_region_switch_cross_account"></a>

 如果资源位于不同的账户中，则需要跨账户角色。以下是跨账户角色的信任策略示例。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:role/RegionSwitchExecutionRole"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "UniqueExternalId123"
        }
      }
    }
  ]
}
```

------

 以下是计划执行角色代入此跨账户角色所需的权限：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::987654321098:role/RegionSwitchCrossAccountRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "UniqueExternalId123"
        }
      }
    }
  ]
}
```

------

# 完成计划执行角色权限
<a name="security_iam_region_switch_complete_policy"></a>

 要创建包含所有执行块权限的全面策略，则需要一个相当大的策略。实际上，您只应包括您在特定计划中使用的执行块的权限。

以下是您可用作计划执行角色策略起点的示例策略。请务必添加计划中包含的特定执行块所需的其他策略。仅包含您在计划中使用的特定执行块所需的权限，以遵循最低权限原则

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:SimulatePrincipalPolicy",
            "Resource": "arn:aws:iam::123456789012:role/RegionSwitchExecutionRole"
        },
        {
            "Effect": "Allow",
            "Action": [
                "arc-region-switch:GetPlan",
                "arc-region-switch:GetPlanExecution",
                "arc-region-switch:ListPlanExecutions"
            ],
            "Resource": "*"
        }
    ]
}
```

------