Deaktivieren von Berechtigungen für temporäre Sicherheitsanmeldeinformationen - 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.

Deaktivieren von Berechtigungen für temporäre Sicherheitsanmeldeinformationen

Temporäre Sicherheitsanmeldeinformationen sind bis zu ihrem Ablauf gültig. Diese Anmeldeinformationen sind für die angegebene Dauer von 900 Sekunden (15  Minuten) bis maximal 129 600 Sekunden (36 Stunden) gültig. Die Standardsitzungsdauer beträgt 43 200 Sekunden (12 Stunden). Sie können diese Anmeldeinformationen widerrufen, müssen aber auch die Berechtigungen für den IAM-Benutzer oder die IAM-Rolle ändern, um die Verwendung kompromittierter Anmeldeinformationen für bösartiger Kontoaktivitäten zu verhindern. Berechtigungen, die temporären Sicherheitsanmeldeinformationen zugewiesen sind, werden jedes Mal ausgewertet, wenn sie für eine AWS-Anfrage verwendet werden. Sobald Sie alle Berechtigungen aus den Anmeldeinformationen entfernen, schlagen AWS-Anfragen, die diese Berechtigungen verwenden, fehl.

Es kann einige Minuten dauern, bis Richtlinienaktualisierungen wirksam werden. Bei IAM-Rollensitzungen können Sie die temporären Sicherheits-Anmeldeinformationen der Rolle widerrufen, um alle Benutzer, die die Rolle übernehmen, zu einer erneuten Authentifizierung und Anforderung neuer Anmeldeinformationen zu zwingen. Weitere Informationen finden Sie unter Widerrufen der temporären Sicherheitsanmeldeinformationen der Rolle.

Sie können die Berechtigungen für einen Root-Benutzer des AWS-Kontos nicht ändern. Ebenso können die Berechtigungen für die temporären Sicherheitsanmeldeinformationen nicht geändert werden, die durch Aufrufen von GetFederationToken oder GetSessionToken erstellt wurden, während der Benutzer als Stammbenutzer angemeldet war. Daher empfehlen wir, dass Sie GetFederationToken oder GetSessionToken nicht als Stammbenutzer aufrufen.

Vorgehensweisen zum Ändern der Berechtigungen für einen IAM-Benutzer finden Sie unter Ändern von Berechtigungen für einen IAM-Benutzer.

Vorgehensweisen zum Ändern der Berechtigungen für eine IAM-Rolle finden Sie unter Berechtigungen für eine Rolle aktualisieren.

Wichtig

Sie können in IAM keine Rollen bearbeiten, die aus Berechtigungssätzen des IAM Identity Center erstellt wurden. Sie müssen die aktive Berechtigungssatz-Sitzung für einen Benutzer im IAM Identity Center widerrufen. Weitere Informationen finden Sie unter Widerrufen aktiver IAM-Rollensitzungen, die durch Berechtigungssätze erstellt wurden im Benutzerhandbuch zum IAM Identity Center.

Verweigerung des Zugriffs auf alle IAM-Rollensitzungen, die einer Rolle zugeordnet sind

Dieses Verfahren verweigert Berechtigungen für alle IAM-Rollensitzungen, die einer Rolle zugeordnet sind. Verwenden Sie diesen Ansatz, wenn Sie Bedenken hinsichtlich verdächtiger Zugriffe durch Folgendes haben:

  • Prinzipale von einem anderen Konto mit kontoübergreifendem Zugriff

  • Externe Benutzer Identitäten mit Berechtigungen zum Zugriff auf AWS-Ressourcen in Ihrem Konto

  • Benutzer, die in einer mobilen oder Web-Anwendung mit einem OIDC-Anbieter authentifiziert wurden

Um die Berechtigungen zu ändern oder zu entfernen, die den temporären Sicherheitsanmeldeinformationen zugewiesen sind, die durch den Aufruf von AssumeRole, AssumeRoleWithSAML und AssumeRoleWithWebIdentity, GetFederationToken, oder GetSessionToken abgerufen wurden, können Sie die identitätsbasierte Richtlinie bearbeiten oder löschen, die die Berechtigungen für die Rolle definiert.

Wichtig

Wenn es eine ressourcenbasierte Richtlinie gibt, die dem Prinzipal Zugriff gewährt, müssen Sie auch eine explizite Ablehnung für diese Ressource hinzufügen. Details dazu finden Sie unter Zugriff auf einen bestimmten Prinzipal mit ressourcenbasierten Richtlinien verweigern.

So verweigern Sie den Zugriff auf alle IAM-Rollensitzungen, die einer Rolle zugeordnet sind
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die IAM-Konsole.

  2. Wählen Sie im Navigationsbereich die Option Rollen aus.

  3. Wählen Sie den Namen der zu bearbeitenden Rolle aus. Sie können das Suchfeld verwenden, um die Liste zu filtern.

  4. Wählen Sie die Registerkarte Berechtigungen.

  5. Wählen Sie die entsprechende Richtlinie zum Bearbeiten aus. Bevor Sie eine vom Kunden verwaltete Richtlinie bearbeiten, überprüfen Sie die Registerkarte Angefügte Entitäten, um eine Unterbrechung des Zugriffs auf andere Identitäten zu vermeiden, denen möglicherweise dieselbe Richtlinie zugeordnet ist.

  6. Wählen Sie die Registerkarte JSON und aktualisieren Sie die Richtlinie, um alle Ressourcen und Aktionen zu verweigern.

    Anmerkung

    Diese Berechtigungen sind mit denen in der von AWS verwalteten Richtlinie AWSDenyAll identisch. Sie können diese von AWS verwaltete Richtlinie jedem IAM-Benutzer oder jeder IAM-Rolle zuordnen, dem Sie jeglichen Zugriff verweigern möchten.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAll", "Effect": "Deny", "Action": [ "*" ], "Resource": "*" } ] }
  7. Überprüfen Sie auf der Seite Review (Prüfen) unter Summary (Übersicht) die Richtlinienzusammenfassung und wählen Sie dann Save changes (Änderungen speichern) aus, um Ihre Eingaben zu speichern.

Wenn Sie die Richtlinie aktualisieren, wirken sich die Änderungen auf die Berechtigungen aller temporären Anmeldeinformationen aus, die mit der Rolle verknüpft sind. Dies gilt auch für Anmeldeinformationen, die ausgestellt wurden, bevor Sie die Richtlinie für die Berechtigungen der Rolle geändert haben.

Nachdem Sie die Richtlinie aktualisiert haben, können Sie die temporären Sicherheitsanmeldeinformationen der Rolle widerrufen, um sofort alle Berechtigungen für die ausgegebenen Anmeldeinformationen der Rolle zu entziehen.

Zugriff auf eine bestimmte IAM-Rollensitzung verweigern

Wenn Sie IAM-Rollen mit einer „Alle verweigern“-Richtlinie aktualisieren oder die Rolle vollständig löschen, wird der Zugriff aller Benutzer auf die Rolle unterbrochen. Sie können den Zugriff verweigern, ohne die Berechtigungen aller anderen mit der Rolle verknüpften Sitzungen zu beeinträchtigen.

Dem Principal können mithilfe von Bedingungskontextschlüsseln oder ressourcenbasierten Richtlinien Berechtigungen verweigert werden.

Tipp

Sie können die ARNs von Verbundbenutzern mithilfe von AWS CloudTrail-Protokollen ermitteln. Weitere Informationen finden Sie unter So identifizieren Sie Ihre Verbundbenutzer ganz einfach mithilfe von AWS CloudTrail.

Zugriff auf Sitzungen mit temporären Sicherheits-Anmeldeinformationen mit Bedingungskontextschlüsseln verweigern

Sie können Bedingungskontextschlüssel in identitätsbasierten Richtlinien in Situationen verwenden, in denen Sie den Zugriff auf bestimmte Sitzungen mit temporären Sicherheitsanmeldeinformationen verweigern möchten, ohne die Berechtigungen des IAM-Benutzers oder der IAM-Rolle zu beeinträchtigen, die die Anmeldeinformationen erstellt hat. Für IAM-Rollen können Sie nach der Aktualisierung der Richtlinie auch die Sitzungen mit temporären Sicherheitsanmeldeinformationen der Rolle widerrufen, um alle ausgestellten Anmeldeinformationen sofort zu entziehen.

Weitere Informationen zu Bedingungskontextschlüsseln finden Sie unter AWS Kontextschlüssel für globale Bedingungen.

aws:PrincipalArn

Sie können den Bedingungskontextschlüssel aws: PrincipalArn in einer identitätsbasierten Richtlinie verwenden, um einem bestimmten Prinzipal den Zugriff über seinen Amazon-Ressourcennamen (ARN) zu verweigern. Geben Sie dazu die ARN des IAM-Benutzers, der Rolle oder der Sitzung eines AWS STS-Verbundbenutzers an, mit dem die temporären Anmeldeinformationen im Bedingungselement einer Richtlinie verknüpft sind.

So verweigern Sie den Zugriff auf einen bestimmten Prinzipal anhand seines ARN
  1. Wählen Sie im Navigationsbereich der IAM-Konsole Benutzer oder Rollen aus.

  2. Wählen Sie den Namen des zu bearbeitenden IAM-Benutzers oder der IAM-Rolle aus. Sie können das Suchfeld verwenden, um die Liste zu filtern.

  3. Wählen Sie die Registerkarte Berechtigungen.

  4. Wählen Sie die entsprechende Richtlinie zum Bearbeiten aus. Bevor Sie eine vom Kunden verwaltete Richtlinie bearbeiten, überprüfen Sie die Registerkarte Angefügte Entitäten, um eine Unterbrechung des Zugriffs auf andere Identitäten zu vermeiden, denen möglicherweise dieselbe Richtlinie zugeordnet ist.

  5. Wählen Sie die Registerkarte JSON und fügen Sie eine Verweigerungsanweisung für den Prinzipal-ARN hinzu, wie im folgenden Beispiel gezeigt.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "ArnEquals": { "aws:PrincipalArn": [ "arn:aws:iam::222222222222:role/ROLENAME", "arn:aws:iam::222222222222:user/USERNAME", "arn:aws:iam::222222222222:federated-user/USERNAME" ] } } } ] }
  6. Überprüfen Sie auf der Seite Review (Prüfen) unter Summary (Übersicht) die Richtlinienzusammenfassung und wählen Sie dann Save changes (Änderungen speichern) aus, um Ihre Eingaben zu speichern.

AWS:QuellenIdentity

Sie können den Bedingungskontextschlüssel als: SourceIdentity in einer identitätsbasierten Richtlinie verwenden, um den Zugriff auf eine bestimmte Quellidentität zu verweigern, die einer IAM-Rollensitzung zugeordnet ist. Dies gilt, solange die Rollensitzung durch Festlegen des SourceIdentityAnfrageparameters ausgegeben wurde, als der Prinzipal mithilfe von AWS STS assume-role* CLI-Befehlen oder AWS STS AssumeRole* API-Operationen eine Rolle übernommen hat. Geben Sie hierzu die Quellidentität an, mit der die temporären Sicherheits-Anmeldeinformationen im Condition-Element einer Richtlinie verknüpft sind.

Im Gegensatz zum Kontextschlüssel sts:RoleSessionName kann der Wert nach Festlegung der Quellidentität nicht mehr geändert werden. Der Schlüssel aws:SourceIdentity ist im Anforderungskontext für alle von der Rolle ausgeführten Aktionen vorhanden. Die Quellidentität bleibt in nachfolgenden Rollensitzungen bestehen, wenn Sie die Sitzungs-Anmeldeinformationen verwenden, um eine andere Rolle zu übernehmen. Die Annahme einer Rolle von einer anderen wird als Rollenverkettung bezeichnet.

Die folgende Richtlinie zeigt ein Beispiel dafür, wie Sie den Zugriff auf temporäre Sicherheitsanmeldeinformationssitzungen mithilfe des Bedingungskontextschlüssels aws:SourceIdentity verweigern können. Wenn Sie die mit einer Rollensitzung verknüpfte Quellidentität angeben, werden Rollensitzungen mit der benannten Quellidentität verweigert, ohne dass die Berechtigungen der Rolle, die die Anmeldeinformationen erstellt hat, beeinträchtigt werden. In diesem Beispiel lautet die Quellidentität, die vom Prinzipal beim Ausgeben der Rollensitzung festgelegt wurde, nikki_wolf@example.com. Jede Anfrage einer Rollensitzung mit der Quellidentität nikki_wolf@example.com wird abgelehnt, da die Quellidentität in der Richtlinienbedingung enthalten ist und die Richtlinienwirkung auf Deny festgelegt ist.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringLike": { "aws:SourceIdentity": [ "nikki_wolf@example.com", "<source identity value>" ] } } } ] }

aws:userid

Sie können den Bedingungskontextschlüssel aws:userid in einer identitätsbasierten Richtlinie verwenden, um den Zugriff auf alle oder bestimmte temporäre Sicherheits-Anmeldeinformationssitzungen zu verweigern, die mit dem IAM-Benutzer oder der IAM-Rolle verknüpft sind. Geben Sie dazu im Condition-Element der Richtlinie die eindeutige Kennung (ID) des IAM-Benutzers, der IAM-Rolle oder des AWS STS-Verbundbenutzers an, mit dem die temporären Sicherheitsanmeldeinformationen verknüpft sind.

Die folgende Richtlinie zeigt ein Beispiel dafür, wie Sie den Zugriff auf temporäre Sicherheitsanmeldeinformationssitzungen mithilfe des Bedingungskontextschlüssels aws:userid verweigern können.

  • AIDAXUSER1 stellt die eindeutige Kennung für einen IAM-Benutzer dar. Wenn Sie die eindeutige ID eines IAM-Benutzers als Wert für den Kontextschlüssel aws:userid angeben, wird dem IAM-Benutzer der Zugriff verweigert. Dazu gehören alle temporären Sitzungen mit Sicherheits-Anmeldeinformationen, die durch den Aufruf der GetSessionToken-API erstellt wurden.

  • AROAXROLE1:* stellt die eindeutige ID für alle Sitzungen dar, die mit der IAM-Rolle verknüpft sind. Wenn Sie die eindeutige ID einer IAM-Rolle und ein Platzhalterzeichen (*) im Abschnitt „vom Anrufer angegebener Rollensitzungsname“ als Wert für den Kontextschlüssel aws:userid angeben, werden alle mit der Rolle verknüpften Sitzungen abgelehnt.

  • AROAXROLE2:<caller-specified-role-session-name> stellt die eindeutige ID für eine Sitzung mit übernommener Rolle dar. Im Abschnitt „Vom Anrufer angegebener Rollensitzungsname“ der eindeutigen ID der angenommenen Rolle können Sie einen Rollensitzungsnamen oder ein Platzhalterzeichen angeben, wenn der Bedingungsoperator StringLike verwendet wird. Wenn Sie den Namen der Rollensitzung angeben, wird die benannte Rollensitzung verweigert, ohne dass dies Auswirkungen auf die Berechtigungen der Rolle hat, die die Anmeldeinformationen erstellt hat. Durch die Angabe eines Platzhalterzeichens für den Rollensitzungsnamen, werden alle mit der Rolle verknüpften Sitzungen abgelehnt.

    Anmerkung

    Der vom Aufrufer angegebene Rollensitzungsname, der Teil der eindeutigen Kennung für eine angenommene Rollensitzung ist, kann sich während der Rollenverkettung ändern. Eine Rollenverkettung findet statt, wenn eine Rolle eine andere Rolle übernimmt. Der Name der Rollensitzung wird mithilfe des Anfrageparameters RoleSessionName festgelegt, wenn der Prinzipal mithilfe der AWS STS AssumeRole API-Operation eine Rolle annimmt.

  • account-id:<federated-user-caller-specified-name> stellt die eindeutige ID für eine Sitzung eines AWS STS-Verbundbenutzers dar. Ein IAM-Benutzer erstellt diese Sitzung, indem er die GetFederationToken-API aufruft. Durch die Angabe der eindeutigen ID für eine Sitzung eines AWS STS-Verbundbenutzers wird die benannte Sitzung des Verbundbenutzers verweigert, ohne dass dies Auswirkungen auf die Berechtigungen des IAM-Benutzers hat, der die Anmeldeinformationen erstellt hat.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringLike": { "aws:userId": [ "AIDAXUSER1", "AROAXROLE1:*", "AROAXROLE2:<caller-specified-role-session-name>", "account-id:<federated-user-caller-specified-name>" ] } } } ] }

Konkrete Beispiele für Hauptschlüsselwerte finden Sie unter Auftraggeber-Schlüsselwerte. Informationen zu eindeutigen IAM-Identifikatoren und wie Sie diese abrufen, finden Sie unter Eindeutige Bezeichner.

Zugriff auf einen bestimmten Prinzipal mit ressourcenbasierten Richtlinien verweigern

Um den Zugriff auf einen bestimmten Prinzipal mit einer ressourcenbasierten Richtlinie einzuschränken, können Sie im Condition-Element die Bedingungskontextschlüssel aws: PrincipalArn oder als: SourceIdentity verwenden. Eine ressourcenbasierte Richtlinie ist eine Berechtigungsrichtlinie, die einer Ressource zugeordnet ist und steuert, wer auf die Ressource zugreifen und welche Aktionen damit ausgeführt werden können.

Geben Sie bei der Verwendung des aws:PrincipalARN-Kontextschlüssels die ARN des IAM-Benutzers, der Rolle oder der Sitzung eines AWS STS-Verbundbenutzers an, die den temporären Anmeldeinformationen im Bedingungselement einer Richtlinie zugeordnet sind. Die folgende Beispielrichtlinie veranschaulicht die Verwendung des aws:PrincipalARN-Kontextschlüssels in einer ressourcenbasierten Richtlinie:

{ "Version": "2012-10-17", "Statement": { "Principal": [ "*" ], "Effect": "Deny", "Action": "s3:*", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "ArnEquals": { "aws:PrincipalArn": [ "arn:aws:iam::222222222222:role/ROLENAME", "arn:aws:iam::222222222222:user/USERNAME", "arn:aws:sts::222222222222:federated-user/USERNAME" ] } } } }

Wenn Sie den aws:SourceIdentity-Kontextschlüssel verwenden, geben Sie den Quellidentitätswert an, der den temporären Sicherheits-Anmeldeinformationen der Rolle im Condition-Element einer Richtlinie zugeordnet ist. Dies gilt, solange die Rollensitzung durch Festlegen des SourceIdentityAnfrageparameters ausgegeben wurde, als der Prinzipal mithilfe von AWS STS assume-role* CLI-Befehlen oder AWS STS AssumeRole* API-Operationen eine Rolle übernommen hat. Das folgende Beispiel zeigt, wie der aws:SourceIdentity-Kontextschlüssel in einer ressourcenbasierten Richtlinie verwendet wird:

{ "Version": "2012-10-17", "Statement": { "Principal": [ "*" ], "Effect": "Deny", "Action": "s3:*", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringLike": { "aws:SourceIdentity": [ "nikki_wolf@example.com", "<source identity value>" ] } } } }

Wenn Sie nur die identitätsbasierte Richtlinie für einen Prinzipal aktualisieren, kann dieser weiterhin die in der ressourcenbasierten Richtlinie zulässigen Aktionen ausführen, es sei denn, diese Aktionen sind in der identitätsbasierten Richtlinie explizit verweigert.

So verweigern Sie einem bestimmten Prinzipal den Zugriff in einer ressourcenbasierten Richtlinie
  1. Lesen Sie in AWS Dienste, die mit IAM funktionieren nach, ob der Service ressourcenbasierte Richtlinien unterstützt.

  2. Melden Sie sich bei AWS Management Console an und öffnen Sie die Konsole für den Service. Jeder Service verfügt über einen anderen Standort in der Konsole zum Anfügen von Richtlinien.

  3. Bearbeiten Sie die ressourcenbasierte Richtlinie. Fügen Sie eine Verweigerungs-Richtlinienanweisung hinzu, um die identifizierenden Informationen der Anmeldeinformationen anzugeben:

    1. Geben Sie im Principal-Element ein Platzhalter (*) ein. Der Prinzipal wird im Condition-Element eingeschränkt.

    2. Geben Sie im Effect-Element „Verweigern“ ein.

    3. Geben Sie unter Action den Service-Namespace und den Namen der abzulehnenden Aktion ein. Um alle Aktionen zu verweigern, verwenden Sie das Platzhalterzeichen (*). Beispiel: "s3:*".

    4. Geben Sie im Resource-Element die ARN der Zielressource ein. Beispiel: "arn:aws:s3:::amzn-s3-demo-bucket".

    5. Geben Sie im Condition-Element entweder den Kontextschlüssel aws:PrincipalARN oder aws:SourceIdentity an.

      Wenn Sie den aws:PrincipalARN-Kontextschlüssel verwenden, geben Sie die ARN des Prinzipals ein, dessen Zugriff Sie verweigern möchten.

      Wenn Sie den aws:SourceIdentity-Kontextschlüssel verwenden, geben Sie den Quellidentitätswert ein, der in der Rollensitzung festgelegt wurde, für die der Zugriff verweigert werden soll.

  4. Speichern Sie Ihre Arbeit.