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 dieGetUser
-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}" } ] }