View a markdown version of this page

IAM-Tutorial: Verwenden von SAML-Sitzungs-Tags für ABAC - AWS Identitäts- und Zugriffsverwaltung

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

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 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.

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 SAML-Attribute an den Sitzungsauftraggeber zu übergeben, führen Sie die Aufgaben in IAM-Tutorial: Zugriffsberechtigungen definieren AWS Ressourcen, die auf Stichwörtern basieren mit den in diesem Thema enthaltenen Änderungen.

Voraussetzungen

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.

Schritt 1: Erstellen von Testbenutzern

Überspringen Sie die Anweisungen in Schritt 1: Erstellen von Testbenutzern. 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

Befolgen Sie die Anweisungen unter Schritt 2: Erstellen der ABAC-Richtlinie, um die angegebene verwaltete Richtlinie in IAM zu erstellen.

Schritt 3: Erstellen und Konfigurieren der SAML-Rolle

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.

Schritt 3A: Erstellen der SAML-Rolle

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)

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.

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 Tagscost-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

Konfigurieren Sie Ihren SAML-Identitätsanbieter so, dass die Attribute cost-center, access-project undaccess-team als Sitzungs-Tags übergeben werden. Weitere Informationen finden Sie unter Übergeben von Sitzungs-Tags mit AssumeRoleWithSAML.

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

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.

Schritt 4: Testen der Erstellung von Secrets

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. Folgen Sie dann den Anweisungen in Schritt 4: Testen der Erstellung von Secrets, 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.

Schritt 5: Testen der Anzeige von Secrets

Folgen Sie den Anweisungen in Schritt 5: Testen der Anzeige von Secrets, 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

Befolgen Sie die Anweisungen in Schritt 6: Testen der Skalierbarkeit, 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

Folgen Sie den Anweisungen in Schritt 7: Testen des Aktualisierens und Löschens von Secrets, 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.

Zusammenfassung

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.