AWS: Ermöglicht IAM-Benutzern, ihre eigenen Anmeldeinformationen auf der Seite „Sicherheits-Anmeldeinformationen“ zu verwalten - AWS Identity and Access Management

AWS: Ermöglicht IAM-Benutzern, ihre eigenen Anmeldeinformationen auf der Seite „Sicherheits-Anmeldeinformationen“ zu verwalten

Dieses Beispiel zeigt, wie Sie eine identitätsbasierte Richtlinie erstellen können, die es IAM-Benutzern erlaubt, alle ihre eigenen Anmeldeinformationen auf der Seite Sicherheitsanmeldeinformationen zu verwalten. Diese Seite der AWS Management Console zeigt Kontoinformationen wie z. B. die Konto-ID und die kanonische Benutzer-ID an. Benutzer können auch ihre eigenen Passwörter, Zugriffsschlüssel, X.509-Zertifikate, SSH-Schlüssel und Git-Anmeldeinformationen anzeigen und bearbeiten. Diese Beispielrichtlinie enthält die erforderlichen Berechtigungen zum Anzeigen und Bearbeiten aller Informationen auf der Seite mit Ausnahme des MFA-Geräts des Benutzers. Informationen darüber, wie Benutzern die Verwaltung ihrer eigenen Anmeldeinformationen mit MFA ermöglicht wird, finden Sie unter AWS: Ermöglicht es MFA-authentifizierten IAM-Benutzern, ihr eigenen Anmeldeinformationen auf der Seite Sicherheits-Anmeldeinformationen zu verwalten.

Informationen dazu, wie Benutzer auf die Seite Sicherheits-Anmeldeinformationen zugreifen können, finden Sie unter Wie IAM-Benutzer ihr eigenes Passwort ändern können (Konsole).

Was macht diese Richtlinie?

  • Die AllowViewAccountInfo-Anweisung ermöglicht es dem Benutzer, Informationen auf Kontoebene anzuzeigen. Diese Berechtigungen müssen in ihrer eigenen Anweisung vorliegen, da sie keine Ressourcen-ARN unterstützen oder keine angeben müssen. Geben Sie anstelle von Berechtigungen "Resource" : "*" ein. Diese Anweisung enthält die folgenden Aktionen, mit denen der Benutzer spezifische Informationen anzeigen kann:

    • GetAccountPasswordPolicy – Zeigt die Passwortanforderungen des Kontos beim Ändern seines eigenen IAM-Benutzer-Passworts an.

    • GetAccountSummary – Zeigt die Konto-ID und die kanonische Benutzer-ID des Kontos an.

  • Mit der AllowManageOwnPasswords-Anweisung kann der Benutzer sein eigenes Passwort ändern. Diese Anweisung enthält auch die GetUser-Aktion, die erforderlich ist, um die meisten Informationen auf der Seite My Security Credentials (Meine Sicherheitsanmeldeinformationen) anzuzeigen.

  • Die AllowManageOwnAccessKeys-Anweisung ermöglicht dem Benutzer das Erstellen, Aktualisieren und Löschen seiner eigenen Zugriffsschlüssel. Der Benutzer kann auch Informationen darüber abrufen, wann der angegebene Zugriffsschlüssel zuletzt verwendet wurde.

  • Die AllowManageOwnSigningCertificates-Anweisung ermöglicht dem Benutzer das Hochladen, Aktualisieren und Löschen seiner eigenen Signaturzertifikate.

  • Die AllowManageOwnSSHPublicKeys-Anweisung ermöglicht dem Benutzer das Hochladen, Aktualisieren und Löschen seiner eigenen öffentlichen SSH-Schlüssel für CodeCommit.

  • Die AllowManageOwnGitCredentials-Anweisung ermöglicht dem Benutzer das Erstellen, Aktualisieren und Löschen seiner eigenen Git-Anmeldeinformationen für CodeCommit.

Diese Richtlinie erlaubt es Benutzern nicht, ihre eigenen MFA-Geräte anzuzeigen oder zu verwalten. Außerdem können sie die Seite Users (Benutzer) in der IAM-Konsole nicht anzuzeigen oder für den Zugriff auf ihre eigenen Benutzerinformationen verwenden. Um dies zu ermöglichen, fügen Sie die Aktion iam:ListUsers zur Anweisung AllowViewAccountInfo hinzu. Darüber hinaus ermöglicht sie Benutzern nicht, ihr Passwort auf ihrer eigenen Benutzerseite anzupassen. Um dies zu ermöglichen, fügen Sie die Aktionen iam:CreateLoginProfile, iam:DeleteLoginProfile, iam:GetLoginProfile und iam:UpdateLoginProfile zur Anweisung AllowManageOwnPasswords hinzu.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowViewAccountInfo", "Effect": "Allow", "Action": [ "iam:GetAccountPasswordPolicy", "iam:GetAccountSummary" ], "Resource": "*" }, { "Sid": "AllowManageOwnPasswords", "Effect": "Allow", "Action": [ "iam:ChangePassword", "iam:GetUser" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnAccessKeys", "Effect": "Allow", "Action": [ "iam:CreateAccessKey", "iam:DeleteAccessKey", "iam:ListAccessKeys", "iam:UpdateAccessKey", "iam:GetAccessKeyLastUsed" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnSigningCertificates", "Effect": "Allow", "Action": [ "iam:DeleteSigningCertificate", "iam:ListSigningCertificates", "iam:UpdateSigningCertificate", "iam:UploadSigningCertificate" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnSSHPublicKeys", "Effect": "Allow", "Action": [ "iam:DeleteSSHPublicKey", "iam:GetSSHPublicKey", "iam:ListSSHPublicKeys", "iam:UpdateSSHPublicKey", "iam:UploadSSHPublicKey" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnGitCredentials", "Effect": "Allow", "Action": [ "iam:CreateServiceSpecificCredential", "iam:DeleteServiceSpecificCredential", "iam:ListServiceSpecificCredentials", "iam:ResetServiceSpecificCredential", "iam:UpdateServiceSpecificCredential" ], "Resource": "arn:aws:iam::*:user/${aws:username}" } ] }