

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

# `AWS-EnableSQSEncryption`
<a name="aws-enablesqsencryption"></a>

 **Description** 

 `AWS-EnableSQSEncryption` Runbook 可為 Amazon Simple Queue Service (Amazon SQS) 佇列啟用靜態加密。Amazon SQS 佇列可以使用 Amazon SQS 受管金鑰 (SSE-SQS) 或使用 AWS Key Management Service (AWS KMS) 受管金鑰 (SSE-KMS) 加密。您指派給佇列的金鑰必須具有金鑰政策，其中包含授權使用該佇列的所有主體的許可。啟用加密後，匿名`SendMessage`和對加密佇列的`ReceiveMessage`請求會遭到拒絕。

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

**文件類型**

 自動化

**擁有者**

Amazon

**平台**

Linux、macOS、 Windows

**參數**
+ AutomationAssumeRole

  類型：字串

  描述：（選用） 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色，Systems Manager Automation 會使用啟動此 Runbook 的使用者許可。
+ QueueUrl

  類型：字串

  描述：（必要） 您要啟用加密的 Amazon SQS 佇列 URL。
+ KmsKeyId

  類型：字串

  描述：（選用） 用於加密的 AWS KMS 金鑰。此值可以是全域唯一識別符、別名或金鑰的 ARN，或是以 "alias/" 開頭的別名名稱。您也可以透過指定別名 aws/sqs 來使用 AWS 受管金鑰。
+ KmsDataKeyReusePeriodSeconds

  類型：字串

  有效值：60-86400

  預設：300

  描述：（選用） Amazon SQS 佇列可以重複使用資料金鑰來加密或解密訊息的時間長度，然後再 AWS KMS 再次呼叫。

**必要的 IAM 許可**

`AutomationAssumeRole` 參數需要下列動作才能成功使用 Runbook。
+ `ssm:GetAutomationExecution`
+ `ssm:StartAutomationExecution`
+ `sqs:GetQueueAttributes`
+ `sqs:SetQueueAttributes`

 **文件步驟** 
+ SelectKeyType (`aws:branch`)：根據指定金鑰的分支。
+ PutAttributeSseKms (`aws:executeAwsApi`) - 更新 Amazon SQS 佇列以使用為加密指定的 AWS KMS 金鑰。
+ PutAttributeSseSqs (`aws:executeAwsApi`) - 更新 Amazon SQS 佇列以使用預設金鑰進行加密。
+ VerifySqsEncryptionKms (`aws:assertAwsResourceProperty`) - 驗證 Amazon SQS 佇列上已啟用加密。
+ VerifySqsEncryptionDefault (`aws:assertAwsResourceProperty`) - 驗證 Amazon SQS 佇列上已啟用加密。