Rollen für externe Identitätsanbieter (Verbund) erstellen
Sie können Identitätsanbieter verwenden, anstatt IAM-Benutzer in Ihrem AWS-Konto anzulegen. Mit einem Identitätsanbieter können Sie Ihre Benutzeridentitäten außerhalb von AWS verwalten und diesen externen Benutzeridentitäten die Berechtigung für den Zugriff auf AWS-Ressourcen in Ihrem Konto gewähren. 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:
-
Informationen zu OpenID Connect (OIDC) finden Sie unter Rollen für OpenID-Connect-Verbund erstellen (Konsole).
-
Weitere Informationen über SAML 2.0 finden Sie unter Rollen für den SAML 2.0-Verbund erstellen (Konsole).
Erstellen von Rollen für den Zugriff durch Verbundbenutzer (AWS CLI)
Die Schritte zum Erstellen einer Rolle für die unterstützten Identitätsanbieter (OIDC oder SAML) aus der 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:
-
Weitere Informationen über OIDC-Anbieter finden Sie unter Voraussetzungen für das Erstellen einer Rolle für OIDC.
-
Weitere Informationen über SAML-Anbieter finden Sie unter Voraussetzungen für das Erstellen einer Rolle für SAML.
Das Erstellen einer Rolle über die AWS CLI umfasst mehrere Schritte. Wenn Sie eine Rolle mithilfe der Konsole erstellen, werden viele Schritte automatisch abgeschlossen. In AWS CLI müssen Sie diese Schritte jedoch manuell 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)
-
Erstellen Sie eine Rolle: aws iam create-role
-
Fügen Sie eine Berechtigungsrichtlinie zur Rolle hinzu: aws iam attach-role-policy
or
Erstellen Sie eine eingebundene Berechtigungsrichtlinie für die Rolle: aws iam put-role-policy
-
(Optional) Fügen Sie der Rolle benutzerdefinierte Attribute durch Zuweisen von Tags hinzu: aws iam tag-role
Weitere Informationen finden Sie unter Verwalten von Tags auf IAM-Rollen (AWS CLI- oder AWS-API).
-
(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. Berechtigungsgrenzen sind eine erweiterte AWS-Feature.
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 dem Beispiel wird davon ausgegangen, dass Sie die AWS CLI auf einem Windows-Computer ausführen und die AWS CLI bereits 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 steht us-east:12345678-ffff-ffff-ffff-123456
für die von Amazon Cognito; zugewiesene Identitäten-Pool-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
Erstellen von Rollen für den Zugriff durch Verbundbenutzer (AWS-API)
Die Schritte zum Erstellen einer Rolle für die unterstützten Identitätsanbieter (OIDC oder SAML) aus der 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:
-
Weitere Informationen über OIDC-Anbieter finden Sie unter Voraussetzungen für das Erstellen einer Rolle für OIDC.
-
Weitere Informationen über SAML-Anbieter finden Sie unter Voraussetzungen für das Erstellen einer Rolle für SAML.
So erstellen Sie eine Rolle für den Identitätsverbund (AWS-API)
-
Erstellen Sie eine Rolle: CreateRole
-
Fügen Sie eine Berechtigungsrichtlinie zur Rolle hinzu: AttachRolePolicy
or
Erstellen Sie eine eingebundene Berechtigungsrichtlinie für die Rolle: PutRolePolicy
-
(Optional) Fügen Sie dem Benutzer benutzerdefinierte Attribute durch Zuweisen von Tags hinzu: TagRole
Weitere Informationen finden Sie unter Verwalten von Tags auf IAM-Benutzer (AWS CLI- oder AWS-API).
-
(Optional) Legen Sie die Berechtigungsgrenze für die Rolle fest: PutRolePermissionsBoundary
Eine Berechtigungsgrenze bestimmt die maximalen Berechtigungen, die eine Rolle haben kann. Berechtigungsgrenzen sind eine erweiterte AWS-Feature.