

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# `AWSSupport-ConfigureS3ReplicationSameAndCrossAccount`
<a name="automation-aws-configures3replicationsameandcrossaccount"></a>

 **Description** 

`AWSSupport-ConfigureS3ReplicationSameAndCrossAccount` 自動化 Runbook 會為相同或跨帳戶設定來源與目的地儲存貯體之間的 Amazon Simple Storage Service (Amazon S3) 儲存貯體複寫。此自動化支援複寫使用 Amazon S3-Managed管金鑰 (SSE-S3) 進行伺服器端加密和使用 AWS Key Management Service (SSE-KMS) 進行伺服器端加密的儲存貯體。它還支援字首和標籤型選擇性複寫篩選、具有 15 分鐘 SLA 的 Amazon S3 複寫時間控制 (Amazon S3 RTC)，以及刪除標記複寫。自動化會執行下列動作：
+ 驗證輸入參數和儲存貯體組態的相容性。
+ 檢查來源和目的地儲存貯體上的加密設定。
+ 如果未提供 作為輸入，則建立具有適當複寫許可的新 AWS Identity and Access Management (IAM) 角色。
+ 根據指定的參數 （字首、標籤或整個儲存貯體） 設定複寫規則。
+ 如果尚未啟用，請啟用儲存貯體版本控制。
+ 使用複寫時間控制 (RTC) 和刪除標記複寫等選用功能來設定複寫組態。

**重要**  
**此自動化不支援具有現有複寫規則的儲存貯體。**來源儲存貯體不得有任何現有的複寫組態。
如果未提供 S3ReplicationRole 輸入，則**此自動化會建立具有適當複寫許可的新 IAM 角色**。
**此自動化不會複寫現有的物件。**Amazon S3 複寫僅適用於啟用複寫組態後上傳/建立的物件。
對於跨帳戶複寫，您必須為目的地帳戶中的 IAM 角色提供適當的 Amazon S3 操作和 AWS KMS 操作許可 （如果儲存貯體使用 AWS KMS 加密）。
此自動化使用 `aws:approve`動作，這會暫時暫停執行，直到指定的委託人核准組態變更為止。如需詳細資訊[，請參閱使用核准者執行自動化](https://docs.aws.amazon.com//systems-manager/latest/userguide/running-automations-require-approvals.html)。

 **如何運作？** 

Runbook 會執行下列步驟：
+ **ValidateInputParameters**：驗證所有輸入參數的正確性和相容性，以確保適當的複寫組態。
+ **PrepareApprovalMessage**：準備包含所有複寫組態參數的核准訊息以供使用者檢閱。
+ **RequestApproval**：在來源儲存貯體上新增 Amazon S3 複寫組態之前，請求授權使用者的核准。
+ **CheckBucketEncryption**：檢查來源和目的地 Amazon S3 儲存貯體的加密組態，以判斷相容的複寫設定。
+ **BranchOnEncryptionType**：根據 Amazon S3 儲存貯體加密類型分支執行，以套用 SSE-S3 或 SSE-KMS 加密儲存貯體的適當複寫組態。
+ **ConfigureSSES3Replication**：為使用伺服器端加密搭配 Amazon S3 S3-Managed3 複寫，包括 IAM 角色和複寫規則。
+ **ConfigureSSEKMSReplication**：為使用伺服器端加密 AWS KMS (SSE-KMS) 加密的儲存貯體設定 Amazon S3 複寫，包括 IAM 角色、KMS 金鑰許可和複寫規則。
+ **CleanupResources**：當未提供 S3ReplicationRole 做為輸入時，清除在複寫組態失敗期間建立的 IAM 角色。

 [執行此自動化 （主控台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ConfigureS3ReplicationSameAndCrossAccount) 

**必要的 IAM 許可**

`AutomationAssumeRole` 參數需要下列動作才能成功使用 Runbook。
+ s3:ListBucket
+ s3:GetBucketVersioning
+ s3:GetEncryptionConfiguration
+ s3:GetBucketLocation
+ s3:GetReplicationConfiguration
+ s3:PutBucketVersioning
+ s3:PutReplicationConfiguration
+ iam:ListRoles
+ iam:GetRole
+ iam:GetRolePolicy
+ iam：ListRoleTags
+ iam:ListAttachedRolePolicies
+ iam:ListRolePolicies
+ iam:SimulatePrincipalPolicy
+ iam:CreateRole
+ iam：TagRole
+ iam:PassRole
+ iam:DeleteRole
+ iam:DeleteRolePolicy
+ iam:DetachRolePolicy
+ iam：PutRolePolicy
+ sts:GetCallerIdentity
+ sns:Publish
+ kms:GetKeyPolicy （當儲存貯體使用 SSE-KMS 時，相同帳戶複寫）
+ kms:DescribeKey （當儲存貯體使用 SSE-KMS 時，相同帳戶複寫）
+ kms:PutKeyPolicy （當儲存貯體使用 SSE-KMS 時，相同帳戶複寫）
+ sts：AssumeRole （用於跨帳戶複寫）

**CrossAccountReplicationRole （適用於跨帳戶案例）：**

對於跨帳戶複寫，您必須在目的地帳戶中提供具有下列許可的 CrossAccountReplicationRole：
+ s3:ListBucket
+ s3:GetBucketVersioning
+ s3:GetBucketLocation
+ s3:GetBucketPolicy
+ s3:GetEncryptionConfiguration
+ s3:PutBucketVersioning
+ s3:PutBucketPolicy
+ kms:GetKeyPolicy （跨帳戶目的地儲存貯體使用 SSE-KMS 時）
+ kms:DescribeKey （跨帳戶目的地儲存貯體使用 SSE-KMS 時）
+ kms:PutKeyPolicy （跨帳戶目的地儲存貯體使用 SSE-KMS 時）

**S3ReplicationRole （客戶提供的角色）：**

如果您提供現有的 S3ReplicationRole，則必須具有下列許可：
+ s3:ListBucket
+ s3:GetBucketLocation
+ s3:GetReplicationConfiguration
+ s3：GetObjectVersionAcl
+ s3：GetObjectVersionTagging
+ s3：GetObjectVersionForReplication
+ s3：GetObjectTagging
+ s3：ReplicateObject
+ s3：ReplicateDelete
+ s3：ReplicateTags
+ s3：ObjectOwnerOverrideToBucketOwner
+ kms:Decrypt （對於 SSE-KMS 案例，來源 KMS 金鑰）
+ kms:Encrypt （適用於 SSE-KMS 案例、目的地 KMS 金鑰）
+ kms:GenerateDataKey （適用於 SSE-KMS 案例、目的地 KMS 金鑰）
+ kms:ReEncrypt\$1 （適用於 SSE-KMS 案例、目的地 KMS 金鑰）

**相同帳戶複寫**的範例 **AutomationAssumeRole** 政策：

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketVersioning",
                "s3:GetEncryptionConfiguration",
                "s3:GetBucketLocation",
                "s3:GetReplicationConfiguration",
                "s3:ListBucket",
                "s3:PutBucketVersioning",
                "s3:PutReplicationConfiguration"
            ],
            "Resource": [
                "arn:aws:s3:::SOURCE_BUCKET",
                "arn:aws:s3:::DESTINATION_BUCKET"
            ]
        },
        {
            "Sid": "IAMReadOperations",
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:GetRolePolicy",
                "iam:ListRoleTags",
                "iam:ListAttachedRolePolicies",
                "iam:ListRolePolicies",
                "iam:SimulatePrincipalPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IAMListRolesForCleanup",
            "Effect": "Allow",
            "Action": "iam:ListRoles",
            "Resource": "*"
        },
        {
            "Sid": "IAMCreateAndTagRole",
            "Effect": "Allow",
            "Action": [
                "iam:CreateRole",
                "iam:TagRole"
            ],
            "Resource": "arn:aws:iam::ACCOUNT_ID:role/S3RepRole-*",
            "Condition": {
                "StringLike": {
                    "aws:RequestTag/AWSSupport-ConfigureS3ReplicationSameAndCrossAccount": "*"
                }
            }
        },
        {
            "Sid": "IAMPassRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::ACCOUNT_ID:role/S3RepRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "s3.amazonaws.com"
                }
            }
        },
        {
            "Sid": "TaggedIAMRoleModifyAndDeleteOperations",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteRole",
                "iam:DeleteRolePolicy",
                "iam:DetachRolePolicy",
                "iam:PutRolePolicy"
            ],
            "Resource": "arn:aws:iam::ACCOUNT_ID:role/S3RepRole-*",
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/AWSSupport-ConfigureS3ReplicationSameAndCrossAccount": "*"
                }
            }
        },
        {
            "Sid": "STSGetCallerIdentity",
            "Effect": "Allow",
            "Action": "sts:GetCallerIdentity",
            "Resource": "*"
        },
        {
            "Sid": "SNSPublish",
            "Effect": "Allow",
            "Action": "sns:Publish",
            "Resource": "SNS_TOPIC_ARN"
        },
        {
            "Sid": "KMSKeyReadOperations",
            "Effect": "Allow",
            "Action": [
                "kms:GetKeyPolicy",
                "kms:DescribeKey"
            ],
            "Resource": [
                "arn:aws:kms:REGION:ACCOUNT_ID:key/SOURCE_KMS_KEY_ID",
                "arn:aws:kms:REGION:ACCOUNT_ID:key/DESTINATION_KMS_KEY_ID"
            ]
        },
        {
            "Sid": "KMSKeyMutatingOperations",
            "Effect": "Allow",
            "Action": "kms:PutKeyPolicy",
            "Resource": [
                "arn:aws:kms:REGION:ACCOUNT_ID:key/SOURCE_KMS_KEY_ID",
                "arn:aws:kms:REGION:ACCOUNT_ID:key/DESTINATION_KMS_KEY_ID"
            ],
            "Condition": {
                "StringEquals": {
                    "kms:CallerAccount": "ACCOUNT_ID"
                }
            }
        }
    ]
}
```

**注意**  
只有在儲存貯體使用 SSE-KMS 加密時，才需要政策陳述式 (KMSKeyReadOperations 和 KMSKeyMutatingOperations)。

**跨帳戶複寫**的範例 **AutomationAssumeRole** 政策：

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3SourceBucketOperations",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketVersioning",
                "s3:GetEncryptionConfiguration",
                "s3:GetBucketLocation",
                "s3:GetReplicationConfiguration",
                "s3:ListBucket",
                "s3:PutBucketVersioning",
                "s3:PutReplicationConfiguration"
            ],
            "Resource": "arn:aws:s3:::SOURCE_BUCKET"
        },
        {
            "Sid": "IAMReadOperations",
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:GetRolePolicy",
                "iam:ListRoleTags",
                "iam:ListAttachedRolePolicies",
                "iam:ListRolePolicies",
                "iam:SimulatePrincipalPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IAMListRolesForCleanup",
            "Effect": "Allow",
            "Action": "iam:ListRoles",
            "Resource": "*"
        },
        {
            "Sid": "IAMCreateAndTagRole",
            "Effect": "Allow",
            "Action": [
                "iam:CreateRole",
                "iam:TagRole"
            ],
            "Resource": "arn:aws:iam::SOURCE_ACCOUNT_ID:role/S3RepRole-*",
            "Condition": {
                "StringLike": {
                    "aws:RequestTag/AWSSupport-ConfigureS3ReplicationSameAndCrossAccount": "*"
                }
            }
        },
        {
            "Sid": "IAMPassRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::SOURCE_ACCOUNT_ID:role/S3RepRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "s3.amazonaws.com"
                }
            }
        },
        {
            "Sid": "TaggedIAMRoleModifyAndDeleteOperations",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteRole",
                "iam:DeleteRolePolicy",
                "iam:DetachRolePolicy",
                "iam:PutRolePolicy"
            ],
            "Resource": "arn:aws:iam::SOURCE_ACCOUNT_ID:role/S3RepRole-*",
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/AWSSupport-ConfigureS3ReplicationSameAndCrossAccount": "*"
                }
            }
        },
        {
            "Sid": "CrossAccountRoleAssumption",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "CROSS_ACCOUNT_REPLICATION_ROLE_ARN"
        },
        {
            "Sid": "STSGetCallerIdentity",
            "Effect": "Allow",
            "Action": "sts:GetCallerIdentity",
            "Resource": "*"
        },
        {
            "Sid": "SNSPublish",
            "Effect": "Allow",
            "Action": "sns:Publish",
            "Resource": "SNS_TOPIC_ARN"
        },
        {
            "Sid": "KMSSourceKeyReadOperations",
            "Effect": "Allow",
            "Action": [
                "kms:GetKeyPolicy",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:SOURCE_REGION:SOURCE_ACCOUNT_ID:key/SOURCE_KMS_KEY_ID"
        },
        {
            "Sid": "KMSSourceKeyMutatingOperations",
            "Effect": "Allow",
            "Action": "kms:PutKeyPolicy",
            "Resource": "arn:aws:kms:SOURCE_REGION:SOURCE_ACCOUNT_ID:key/SOURCE_KMS_KEY_ID",
            "Condition": {
                "StringEquals": {
                    "kms:CallerAccount": "SOURCE_ACCOUNT_ID"
                }
            }
        }
    ]
}
```

**注意**  
只有在來源儲存貯體使用 SSE-KMS 加密時，才需要政策陳述式 (KMSSourceKeyReadOperations 和 KMSSourceKeyMutatingOperations)。
將 CROSS\$1ACCOUNT\$1REPLICATION\$1ROLE\$1ARN 取代為您提供給自動化的實際 CrossAccountReplicationRole 參數值。

**CrossAccountReplicationRole** 政策範例：

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3DestinationBucketReadOperations",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketVersioning",
                "s3:GetBucketLocation",
                "s3:GetBucketPolicy",
                "s3:GetEncryptionConfiguration",
                "s3:ListBucket",
                "s3:PutBucketVersioning",
                "s3:PutBucketPolicy"
            ],
            "Resource": "arn:aws:s3:::DESTINATION_BUCKET"
        },
        {
            "Sid": "KMSDestinationKeyReadOperations",
            "Effect": "Allow",
            "Action": [
                "kms:GetKeyPolicy",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:DESTINATION_REGION:DESTINATION_ACCOUNT_ID:key/DESTINATION_KMS_KEY_ID"
        },
        {
            "Sid": "KMSDestinationKeyMutatingOperations",
            "Effect": "Allow",
            "Action": "kms:PutKeyPolicy",
            "Resource": "arn:aws:kms:DESTINATION_REGION:DESTINATION_ACCOUNT_ID:key/DESTINATION_KMS_KEY_ID",
            "Condition": {
                "StringEquals": {
                    "kms:CallerAccount": "DESTINATION_ACCOUNT_ID"
                }
            }
        }
    ]
}
```

**注意**  
只有在目的地儲存貯體使用 SSE-KMS 加密時，才需要 KMS 陳述式 (KMSDestinationKeyReadOperations 和 KMSDestinationKeyMutatingOperations)。針對 SSE-S3 案例移除這些陳述式。

CrossAccountReplicationRole 信任政策範例：

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "AUTOMATION_ASSUME_ROLE_ARN"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

**注意**  
以您提供給自動化的實際 AutomationAssumeRole 參數值取代 AUTOMATION\$1ASSUME\$1ROLE\$1ARN。

**S3ReplicationRole** 政策範例：

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3SourceBucketPermissions",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:GetReplicationConfiguration",
                "s3:GetObjectVersionAcl",
                "s3:GetObjectVersionTagging",
                "s3:GetObjectVersionForReplication",
                "s3:GetObjectTagging"
            ],
            "Resource": [
                "arn:aws:s3:::SOURCE_BUCKET",
                "arn:aws:s3:::SOURCE_BUCKET/*"
            ]
        },
        {
            "Sid": "S3DestinationBucketPermissions",
            "Effect": "Allow",
            "Action": [
                "s3:ReplicateObject",
                "s3:ReplicateDelete",
                "s3:ReplicateTags"
            ],
            "Resource": "arn:aws:s3:::DESTINATION_BUCKET/*"
        },
        {
            "Sid": "S3CrossAccountPermissions",
            "Effect": "Allow",
            "Action": "s3:ObjectOwnerOverrideToBucketOwner",
            "Resource": "arn:aws:s3:::DESTINATION_BUCKET/*"
        },
        {
            "Sid": "KMSSourceKeyPermissions",
            "Effect": "Allow",
            "Action": "kms:Decrypt",
            "Resource": "arn:aws:kms:SOURCE_REGION:SOURCE_ACCOUNT_ID:key/SOURCE_KMS_KEY_ID"
        },
        {
            "Sid": "KMSDestinationKeyPermissions",
            "Effect": "Allow",
            "Action": [
                "kms:Encrypt",
                "kms:GenerateDataKey",
                "kms:ReEncrypt*"
            ],
            "Resource": "arn:aws:kms:DESTINATION_REGION:DESTINATION_ACCOUNT_ID:key/DESTINATION_KMS_KEY_ID"
        }
    ]
}
```

**注意**  
只有在儲存貯體使用 SSE-KMS 加密時，才需要 KMS 陳述式 (KMSSourceKeyPermissions 和 KMSDestinationKeyPermissions)。
只有跨帳戶儲存貯體複寫需要 S3CrossAccountPermissions 陳述式。

S3ReplicationRole 信任政策範例：

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

 **指示** 

請依照下列步驟設定自動化：

1. 在文件下的 Systems Manager [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ConfigureS3ReplicationSameAndCrossAccount/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ConfigureS3ReplicationSameAndCrossAccount/description)中導覽至 。

1. 選擇 **Execute automation** (執行自動化)。

1. 針對輸入參數，輸入下列內容：
   + **AutomationAssumeRole （必要）：**
     + 描述：（必要） (IAM) 角色的 Amazon Resource Name AWS Identity and Access Management (ARN)，允許 Systems Manager Automation 代表您執行動作。如果未指定角色，Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。
     + 類型：`AWS::IAM::Role::Arn`
   + **SourceBucket （必要）：**
     + 描述：（必要） 建立或更新複寫規則的來源 Amazon S3 儲存貯體名稱。
     + 類型：`AWS::S3::Bucket::Name`
   + **DestinationBucket （必要）：**
     + 描述：（必要） 將複寫物件的目標 Amazon S3 儲存貯體名稱。
     + 類型：`String`
     + 允許模式： `^[0-9a-z][a-z0-9\\-\\.]{3,63}$`
   + **SourceAccountId （必要）：**
     + 描述：（必要） 來源儲存貯體所在的 AWS 帳戶 ID。
     + 類型：`String`
     + 允許模式： `^[0-9]{12,13}$`
   + **DestinationAccountId （必要）：**
     + 描述：（必要） 目的地儲存貯體所在的 AWS 帳戶 ID。
     + 類型：`String`
     + 允許模式： `^[0-9]{12,13}$`
   + **SnsNotificationArn （必要）：**
     + 描述：（必要） 自動化核准的 Amazon Simple Notification Service (Amazon SNS) 主題 ARN。
     + 類型：`String`
     + 允許模式： `^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):sns:[a-z]{2}(-gov)?(-iso[a-z]?)?-[a-z]{2,10}-[0-9]{1,2}:\\d{12}:[0-9a-zA-Z-_]{1,256}(.fifo)?$`
   + **核准者 （必要）：**
     + 描述：（必要） 授權核准自動化執行的 IAM 使用者/角色 ARNs 清單。
     + 類型：`StringList`
     + 允許模式： `^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::\\d{12}:(user|role)/[\\w+=,.@\\-/]+$`
   + **S3ReplicationRole （選用）：**
     + 描述：（選用） 用於 Amazon S3 複寫操作的現有 IAM 角色的 ARN。如果儲存貯體使用 SSE-KMS 加密，此角色必須具有從來源儲存貯體讀取和寫入目的地儲存貯體的許可，包括 KMS 許可。如果未提供，自動化將建立具有適當許可的新角色。
     + 類型：`String`
     + 允許模式： `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::\\d{12}:role/[\\w+=,.@\\-/]+$`
     + 預設：`""`
   + **CrossAccountReplicationRole （選用）：**
     + 描述：（選用） 自動化可擔任之目的地帳戶中 IAM 角色的 ARN。這是跨帳戶複寫的必要項目。對於相同帳戶複寫，請將此保留空白。
     + 類型：`String`
     + 允許模式： `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::\\d{12}:role/[\\w+=,.@\\-/]+$`
     + 預設：`""`
   + **ReplicateEntireBucket （選用）：**
     + 描述：（選用） 如果設定為 `true`，則會複寫整個儲存貯體，且字首和標籤都必須空白。如果為 false，複寫將以指定的字首或標籤為基礎。
     + 類型：`Boolean`
     + 允許的值： `[true, false]`
     + 預設：`true`
   + **ReplicationRuleStatus （選用）：**
     + 描述：（選用） 如果設定為 `true`，則會啟用建立的複寫規則。如果設為 `false`，則建立的複寫規則將設為**已停用**。
     + 類型：`Boolean`
     + 允許的值： `[true, false]`
     + 預設：`true`
   + **DeleteMarkerReplicationStatus （選用）：**
     + 描述：（選用） 如果設定為 `true`，自動化會啟用刪除標記複寫。
     + 類型：`Boolean`
     + 允許的值： `[true, false]`
     + 預設：`false`
   + **ReplicationTimeControl （選用）：**
     + 描述：（選用） 如果設定為 `true`， 會使用 15 分鐘的 SLA 啟用 Amazon S3 複寫時間控制 (Amazon S3 RTC)，以取得可預測的複寫時間。
     + 類型：`Boolean`
     + 允許的值： `[true, false]`
     + 預設：`false`
   + **ReplicaModifications （選用）：**
     + 描述：（選用） 如果設定為 `true`，則啟用複寫對複本物件所做的中繼資料變更，允許對複寫物件的修改同步回來源。
     + 類型：`Boolean`
     + 允許的值： `[true, false]`
     + 預設：`false`
   + **字首 （選用）：**
     + 描述：（選用） 用於選擇性複寫具有特定金鑰字首之物件的字首篩選條件。字首必須以斜線 (/) 結尾，才能正確篩選 Amazon S3 字首。
     + 類型：`String`
     + 允許模式： `^$|^[a-zA-Z0-9!_'()\\-]*/+$`
     + 預設：`""`
   + **標籤 （選用）：**
     + 描述：（選用） 用於篩選要複寫之物件的標籤 JSON 陣列。單一標籤的格式：【\$1"Key"："TagKey"，"Value"："TagValue"\$1】 和多個標籤的格式：【\$1"Key"："TagKey1"，"Value"："TagValue1"\$1，\$1"Key"："TagKey2"，"Value"："TagValue2"\$1】。
     + 類型：`String`
     + 允許模式： `^\\[((\\{\"Key\":\"[a-zA-Z0-9+\\-=.:/ @\\s]{1,128}\",\"Value\":\"[a-zA-Z0-9+\\-=.:/@\\s]{0,256}\"\\})(,\\{\"Key\":\"[a-zA-Z0-9+\\-=.:/ @\\s]{1,128}\",\"Value\":\"[a-zA-Z0-9+\\-=.:/@\\s]{0,256}\"\\})*)?\\]$`
     + 預設：`[]`

1. 選取**執行**。

1. 自動化會啟動。

1. 文件會執行下列步驟：
   + **ValidateInputParameters**：

     驗證所有輸入參數的正確性和相容性，以確保適當的複寫組態。
   + **PrepareApprovalMessage**：

     使用所有複寫組態參數準備核准訊息以供使用者檢閱。
   + **RequestApproval**：

     在繼續進行 Amazon S3 複寫組態變更之前，請求授權使用者的核准。
   + **CheckBucketEncryption**：

     檢查來源和目的地 Amazon S3 儲存貯體的加密組態，以判斷相容的複寫設定。
   + **BranchOnEncryptionType**：

     根據 Amazon S3 儲存貯體加密類型分支執行，以套用 SSE-S3 或 SSE-KMS 加密儲存貯體的適當複寫組態。
   + **ConfigureSSES3Replication**：

     為使用伺服器端加密搭配 Amazon S3 S3-Managed 複寫，包括 IAM 角色和複寫規則。
   + **ConfigureSSEKMSReplication**：

     針對使用伺服器端加密 AWS KMS (SSE-KMS) 加密的儲存貯體設定 Amazon S3 複寫，包括 IAM 角色、KMS 金鑰許可和複寫規則。
   + **CleanupResources**：

     當客戶未提供 S3ReplicationRole 時，清除在複寫組態失敗期間建立的 IAM 角色。

1. 完成後，請檢閱 **ConfigureSSES3Replication** 步驟 （適用於 SSE-S3 加密儲存貯體） 或 **ConfigureSSEKMSReplication** 步驟 （適用於 SSE-KMS 加密儲存貯體） 的輸出以取得執行結果，包括複寫組態狀態以及用於複寫的 IAM 角色。

**參考**

Systems Manager Automation
+ [執行此自動化 （主控台）](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ConfigureS3ReplicationSameAndCrossAccount/description)
+ [執行自動化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [設定 自動化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [支援自動化工作流程](https://aws.amazon.com/premiumsupport/technology/saw/)