

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

# Amazon SQS 無效字母佇列再驅動的 CloudTrail 更新和許可要求
<a name="sqs-dead-letter-queues-cloudtrail"></a>

2023 年 6 月 8 日，Amazon SQS 推出了 SDK 和 (CLI) 的 AWS 無效字母佇列 AWS Command Line Interface (DLQ) 再驅動。此功能是 AWS 主控台已支援之 DLQ 再驅動的新增功能。如果您先前已使用 AWS 主控台重新驅動無效字母佇列訊息，您可能會受到下列變更的影響：

## CloudTrail 事件重新命名
<a name="sqs-dead-letter-queues-cloudtrail-renaming"></a>

2023 年 10 月 15 日，Amazon SQS 主控台上無效字母佇列再驅動的 CloudTrail 事件名稱將會變更。如果您已為這些 CloudTrail 事件設定警示，則必須立即更新警示。以下是 DLQ 再驅動的新 CloudTrail 事件名稱：


| 上一個事件名稱 | 新事件名稱 | 
| --- | --- | 
| `CreateMoveTask` | `StartMessageMoveTask` | 
| `CancelMoveTask` | `CancelMessageMoveTask` | 

## 更新許可
<a name="sqs-dead-letter-queues-cloudtrail-permissions"></a>

Amazon SQS 也隨附於 SDK 和 CLI 版本中，也更新了 DLQ 再驅動的佇列許可，以符合安全最佳實務。使用下列佇列許可類型來再驅動 DLQ 的訊息。

1. 動作型許可 (DLQ API 動作的更新)

1. 受管 Amazon SQS 政策許可

1. 使用 sqs:\* 萬用字元的許可政策

**重要**  
若要使用 SDK 或 CLI 的 DLQ 再驅動，您必須擁有符合上述其中一個選項的 DLQ 再驅動許可政策。

如果 DLQ 再驅動的佇列許可不符合上述其中一個選項，您必須在 2023 年 8 月 31 日前更新您的許可。從現在到 2023 年 8 月 31 日，您的帳戶將只能在您之前使用過 DLQ 再驅動的區域中，使用以 AWS 主控台設定的許可再驅動訊息。例如，假設您在 us-east-1 和 eu-west-1 中都有「帳戶 A」。在 2023 年 6 月 8 日之前，「帳戶 A」用於在 us-east-1 AWS 主控台上重新驅動訊息，但不適用於 eu-west-1。在 2023 年 6 月 8 日至 2023 年 8 月 31 日期間，如果「帳戶 A」政策許可不符合上述其中一個選項，則只能用於在 us-east-1 的 AWS 主控台上重新驅動訊息，而不是在 eu-west-1 中。

**重要**  
 如果您的 DLQ 再驅動許可在 2023 年 8 月 31 日之後不符合這些選項之一，您的帳戶將無法再使用 AWS 主控台再驅動 DLQ 訊息。  
 不過，如果您在 2023 年 8 月期間在 AWS 主控台上使用 DLQ 再驅動功能，您可以在 2023 年 10 月 15 日之前延長，以根據其中一個選項採用新的許可。  
 如需詳細資訊，請參閱[識別受影響政策](#identifying-impacted-policies)。

以下是每個 DLQ 再驅動選項的佇列許可範例。使用[伺服器端加密 (SSE) 佇列](sqs-configure-sse-existing-queue.md)時，需要對應的 AWS KMS 金鑰許可。

**動作型**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sqs:ReceiveMessage",
                "sqs:DeleteMessage",
                "sqs:GetQueueAttributes",
                "sqs:StartMessageMoveTask",
                "sqs:ListMessageMoveTasks",
                "sqs:CancelMessageMoveTask"
            ],
            "Resource": "arn:aws:sqs:us-west-1:123456789012:<DLQ_name>"
        },
        {
            "Effect": "Allow",
            "Action": "sqs:SendMessage",
            "Resource": "arn:aws:sqs:us-west-1:123456789012:<DestQueue_name>"
        }
    ]
}
```

------

**受管政策**

下列受管政策包含必要的更新許可：
+ **AmazonSQSFullAccess** - 包含下列無效字母佇列再驅動工作：啟動、取消和清單。
+ **AmazonSQSReadOnlyAccess** – 提供唯讀存取權限，並包含清單無效字母佇列再驅動工作。

![Amazon SQS 顯示AmazonSQSFullAccess啟動、取消和列出無效字母佇列再驅動任務以及AmazonSQSReadOnlyAccess唯讀存取的許可政策。](https://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-dlq-cloudtrail.png)


**使用 sqs\* 萬用字元的許可政策**

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sqs:*",
      "Resource": "*"
    }
  ]
}
```

------

## 識別受影響政策
<a name="identifying-impacted-policies"></a>

 如果您使用客戶受管政策 (CMPs)，您可以使用 AWS CloudTrail 和 IAM 來識別受佇列許可更新影響的政策。

**注意**  
 如果您正在使用 `AmazonSQSFullAccess` 和 `AmazonSQSReadOnlyAccess`，則不需要進一步的動作。

1.  登入 AWS CloudTrail 主控台。

1.  在**事件歷史記錄**頁面的**查詢屬性**下，使用下拉式功能表選取*事件名稱*。然後搜尋 `CreateMoveTask`。

1.  選擇事件以開啟**詳細資訊**頁面。在**事件記錄**區段中，從 `userIdentity` ARN 擷取 `UserName` 或 `RoleName`。

1.  登入 IAM 主控台。
   + 對於使用者，請選擇 [使用者]。選取上一個步驟中標識 `UserName` 的使用者。
   + 對於角色，請選擇 [角色]。搜尋上一個步驟中標識 `RoleName` 的使用者。

1.  在**詳細資訊**頁面的**許可**區段中，檢閱任何在 `Action` 中包含 `sqs:` 字首的政策，或檢閱 `Resource` 中已定義 Amazon SQS 佇列的政策。