Übernehmen einer Rolle - AWS SDKs und Tools

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.

Übernehmen einer Rolle

Die Übernahme einer Rolle beinhaltet die Verwendung einer Reihe temporärer Sicherheitsanmeldedaten für den Zugriff auf AWS Ressourcen, auf die Sie sonst möglicherweise keinen Zugriff hätten. Diese temporären Anmeldeinformationen bestehen aus einer Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sicherheits-Token. Weitere Informationen zu AWS Security Token Service (AWS STS) API-Anfragen finden Sie in der AWS Security Token ServiceAPI-Referenz unter Aktionen.

Um Ihr SDK oder Tool so einzurichten, dass es eine Rolle übernimmt, müssen Sie zunächst eine bestimmte Rolle erstellen oder identifizieren, die Sie übernehmen möchten. IAM-Rollen werden durch eine Rolle mit dem Amazon Resource Name (ARN) eindeutig identifiziert. Rollen bauen Vertrauensbeziehungen zu einer anderen Entität auf. Die vertrauenswürdige Entität, die die Rolle verwendet, kann ein anderer AWS-ServiceAWS-Konto, ein Web-Identitätsanbieter oder ein OIDC- oder SAML-Verbund sein. Weitere Informationen zu IAM-Rollen finden Sie unter Verwenden von IAM-Rollen im IAM-Benutzerhandbuch.

Nachdem die IAM-Rolle identifiziert wurde und Sie diese Rolle als vertrauenswürdig eingestuft haben, können Sie Ihr SDK oder Tool so konfigurieren, dass die von der Rolle gewährten Berechtigungen verwendet werden. Um dies zu tun, entweder Nehmen Sie eine IAM-Rolle an oderVerbunden mit Web-Identität oder OpenID Connect.

Nehmen Sie eine IAM-Rolle an

Wenn Sie eine Rolle übernehmen, wird ein Satz temporärer Sicherheitsanmeldedaten AWS STS zurückgegeben. Diese Anmeldeinformationen stammen aus einem anderen Profil oder aus der Instance oder dem Container, in dem Ihr Code ausgeführt wird. Andere Beispiele für die Übernahme einer Rolle sind die Verwaltung mehrerer Rollen AWS-Konten von Amazon EC2 aus, die Nutzung von AWS CodeCommit Across AWS-Konten oder der Zugriff auf ein anderes Konto vonAWS CodeBuild.

Schritt 1: Richten Sie eine IAM-Rolle ein

Um Ihr SDK oder Tool so einzurichten, dass es eine Rolle übernimmt, müssen Sie zunächst eine bestimmte Rolle erstellen oder identifizieren, die Sie übernehmen möchten. IAM-Rollen werden mithilfe eines Rollen-ARN eindeutig identifiziert. Rollen stellen Vertrauensbeziehungen zu einer anderen Entität her, in der Regel innerhalb Ihres Kontos oder für kontoübergreifenden Zugriff. Informationen zur Einrichtung finden Sie unter Erstellen von IAM-Rollen im IAM-Benutzerhandbuch.

Schritt 2: Konfigurieren Sie das SDK oder das Tool

Konfigurieren Sie das SDK oder das Tool so, dass Anmeldeinformationen von credential_source oder abgerufen source_profile werden.

Wird verwendetcredential_source, um Anmeldeinformationen aus einem Amazon ECS-Container, einer Amazon EC2 EC2-Instance oder aus Umgebungsvariablen zu beziehen.

Wird verwendetsource_profile, um Anmeldeinformationen aus einem anderen Profil zu beziehen. source_profileunterstützt auch Rollenverkettung, d. h. Hierarchien von Profilen, bei denen eine übernommene Rolle dann verwendet wird, um eine andere Rolle anzunehmen.

Wenn Sie dies in einem Profil angeben, führt das SDK oder Tool automatisch den entsprechenden AWS STS AssumeRoleAPI-Aufruf für Sie durch. Um temporäre Anmeldeinformationen abzurufen und zu verwenden, indem Sie eine Rolle übernehmen, geben Sie die folgenden Konfigurationswerte in der gemeinsam genutzten AWS config Datei an. Weitere Informationen zu den einzelnen Einstellungen finden Sie im Nehmen Sie die Einstellungen des Anbieters für Anmeldeinformationen an Abschnitt.

  • role_arn— Aus der IAM-Rolle, die Sie in Schritt 1 erstellt haben

  • Konfigurieren Sie entweder oder source_profile credential_source

  • (Optional) duration_seconds

  • (Optional) external_id

  • (Optional) mfa_serial

  • (Optional) role_session_name

Die folgenden Beispiele zeigen die Konfiguration der beiden Optionen zur Übernahme von Rollen in einer gemeinsam genutzten config Datei:

role_arn = arn:aws:iam::123456789012:role/my-role-name source_profile = profile-name-with-user-that-can-assume-role
role_arn = arn:aws:iam::123456789012:role/my-role-name credential_source = Ec2InstanceMetadata

Einzelheiten zu allen Einstellungen des Anbieters für die Übernahme der Rollenanmeldedaten finden Sie Übernehmen Sie die Rolle Credential Provider in diesem Handbuch.

Verbunden mit Web-Identität oder OpenID Connect

Gibt beim Erstellen von mobilen Anwendungen oder clientbasierten Webanwendungen, für die Zugriff erforderlich istAWS, einen Satz temporärer Sicherheitsanmeldedaten für Verbundbenutzer AWS STS zurück, die über einen Public Identity Provider (IdP) authentifiziert wurden. Beispiele für öffentliche Identitätsanbieter sind Login with Amazon, Facebook, Google oder ein beliebiger OpenID Connect-kompatibler Anbieter (OIDC). Bei dieser Methode benötigen Ihre Benutzer keine eigenen AWS Identitäten oder IAM-Identitäten.

Wenn Sie Amazon Elastic Kubernetes Service verwenden, bietet diese Funktion die Möglichkeit, unterschiedliche IAM-Rollen für jeden Ihrer Container anzugeben. Kubernetes bietet die Möglichkeit, OIDC-Token an Ihre Container zu verteilen, die von diesem Anmeldeinformationsanbieter zum Abrufen temporärer Anmeldeinformationen verwendet werden. Weitere Informationen zu dieser Amazon EKS-Konfiguration finden Sie unter IAM-Rollen für Dienstkonten im Amazon EKS-Benutzerhandbuch. Für eine einfachere Option empfehlen wir jedoch, stattdessen Amazon EKS Pod Identities zu verwenden, sofern Ihr SDK dies unterstützt.

Schritt 1: Richten Sie einen Identitätsanbieter und eine IAM-Rolle ein

Um den Verbund mit einem externen IdP zu konfigurieren, verwenden Sie einen IAM-Identitätsanbieter, um AWS Informationen über den externen IdP und seine Konfiguration zu erhalten. Dadurch wird Vertrauen zwischen Ihrem AWS-Konto und dem externen IdP hergestellt. Bevor Sie das SDK so konfigurieren, dass es das Web-Identitätstoken für die Authentifizierung verwendet, müssen Sie zunächst den Identitätsanbieter (IdP) und die IAM-Rolle einrichten, die für den Zugriff verwendet wird. Informationen zur Einrichtung finden Sie unter Erstellen einer Rolle für Web-Identität oder OpenID Connect Federation (Konsole) im IAM-Benutzerhandbuch.

Schritt 2: Konfigurieren Sie das SDK oder das Tool

Konfigurieren Sie das SDK oder das Tool so, dass es ein Web-Identitätstoken von AWS STS für die Authentifizierung verwendet.

Wenn Sie dies in einem Profil angeben, führt das SDK oder Tool automatisch den entsprechenden AWS STS AssumeRoleWithWebIdentityAPI-Aufruf für Sie durch. Um temporäre Anmeldeinformationen mithilfe des Web Identity Federation abzurufen und zu verwenden, geben Sie die folgenden Konfigurationswerte in der gemeinsam genutzten AWS config Datei an. Weitere Informationen zu den einzelnen Einstellungen finden Sie im Nehmen Sie die Einstellungen des Anbieters für Anmeldeinformationen an Abschnitt.

  • role_arn— Aus der IAM-Rolle, die Sie in Schritt 1 erstellt haben

  • web_identity_token_file- Vom externen IdP

  • (Optional) duration_seconds

  • (Optional) role_session_name

Im Folgenden finden Sie ein Beispiel für eine Konfiguration einer gemeinsam genutzten config Datei, bei der eine Rolle mit Web-Identität übernommen wird:

[profile web-identity] role_arn=arn:aws:iam::123456789012:role/my-role-name web_identity_token_file=/path/to/a/token
Anmerkung

Erwägen Sie für mobile Anwendungen die Verwendung von Amazon Cognito. Amazon Cognito fungiert als Identitätsbroker und erledigt einen Großteil der Verbundarbeit für Sie. Der Amazon Cognito Cognito-Identitätsanbieter ist jedoch nicht wie andere Identitätsanbieter in den Kernbibliotheken der SDKs und Tools enthalten. Um auf die Amazon Cognito-API zuzugreifen, schließen Sie den Amazon Cognito-Serviceclient in den Build oder die Bibliotheken für Ihr SDK oder Tool ein. Informationen zur Verwendung mit AWS SDKs finden Sie unter Codebeispiele im Amazon Cognito Developer Guide.

Einzelheiten zu allen Einstellungen des Anbieters von Anmeldeinformationen für die Übernahme einer Rolle finden Sie Übernehmen Sie die Rolle Credential Provider in diesem Handbuch.