

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

# `AWSSupport-ShareRDSSnapshot`
<a name="automation-aws-sharerdssnapshot"></a>

 **描述** 

 `AWSSupport-ShareRDSSnapshot` 运行手册为知识中心文章[如何与其他账户共享加密的 Amazon RDS 数据库快照？](https://aws.amazon.com/premiumsupport/knowledge-center/share-encrypted-rds-snapshot-kms-key/)概述的过程提供了自动解决方案。如果您的 Amazon Relational Database Service (Amazon RDS) 快照使用默认快照进行加密 AWS 托管式密钥，则无法共享该快照。在这种情况下，您必须使用客户托管密钥复制该快照，然后将其与目标账户共享。此自动化使用您在 `SnapshotName` 参数中指定的值或为所选 Amazon RDS 数据库实例或集群找到的最新快照执行这些步骤。

**注意**  
 如果您没有为`KMSKey`参数指定值，则自动化会在您的账户中创建一个用于加密快照的新 AWS KMS 客户托管密钥。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ShareRDSSnapshot) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

数据库

**参数**
+ AccountIds

  类型： StringList

  描述：（必填）要与之共享快照的账户列表 IDs ，以逗号分隔。
+ AutomationAssumeRole

  类型：字符串

  描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
+ 数据库

  类型：字符串

   描述：（必需）要共享其快照的 Amazon RDS 数据库实例或集群的名称。如果您为 `SnapshotName` 参数指定一个值，则此参数可选。
+ KMSKey

  类型：字符串

  描述：（可选）用于加密快照的 AWS KMS 客户托管密钥的完整 Amazon 资源名称（ARN）。
+ SnapshotName

  类型：字符串

  描述：（可选）要使用的数据库集群或实例快照的 ID。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+  `ssm:StartAutomationExecution` 
+  `rds:DescribeDBInstances` 
+  `rds:DescribeDBSnapshots` 
+  `rds:CopyDBSnapshot` 
+  `rds:ModifyDBSnapshotAttribute` 

 `AutomationAssumeRole` 需要执行以下操作才能成功启动数据库集群的运行手册。
+  `ssm:StartAutomationExecution` 
+  `rds:DescribeDBClusters` 
+  `rds:DescribeDBClusterSnapshots` 
+  `rds:CopyDBClusterSnapshot` 
+  `rds:ModifyDBClusterSnapshotAttribute` 

 必须将用于运行此自动化的 IAM 角色添加为密钥用户，才能使用 `ARNKmsKey` 参数中指定的 KMS 密钥。有关添加密钥用户至 KMS 密钥的信息，请参阅*AWS Key Management Service 《开发人员指南》*中的[更改密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)。

 如果您没有为 `KMSKey` 参数指定一个值，则 `AutomationAssumeRole` 需要执行以下额外操作才能成功启动运行手册。
+  `kms:CreateKey` 
+  `kms:ScheduleKeyDeletion` 
+  `kms:CreateGrant` 
+  `kms:DescribeKey` 

 **文档步骤** 

1.  `aws:executeScript`-检查是否为`KMSKey`参数提供了值，如果未找到任何值，则创建 AWS KMS 客户托管密钥。

1.  `aws:branch` - 检查是否为 `SnapshotName` 参数提供了一个值，并相应地进行了分支。

1.  `aws:executeAwsApi` - 检查提供的快照是否来自数据库实例。

1.  `aws:executeScript` - 格式化将冒号替换为连字符的 `SnapshotName` 参数。

1.  `aws:executeAwsApi` - 使用指定的 `KMSKey` 复制快照。

1.  `aws:waitForAwsResourceProperty` - 等待复制快照操作完成。

1.  `aws:executeAwsApi` - 与指定 `AccountIds` 的共享新快照。

1.  `aws:executeAwsApi` - 检查提供的快照是否来自数据库集群。

1.  `aws:executeScript` - 格式化将冒号替换为连字符的 `SnapshotName` 参数。

1.  `aws:executeAwsApi` - 使用指定的 `KMSKey` 复制快照。

1.  `aws:waitForAwsResourceProperty` - 等待复制快照操作完成。

1.  `aws:executeAwsApi` - 与指定 `AccountIds` 的共享新快照。

1.  `aws:executeAwsApi` - 检查为 `Database` 参数提供的值是否为数据库实例。

1.  `aws:executeAwsApi` - 检查为 `Database` 参数提供的值是否为数据库集群。

1.  `aws:executeAwsApi` - 检索指定 `Database` 的快照列表。

1.  `aws:executeScript` - 从在上一步汇总的列表中确定可用的最新快照。

1.  `aws:executeAwsApi` - 使用指定的 `KMSKey` 复制数据库实例快照。

1.  `aws:waitForAwsResourceProperty` - 等待复制快照操作完成。

1.  `aws:executeAwsApi` - 与指定 `AccountIds` 的共享新快照。

1.  `aws:executeAwsApi` - 检索指定 `Database` 的快照列表。

1.  `aws:executeScript` - 从在上一步汇总的列表中确定可用的最新快照。

1.  `aws:executeAwsApi` - 使用指定的 `KMSKey` 复制数据库实例快照。

1.  `aws:waitForAwsResourceProperty` - 等待复制快照操作完成。

1.  `aws:executeAwsApi` - 与指定 `AccountIds` 的共享新快照。

1.  `aws:executeScript`-如果您未为`KMSKey`参数指定值且自动化失败，则删除由自动化创建的 AWS KMS 客户托管密钥。