

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

# 在 Amazon SQS 中測試屬性型存取控制
<a name="sqs-abac-testing-access-control"></a>

以下範例顯示如何在 Amazon SQS 中測試屬性型存取控制。

## 使用設定為 environment 的標籤鍵和設定為 prod 的標籤值來建立佇列
<a name="sqs-abac-testing-access-control-create-queue"></a>

執行此 AWS CLI 命令來測試建立佇列時，標籤索引鍵設定為 environment，標籤值設定為 prod。如果您沒有 AWS CLI，您可以[下載並設定](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)機器的 CLI。

```
aws sqs create-queue --queue-name prodQueue —region us-east-1 —tags "environment=prod"
```

您收到來自 Amazon SQS 端點的 `AccessDenied` 錯誤訊息：

```
An error occurred (AccessDenied) when calling the CreateQueue operation: Access to the resource <queueUrl> is denied.
```

這是因為 IAM 使用者上的標籤值與 [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) API 呼叫中傳遞的標籤不符。請記住，我們將標籤套用至具有鍵設定為 `environment` 且值設定為 `beta` 的 IAM 使用者。

## 以設定為 environment 的標籤鍵和設定為 beta 的標籤值建立佇列
<a name="sqs-abac-testing-access-control-create-env"></a>

執行此 CLI 命令，測試以設定為 `environment` 的標籤鍵和設定為 `beta` 的標籤值建立佇列。

```
aws sqs create-queue --queue-name betaQueue —region us-east-1 —tags "environment=beta"
```

您會收到一則訊息，確認佇列已成功建立，類似下列內容。

```
{
"QueueUrl": "<queueUrl>“
}
```

## 傳送訊息至佇列
<a name="sqs-abac-testing-access-control-sending-message"></a>

執行此 CLI 命令以測試將訊息傳送至佇列。

```
aws sqs send-message --queue-url <queueUrl> --message-body testMessage
```

回應顯示已成功將訊息傳遞至 Amazon SQS 佇列。IAM 使用者許可權允許您將訊息傳送至具有 `beta` 標籤的佇列。回應包括內含訊息的 `MD5OfMessageBody` 和 `MessageId`。

```
{
"MD5OfMessageBody": "<MD5OfMessageBody>",
"MessageId": "<MessageId>"
}
```