

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Attributbasierte Zugriffskontrolle für Amazon SQS
<a name="sqs-abac"></a>

## Was ist ABAC?
<a name="sqs-abac-whatis"></a>

Die attributebasierte Zugriffskontrolle (ABAC) ist ein Autorisierungsprozess, bei dem Berechtigungen auf der Grundlage von Tags definiert werden, die Benutzern und Ressourcen zugewiesen sind. AWS ABAC bietet eine detaillierte und flexible Zugriffskontrolle auf der Grundlage von Attributen und Werten, reduziert das Sicherheitsrisiko im Zusammenhang mit neu konfigurierten rollenbasierten Richtlinien und zentralisiert die Prüfung und Verwaltung von Zugriffsrichtlinien. Weitere Details zu ABAC finden Sie unter [Was ist ABAC für AWS?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) im *IAM-Benutzerhandbuch*.

Amazon SQS unterstützt ABAC, indem es Ihnen ermöglicht, den Zugriff auf Ihre Amazon-SQS-Warteschlangen anhand der Tags und Aliase zu kontrollieren, die mit einer Amazon-SQS-Warteschlange verknüpft sind. Die Tag- und Alias-Bedingungsschlüssel, die ABAC in Amazon SQS aktivieren, autorisieren IAM-Prinzipale, Amazon-SQS-Warteschlangen zu verwenden, ohne Richtlinien zu bearbeiten oder Erteilungen zu verwalten. Weitere Informationen zu ABAC-Bedingungsschlüsseln finden Sie unter [Bedingungsschlüssel für Amazon SQS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsqs.html#amazonsqs-policy-keys) in der *Service Authorization Reference*.

Mit ABAC können Sie Tags verwenden, um IAM-Zugriffsberechtigungen und Richtlinien für Ihre Amazon-SQS-Warteschlangen zu konfigurieren, was Ihnen hilft, Ihr Berechtigungsmanagement zu skalieren. Sie können in IAM eine einzige Berechtigungsrichtlinie erstellen, indem Sie Tags verwenden, die Sie jeder Geschäftsrolle hinzufügen – ohne die Richtlinie jedes Mal aktualisieren zu müssen, wenn Sie eine neue Ressource hinzufügen. Sie können IAM-Prinzipalen auch Tags zuordnen, um eine ABAC-Richtlinie zu erstellen. Sie können ABAC-Richtlinien entwerfen, um Amazon-SQS-Operationen zuzulassen, wenn das Tag in der IAM-Benutzerrolle, die den Aufruf tätigt, mit dem Amazon-SQS-Warteschlangen-Tag übereinstimmt. Weitere Informationen zum Tagging finden Sie unter AWS[AWS Tagging-Strategien](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) und. [Amazon-SQS-Kostenzuordnungs-Tags](sqs-queue-tags.md)

**Anmerkung**  
ABAC für Amazon SQS ist derzeit in allen AWS Handelsregionen verfügbar, in denen Amazon SQS verfügbar ist, mit den folgenden Ausnahmen:   
Asien-Pazifik (Hyderabad)
Asien-Pazifik (Melbourne)
Europa (Spain) 
Europa (Zürich)

## Weshalb sollte ich ABAC in Amazon SQS verwenden?
<a name="sqs-abac-benefits"></a>

Hier sind einige Vorteile der Verwendung von ABAC in Amazon SQS:
+ ABAC für Amazon SQS erfordert weniger Berechtigungsrichtlinien. Sie müssen keine verschiedenen Richtlinien für verschiedene Job-Funktionen erstellen müssen. Sie können Ressourcen- und Anforderungs-Tags verwenden, die für mehr als eine Warteschlange gelten, wodurch der Betriebsaufwand reduziert wird.
+ Verwenden Sie ABAC, um Teams schnell zu skalieren. Berechtigungen für neue Ressourcen werden automatisch basierend auf Tags erteilt, wenn Ressourcen bei ihrer Erstellung entsprechend gekennzeichnet werden.
+ Verwenden Sie Berechtigungen für den IAM-Prinzipal, um den Ressourcenzugriff einzuschränken. Sie können Tags für den IAM-Prinzipal erstellen und diese verwenden, um den Zugriff auf bestimmte Aktionen einzuschränken, die den Tags auf dem IAM-Prinzipal entsprechen. Auf diese Weise können Sie den Prozess der Erteilung von Anforderungsberechtigungen automatisieren.
+ Verfolgen Sie, wer auf Ihre Ressourcen zugreift. Sie können die Identität einer Sitzung anhand der Benutzerattribute unter AWS CloudTrail ermitteln.

**Topics**
+ [Was ist ABAC?](#sqs-abac-whatis)
+ [Weshalb sollte ich ABAC in Amazon SQS verwenden?](#sqs-abac-benefits)
+ [Markierungen für die Zugriffssteuerung](sqs-abac-tagging-resource-control.md)
+ [Erstellen von IAM-Benutzern und Amazon-SQS-Warteschlangen](sqs-abac-creating-queues.md)
+ [Testen der attributbasierten Zugriffssteuerung](sqs-abac-testing-access-control.md)

# Tagging für die Zugriffskontrolle in Amazon SQS
<a name="sqs-abac-tagging-resource-control"></a>

Im Folgenden finden Sie ein Beispiel für die Verwendung von Tags für die Zugriffskontrolle in Amazon SQS. Die IAM-Richtlinie beschränkt einen IAM-Benutzer auf alle Amazon-SQS-Aktionen für alle Warteschlangen, die ein Ressourcen-Tag mit der Schlüsselumgebung und der Wertproduktion enthalten. Weitere Informationen finden Sie unter [Attributbasierte Zugriffskontrolle mit Stichwörtern](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging_abac.html) und Organizations. AWS 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccessForProd",
      "Effect": "Allow",
      "Action": "sqs:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/environment": "prod"
        }
      }
    }
  ]
}
```

------

# Erstellen von IAM-Benutzern und Amazon-SQS-Warteschlangen
<a name="sqs-abac-creating-queues"></a>

In den folgenden Beispielen wird erklärt, wie eine ABAC-Richtlinie zur Steuerung des Zugriffs auf Amazon SQS mithilfe von und erstellt wird. AWS-Managementkonsole CloudFormation

## Mit dem AWS-Managementkonsole
<a name="sqs-abac-creating-queues-console"></a>

**Erstellen eines IAM-Benutzers**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie im linken Navigationsbereich **Benutzer** aus.

1. Wählen Sie **Benutzer hinzufügen** und geben Sie einen Namen in das Textfeld **Benutzername** ein.

1. Wählen Sie das Feld **Zugriffsschlüssel – Programmatischer Zugriff** und **Weiter: Berechtigungen** aus.

1. Wählen Sie **Weiter: Tags** aus.

1. Fügen Sie den Tag-Schlüssel als `environment` und den Tag-Wert als `beta` hinzu.

1. Wählen Sie **Weiter:Prüfung** und dann **Benutzer erstellen** aus.

1. Speichern Sie Ihre Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel an einem sicheren Ort.

**IAM-Benutzerberechtigungen hinzufügen**

1. Wählen Sie den IAM-Benutzer aus, den Sie erstellt haben.

1. Wählen Sie **Inline-Richtlinie hinzufügen**.

1. Fügen Sie auf der Registerkarte JSON die folgende Richtlinie ein.

1. Wählen Sie **Richtlinie prüfen**.

1. Wählen Sie **Richtlinie erstellen** aus.

## Verwenden AWS CloudFormation
<a name="sqs-abac-creating-queues-cf"></a>

Verwenden Sie die folgende CloudFormation Beispielvorlage, um einen IAM-Benutzer mit einer angehängten Inline-Richtlinie und einer Amazon SQS SQS-Warteschlange zu erstellen:

```
AWSTemplateFormatVersion: "2010-09-09"
Description: "CloudFormation template to create IAM user with custom inline policy"
Resources:
    IAMPolicy:
        Type: "AWS::IAM::Policy"
        Properties:
            PolicyDocument: |
                {
                    "Version": "2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Sid": "AllowAccessForSameResTag",
                            "Effect": "Allow",
                            "Action": [
                                "sqs:SendMessage",
                                "sqs:ReceiveMessage",
                                "sqs:DeleteMessage"
                            ],
                            "Resource": "*",
                            "Condition": {
                                "StringEquals": {
                                    "aws:ResourceTag/environment": "${aws:PrincipalTag/environment}"
                                }
                            }
                        },
                        {
                            "Sid": "AllowAccessForSameReqTag",
                            "Effect": "Allow",
                            "Action": [
                                "sqs:CreateQueue",
                                "sqs:DeleteQueue",
                                "sqs:SetQueueAttributes",
                                "sqs:tagqueue"
                            ],
                            "Resource": "*",
                            "Condition": {
                                "StringEquals": {
                                    "aws:RequestTag/environment": "${aws:PrincipalTag/environment}"
                                }
                            }
                        },
                        {
                            "Sid": "DenyAccessForProd",
                            "Effect": "Deny",
                            "Action": "sqs:*",
                            "Resource": "*",
                            "Condition": {
                                "StringEquals": {
                                    "aws:ResourceTag/stage": "prod"
                                }
                            }
                        }
                    ]
                }
                
            Users: 
              - "testUser"
            PolicyName: tagQueuePolicy

    IAMUser:
        Type: "AWS::IAM::User"
        Properties:
            Path: "/"
            UserName: "testUser"
            Tags: 
              - 
                Key: "environment"
                Value: "beta"
```

# Testen der attributbasierten Zugriffskontrolle in Amazon SQS
<a name="sqs-abac-testing-access-control"></a>

Die folgenden Beispiele zeigen, wie Sie die attributbasierte Zugriffssteuerung in Amazon SQS testen können.

## Erstellen einer Warteschlange, bei der der Tag-Schlüssel auf „environment“ und der Tag-Wert auf „prod“ gesetzt ist
<a name="sqs-abac-testing-access-control-create-queue"></a>

Führen Sie diesen AWS CLI-Befehl aus, um zu testen, wie die Warteschlange erstellt wird, wobei der Tag-Schlüssel auf environment und der Tag-Wert auf prod gesetzt ist. Wenn Sie nicht über AWS CLI verfügen, können Sie es [herunterladen und für Ihren Computer konfigurieren](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

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

Sie erhalten eine `AccessDenied`-Fehlermeldung vom Amazon-SQS-Endpunkt:

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

Dies liegt daran, dass der Tag-Wert des IAM-Benutzers nicht mit dem im [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)-API-Aufruf übergebenen Tag übereinstimmt. Denken Sie daran, dass wir dem IAM-Benutzer ein Tag zugewiesen haben, bei dem der Schlüssel auf `environment` und der Wert auf `beta` gesetzt ist.

## Erstellen Sie eine Warteschlange, bei der der Tag-Schlüssel auf „Umgebung“ und der Tag-Wert auf „Beta“ gesetzt ist
<a name="sqs-abac-testing-access-control-create-env"></a>

Führen Sie diesen CLI-Befehl aus, um zu testen, wie eine Warteschlange erstellt wird, bei der der Tag-Schlüssel auf `environment` und der Tag-Wert auf `beta` gesetzt sind.

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

Sie erhalten eine Meldung, die die erfolgreiche Erstellung der Warteschlange bestätigt, ähnlich der folgenden.

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

## Senden einer Mitteilung an eine Warteschlange
<a name="sqs-abac-testing-access-control-sending-message"></a>

Führen Sie diesen CLI-Befehl aus, um das Senden einer Nachricht an eine Warteschlange zu testen.

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

Die Antwort zeigt eine erfolgreiche Nachrichtenzustellung an die Amazon-SQS-Warteschlange. Die IAM-Benutzerberechtigung ermöglicht Ihnen, eine Nachricht an eine Warteschlange zu senden, die über ein `beta`-Tag verfügt. Die Antwort beinhaltet `MD5OfMessageBody` und `MessageId` mit der Nachricht.

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