

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.

# IAM-Tutorial: Verwenden von SAML-Sitzungs-Tags für ABAC
<a name="tutorial_abac-saml"></a>

Attribute-based Access Control (ABAC) ist eine Autorisierungsstrategie, die Berechtigungen auf der Grundlage von Attributen definiert. In AWS werden diese Attribute als Tags bezeichnet. Sie können IAM-Ressourcen, einschließlich IAM-Entitäten (Benutzer oder Rollen), und Ressourcen Tags zuordnen. AWS Wenn die Entitäten verwendet werden, um Anfragen an zu stellen AWS, werden sie zu Principals, und diese Principals enthalten Tags.

Sie können [Sitzungs-Tags](id_session-tags.md) auch übergeben, wenn Sie eine Rolle übernehmen oder einen Benutzer in einen Verbund aufnehmen. Anschließend können Sie Richtlinien definieren, die Tag-Bedingungsschlüssel verwenden, um Ihren Auftraggeber basierend auf ihren Tags Berechtigungen zu erteilen. Wenn Sie Tags verwenden, um den Zugriff auf Ihre AWS -Ressourcen zu steuern, erlauben Sie Ihren Teams und Ressourcen das Wachsen, ohne dass viele Änderungen an AWS -Richtlinien vorgenommen werden müssen. ABAC-Richtlinien sind flexibler als herkömmliche AWS Richtlinien, bei denen Sie jede einzelne Ressource auflisten müssen. Weitere Informationen zu ABAC und seinen Vorteilen gegenüber herkömmlichen Richtlinien finden Sie unter [Berechtigungen basierend auf Attributen mit ABAC-Autorisierung definieren](introduction_attribute-based-access-control.md).

Wenn Ihr Unternehmen einen SAML-based Identity Provider (IdP) zur Verwaltung der Unternehmens-Benutzeridentitäten verwendet, können Sie SAML-Attribute für eine feingranulare Zugriffskontrolle in verwenden. AWS Zu den Attributen können Kostenstellenkennungen, Benutzer-E-Mail-Adressen, Abteilungsklassifizierungen und Projektzuweisungen gehören. Wenn Sie diese Attribute als Sitzungs-Tags übergeben, können Sie den Zugriff auf AWS basierend auf diesen Sitzungs-Tags steuern.

Um zum Abschluss des [ABAC-Tutorials](tutorial_attribute-based-access-control.md) SAML-Attribute an den Sitzungsauftraggeber zu übergeben, führen Sie die Aufgaben in [IAM-Tutorial: Zugriffsberechtigungen definieren AWS Ressourcen, die auf Stichwörtern basieren](tutorial_attribute-based-access-control.md) mit den in diesem Thema enthaltenen Änderungen.

## Voraussetzungen
<a name="tutorial_abac-saml-prerequisites"></a>

Um die Schritte zur Verwendung von SAML-Sitzungs-Tags für ABAC durchzuführen, müssen Sie bereits über Folgendes verfügen:
+ Zugriff auf einen SAML-based IdP, in dem Sie Testbenutzer mit bestimmten Attributen erstellen können. 
+ Die Fähigkeit zum Anmelden als ein Benutzer mit Administratorberechtigung.
+ Erfahrung mit dem Erstellen und Bearbeiten von IAM-Benutzern, -Rollen und Richtlinien in der AWS-Managementkonsole. Wenn Sie jedoch Hilfe bei einem IAM-Verwaltungsprozess benötigen, enthält das ABAC-Tutorial Links, über die Sie detaillierte Anweisungen anzeigen können.
+ Erfahrung beim Einrichten eines SAML-based IdP in IAM. Weitere Details und Links zur ausführlichen IAM-Dokumentation finden Sie unter [Übergeben von Sitzungs-Tags mit AssumeRoleWithSAML](id_session-tags.md#id_session-tags_adding-assume-role-saml).

## Schritt 1: Erstellen von Testbenutzern
<a name="tutorial_abac-saml-step1"></a>

Überspringen Sie die Anweisungen in [Schritt 1: Erstellen von Testbenutzern](tutorial_attribute-based-access-control.md#tutorial_abac_step1). Da Ihre Identitäten bei Ihrem Anbieter definiert sind, müssen Sie keine IAM-Benutzer für Ihre Mitarbeiter hinzufügen. 

## Schritt 2: Erstellen der ABAC-Richtlinie
<a name="tutorial_abac-saml-step2"></a>

Befolgen Sie die Anweisungen unter [Schritt 2: Erstellen der ABAC-Richtlinie](tutorial_attribute-based-access-control.md#tutorial_abac_step2), um die angegebene verwaltete Richtlinie in IAM zu erstellen. 

## Schritt 3: Erstellen und Konfigurieren der SAML-Rolle
<a name="tutorial_abac-saml-step3"></a>

Wenn Sie das ABAC-Tutorial für SAML verwenden, müssen Sie zusätzliche Schritte ausführen, um die Rolle zu erstellen, den SAML-IdP zu konfigurieren und den Zugriff zu aktivieren. AWS-Managementkonsole Weitere Informationen finden Sie unter [Schritt 3: Erstellen von Rollen](tutorial_attribute-based-access-control.md#tutorial_abac_step3).

### Schritt 3A: Erstellen der SAML-Rolle
<a name="tutorial_abac-saml-step3a"></a>

Erstellen Sie eine einzelne Rolle, die Ihrem SAML-Identitätsanbieter und dem IAM-Benutzer `test-session-tags` vertraut, den Sie in Schritt 1 erstellt haben. Das ABAC-Tutorial verwendet separate Rollen mit unterschiedlichen Rollen-Tags. Da Sie Sitzungs-Tags von Ihrem SAML-Identitätsanbieter übergeben, benötigen Sie nur eine Rolle. Informationen zum Erstellen einer SAML-based Rolle finden Sie unter. [Rollen für den SAML 2.0-Verbund erstellen (Konsole)](id_roles_create_for-idp_saml.md) 

Benennen Sie die Rolle `access-session-tags`. Fügen Sie die Berechtigungsrichtlinie `access-same-project-team` der Rolle an. Bearbeiten Sie die Rollenvertrauensrichtlinie, um die folgende Richtlinie zu verwenden. Ausführliche Anweisungen zum Bearbeiten der Vertrauensstellung einer Rolle finden Sie unter [Rollenvertrauensrichtlinie aktualisieren](id_roles_update-role-trust-policy.md).

Mit der folgenden Rollenvertrauensrichtlinie können Ihr SAML-Identitätsanbieter und der `test-session-tags`-Benutzer die Rolle übernehmen. Wenn sie die Rolle übernehmen, müssen sie die drei angegebenen Sitzungs-Tags übergeben. Die `sts:TagSession`-Aktion ist erforderlich, um die Übergabe von Sitzungs-Tags zu ermöglichen.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSamlIdentityAssumeRole",
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRoleWithSAML",
                "sts:TagSession"
            ],
            "Principal": {"Federated":"arn:aws:iam::{{123456789012}}:saml-provider/{{ExampleCorpProvider}}"},
            "Condition": {
                "StringLike": {
                    "aws:RequestTag/{{cost-center}}": "*",
                    "aws:RequestTag/{{access-project}}": "*",
                    "aws:RequestTag/{{access-team}}": [
                        "{{eng}}",
                        "{{qas}}"
                    ]
                },
                "StringEquals": {"SAML:aud": "https://{{region-code}}.signin.aws.amazon.com/saml"}
            }
        }
    ]
}
```

------

Die `AllowSamlIdentityAssumeRole` Anweisung ermöglicht es Mitgliedern der Konstruktions- und Qualitätssicherungsteams, diese Rolle zu übernehmen, wenn sie sich vom IdP der AWS Example Corporation aus zusammenschließen. Der SAML-Anbieter `ExampleCorpProvider` ist in IAM definiert. Der Administrator hat die SAML-Zusicherung bereits so eingerichtet, dass die drei erforderlichen Sitzungs-Tags übergeben werden. Die Zusicherung kann zusätzliche Tags übergeben, aber diese drei müssen vorhanden sein. Die Attribute der Identität können einen beliebigen Wert für die Tags`cost-center` und `access-project` haben. Der Wert des Attributs `access-team` muss jedoch `eng` oder `qas` entsprechen, um anzugeben, dass sich die Identität im Engineering- oder Qualitätssicherungsteam befindet. 

### Schritt 3B: Konfigurieren des SAML-Identitätsanbieters
<a name="tutorial_abac-saml-step3b"></a>

Konfigurieren Sie Ihren SAML-Identitätsanbieter so, dass die Attribute `cost-center`, `access-project` und`access-team` als Sitzungs-Tags übergeben werden. Weitere Informationen finden Sie unter [Übergeben von Sitzungs-Tags mit AssumeRoleWithSAML](id_session-tags.md#id_session-tags_adding-assume-role-saml).

Um diese Attribute als Sitzungs-Tags zu übergeben, schließen Sie die folgenden Elemente in Ihre SAML-Zusicherung ein.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:cost-center">
  <AttributeValue>987654</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:access-project">
  <AttributeValue>peg</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:access-team">
  <AttributeValue>eng</AttributeValue>
</Attribute>
```

### Schritt 3C: Aktivieren des Konsolenzugriffs
<a name="tutorial_abac-saml-step3b"></a>

Aktivieren Sie den Konsolenzugriff für Ihre verbundenen SAML-Benutzer. Weitere Informationen finden Sie unter [Aktivieren von SAML 2.0-Verbundprinzipalen für den Zugriff auf AWS-Managementkonsole](id_roles_providers_enable-console-saml.md).

## Schritt 4: Testen der Erstellung von Secrets
<a name="tutorial_abac-saml-step4"></a>

Schließen Sie sich an, um die Rolle zu AWS-Managementkonsole verwenden. `access-session-tags` Weitere Informationen finden Sie unter [Aktivieren von SAML 2.0-Verbundprinzipalen für den Zugriff auf AWS-Managementkonsole](id_roles_providers_enable-console-saml.md). Folgen Sie dann den Anweisungen in [Schritt 4: Testen der Erstellung von Secrets](tutorial_attribute-based-access-control.md#tutorial_abac_step4), um Secrets zu erstellen. Verwenden Sie verschiedene SAML-Identitäten mit Attributen, um den im ABAC-Tutorial angegebenen Tags zu entsprechen. Weitere Informationen finden Sie unter [Schritt 4: Testen der Erstellung von Secrets](tutorial_attribute-based-access-control.md#tutorial_abac_step4).

## Schritt 5: Testen der Anzeige von Secrets
<a name="tutorial_abac-saml-step5"></a>

Folgen Sie den Anweisungen in [Schritt 5: Testen der Anzeige von Secrets](tutorial_attribute-based-access-control.md#tutorial_abac_step5), um die Secrets anzuzeigen, die Sie im vorherigen Schritt erstellt haben. Verwenden Sie verschiedene SAML-Identitäten mit Attributen, um den im ABAC-Tutorial angegebenen Tags zu entsprechen.

## Schritt 6: Testen der Skalierbarkeit
<a name="tutorial_abac-saml-step6"></a>

Befolgen Sie die Anweisungen in [Schritt 6: Testen der Skalierbarkeit](tutorial_attribute-based-access-control.md#tutorial_abac_step6), um die Skalierbarkeit zu testen. Fügen Sie dazu Ihrem SAML-based IdP eine neue Identität mit den folgenden Attributen hinzu:
+ `cost-center = 101010`
+ `access-project = cen`
+ `access-team = eng`

## Schritt 7: Testen des Aktualisierens und Löschens von Secrets
<a name="tutorial_abac-saml-step7"></a>

Folgen Sie den Anweisungen in [Schritt 7: Testen des Aktualisierens und Löschens von Secrets](tutorial_attribute-based-access-control.md#tutorial_abac_step7), um Secrets zu aktualisieren und zu löschen. Verwenden Sie verschiedene SAML-Identitäten mit Attributen, um den im ABAC-Tutorial angegebenen Tags zu entsprechen.

**Wichtig**  
Löschen Sie alle Secrets, die Sie erstellt haben, um Abrechnungsgebühren zu vermeiden. Informationen zu den Preisen in Secrets Manager finden Sie unter [AWS Secrets Manager -Preise](https://aws.amazon.com/secrets-manager/pricing/).

## Zusammenfassung
<a name="tutorial-abac-saml-summary"></a>

Sie haben nun alle Schritte erfolgreich abgeschlossen, die erforderlich sind, um SAML-Sitzungstags und Ressourcen-Tags für die Berechtigungsverwaltung verwenden zu können.

**Anmerkung**  
Sie haben Richtlinien hinzugefügt, die Aktionen nur unter bestimmten Bedingungen zulassen. Wenn Sie eine andere Richtlinie auf Ihre Benutzer oder Rollen anwenden, die über breitere Berechtigungen verfügen, sind die Aktionen möglicherweise nicht auf Tagging beschränkt. Wenn Sie beispielsweise einem Benutzer mithilfe der `AdministratorAccess` AWS verwalteten Richtlinie vollständige Administratorberechtigungen gewähren, schränken diese Richtlinien diesen Zugriff nicht ein. Weitere Informationen dazu, wie Berechtigungen festgelegt werden, wenn mehrere Richtlinien beteiligt sind, finden Sie unter [Wie AWS Die Logik des Erzwingungscodes wertet Anfragen aus, um den Zugriff zuzulassen oder zu verweigern](reference_policies_evaluation-logic_policy-eval-denyallow.md).