Eine Rolle für einen externen Identitätsanbieter (Federation) erstellen - 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.

Eine Rolle für einen externen Identitätsanbieter (Federation) erstellen

Sie können Identitätsanbieter verwenden, anstatt IAM Benutzer in Ihrem AWS-Konto zu erstellen. Mit einem Identitätsanbieter (IdP) können Sie Ihre Benutzeridentitäten außerhalb von verwalten AWS und diesen externen Benutzeridentitäten Berechtigungen für den Zugriff auf AWS Ressourcen in Ihrem Konto erteilen. Weitere Informationen zu Verbünde und Identitätsanbietern finden Sie unter Identitätsanbieter und Verbund.

Erstellen von Rollen für Verbundbenutzer (Konsole)

Die Verfahren zum Erstellen einer Rolle für Verbundbenutzer sind vom gewählten Drittanbieter abhängig:

Erstellen von Rollen für den Zugriff durch Verbundbenutzer (AWS CLI)

Die Schritte zum Erstellen einer Rolle für die unterstützten Identitätsanbieter (OIDCoderSAML) aus dem AWS CLI sind identisch. Der Unterschied liegt im Inhalt der Vertrauensrichtlinie, die Sie in den notwendigen Schritten erstellen. Beginnen Sie mit den im Abschnitt Voraussetzungen beschriebenen Schritten für den verwendeten Anbietertyp:

Das Erstellen einer Rolle aus dem AWS CLI umfasst mehrere Schritte. Wenn Sie die Konsole verwenden, um eine Rolle zu erstellen, werden viele der Schritte für Sie erledigt, aber mit der müssen AWS CLI Sie jeden Schritt explizit selbst ausführen. Sie müssen die Rolle erstellen und ihr dann eine Berechtigungsrichtlinie zuweisen. Optional können Sie auch die Berechtigungsgrenze für Ihre Rolle festlegen.

So erstellen Sie eine Rolle für den Identitätsverbund (AWS CLI)
  1. Erstellen Sie eine Rolle: aws iam create-role

  2. Fügen Sie der Rolle eine Berechtigungsrichtlinie hinzu: aws iam attach-role-policy

    or

    Erstellen Sie eine Inline-Berechtigungsrichtlinie für die Rolle: aws iam put-role-policy

  3. (Optional) Fügen Sie der Rolle benutzerdefinierte Attribute durch Zuweisen von Tags hinzu: aws iam tag-role

    Weitere Informationen finden Sie unter Verwaltung von Tags in IAM-Rollen (AWS CLI oder AWS API).

  4. (Optional) Legen Sie die Berechtigungsgrenze für die Rolle fest: aws iam put-role-permissions-boundary

    Eine Berechtigungsgrenze bestimmt die maximalen Berechtigungen, die eine Rolle haben kann. Bei den Berechtigungsgrenzen handelt es sich um eine erweiterte AWS Funktion.

Das folgende Beispiel zeigt die ersten beiden und häufigsten Schritte zum Anlegen einer Identitätsanbieter-Rolle in einer einfachen Umgebung. Dieses Beispiel erlaubt jedem Benutzer im 123456789012-Konto, die Rolle zu übernehmen und den example_bucket-Amazon S3 Bucket anzuzeigen. In diesem Beispiel wird auch davon ausgegangen, dass Sie den AWS CLI auf einem Computer unter Windows ausführen und den bereits AWS CLI mit Ihren Anmeldeinformationen konfiguriert haben. Weitere Informationen finden Sie unter Konfigurieren der AWS Command Line Interface.

Das folgende Beispiel einer Vertrauensrichtlinie ist für eine mobile Anwendung vorgesehen, wenn sich der Benutzer mit Amazon Cognito anmeldet. In diesem Beispiel: us-east:12345678-ffff-ffff-ffff-123456 steht für die von Amazon Cognito zugewiesene Identitätspool-ID.

{ "Version": "2012-10-17", "Statement": { "Sid": "RoleForCognito", "Effect": "Allow", "Principal": {"Federated": "cognito-identity.amazonaws.com"}, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": {"StringEquals": {"cognito-identity.amazonaws.com:aud": "us-east:12345678-ffff-ffff-ffff-123456"}} } }

Die folgende Berechtigungsrichtlinie erlaubt jedem, der die Rolle übernimmt, nur die Aktion ListBucket auf dem example_bucket-Amazon S3-Bucket durchzuführen.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::example_bucket" } }

Um diese Test-Cognito-Role-Rolle zu erstellen, müssen Sie zuvor die vorhergehende Vertrauensrichtlinie mit dem Namen trustpolicyforcognitofederation.json und die vorherige Berechtigungsrichtlinie mit dem Namen permspolicyforcognitofederation.json im policies-Ordner Ihres lokalen C:-Laufwerks speichern. Sie können dann die folgenden Befehle verwenden, um die Rolle zu erstellen und die eingebundene Richtlinie hinzuzufügen.

# Create the role and attach the trust policy that enables users in an account to assume the role. $ aws iam create-role --role-name Test-Cognito-Role --assume-role-policy-document file://C:\policies\trustpolicyforcognitofederation.json # Attach the permissions policy to the role to specify what it is allowed to do. aws iam put-role-policy --role-name Test-Cognito-Role --policy-name Perms-Policy-For-CognitoFederation --policy-document file://C:\policies\permspolicyforcognitofederation.json

Eine Rolle für Verbundzugriff erstellen ()AWS API

Die Schritte zum Erstellen einer Rolle für die unterstützten Identitätsanbieter (OIDCoderSAML) aus dem AWS CLI sind identisch. Der Unterschied liegt im Inhalt der Vertrauensrichtlinie, die Sie in den notwendigen Schritten erstellen. Beginnen Sie mit den im Abschnitt Voraussetzungen beschriebenen Schritten für den verwendeten Anbietertyp:

So erstellen Sie eine Rolle für den Identitätsverbund (AWS API)
  1. Erstellen Sie eine Rolle: CreateRole

  2. Fügen Sie der Rolle eine Berechtigungsrichtlinie hinzu: AttachRolePolicy

    or

    Erstellen Sie eine Inline-Berechtigungsrichtlinie für die Rolle: PutRolePolicy

  3. (Optional) Fügen Sie dem Benutzer benutzerdefinierte Attribute hinzu, indem Sie Tags anhängen: TagRole

    Weitere Informationen finden Sie unter Verwaltung von Tags für IAM-Benutzer (AWS CLI oder AWS API).

  4. (Optional) Legen Sie die Berechtigungsgrenze für die Rolle fest: PutRolePermissionsBoundary

    Eine Berechtigungsgrenze bestimmt die maximalen Berechtigungen, die eine Rolle haben kann. Bei den Berechtigungsgrenzen handelt es sich um eine erweiterte AWS Funktion.