AWS: Ermöglicht MFA-authentifizierten IAM-Benutzern, ihr eigenes MFA-Gerät auf der Seite mit den Sicherheitsanmeldedaten zu verwalten - 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.

AWS: Ermöglicht MFA-authentifizierten IAM-Benutzern, ihr eigenes MFA-Gerät auf der Seite mit den Sicherheitsanmeldedaten zu verwalten

Dieses Beispiel zeigt, wie Sie eine identitätsbasierte Richtlinie erstellen könnten, die es IAM-Benutzern, die über Multi-Factor Authentication (MFA) authentifiziert wurden, ermöglicht, ihr eigenes MFA-Gerät auf der Seite Sicherheitsanmeldedaten zu verwalten. AWS Management Console Auf dieser Seite werden Konto- und Benutzerinformationen angezeigt, aber der Benutzer kann nur sein eigenes MFA-Gerät anzeigen und bearbeiten. Informationen darüber, wie Benutzern die Verwaltung aller ihrer eigenen Anmeldeinformationen mit MFA ermöglicht wird, finden Sie unter AWS: Ermöglicht MFA-authentifizierten IAM-Benutzern, ihre eigenen Anmeldeinformationen auf der Seite Sicherheitsanmeldedaten zu verwalten.

Anmerkung

Wenn ein IAM-Benutzer mit dieser Richtlinie nicht MFA-authentifiziert ist, verweigert diese Richtlinie den Zugriff auf alle AWS Aktionen außer denen, die für die Authentifizierung mit MFA erforderlich sind. Um die AWS CLI AWS AND-API verwenden zu können, müssen IAM-Benutzer zuerst ihr MFA-Token mithilfe des AWS STS GetSessionTokenVorgangs abrufen und dann dieses Token verwenden, um den gewünschten Vorgang zu authentifizieren. Andere Richtlinien, wie zum Beispiel ressourcenbasierte Richtlinien oder andere identitätsbasierte Richtlinien, können Aktionen in anderen Services erlauben. Diese Richtlinie verweigert den Zugriff, wenn der IAM-Benutzer nicht per MFA authentifiziert wurde.

Informationen darüber, wie Benutzer auf die Seite mit den Sicherheitsanmeldedaten zugreifen können, finden Sie unter. Wie IAM-Benutzer ihr eigenes Passwort ändern können (Konsole)

Was macht diese Richtlinie?

  • Die Anweisung AllowViewAccountInfo erlaubt dem Benutzer das Anzeigen von Details zu einem virtuellen MFA-Gerät, das für den Benutzer aktiviert ist. Diese Berechtigung muss als eigene Anweisung vorliegen, da sie nicht die Angabe eines Ressourcen-ARN unterstützt. Stattdessen müssen Sie "Resource" : "*" angeben.

  • Die AllowManageOwnVirtualMFADevice-Anweisung ermöglicht dem Benutzer das Erstellen seines eigenen virtuellen MFA-Geräts. Der Ressourcen-ARN in dieser Anweisung erlaubt es dem Benutzer, ein MFA-Gerät mit einem beliebigen Namen zu erstellen, aber die anderen Anweisungen in der Richtlinie erlauben es dem Benutzer nur, das Gerät mit dem aktuell angemeldeten Benutzer zu verknüpfen.

  • Die AllowManageOwnUserMFA-Anweisung ermöglicht es dem Benutzer, sein eigenes virtuelles, U2F- oder physisches MFA-Gerät anzuzeigen oder zu verwalten. Der Ressourcen-ARN in dieser Anweisung gewährt nur Zugriff auf den eigenen IAM-Benutzer des Benutzers. Benutzer können das MFA-Gerät für andere Benutzer nicht anzeigen oder verwalten.

  • Die DenyAllExceptListedIfNoMFA Anweisung verweigert den Zugriff auf alle Aktionen in allen AWS Diensten, mit Ausnahme einiger aufgelisteter Aktionen, jedoch nur, wenn der Benutzer nicht mit MFA angemeldet ist. Die Anweisung verwendet eine Kombination aus "Deny" und "NotAction", um den Zugriff auf alle Aktionen, die nicht aufgeführt sind, explizit zu verwehren. Die aufgeführten Elemente werden durch diese Anweisung nicht verweigert oder zugelassen. Die Aktionen werden aber durch andere Anweisungen in der Richtlinie zugelassen. Weitere Informationen zur Logik dieser Anweisung finden Sie unter NotAction with Deny. Hat sich der Benutzer mit MFA angemeldet, schlägt der Condition-Test fehl und diese Anweisung verwehrt keine Aktionen. In diesem Fall bestimmen andere Richtlinien oder Anweisungen für den Benutzer die Berechtigungen des Benutzers.

    Durch diese Anweisung wird sichergestellt, dass der Benutzer, wenn er nicht mit MFA angemeldet ist, nur die aufgeführten Aktionen ausführen kann. Außerdem kann er die aufgelisteten Aktionen nur ausführen, wenn eine andere Anweisung oder Richtlinie den Zugriff auf diese Aktionen gewährt.

    Die ...IfExists-Version des Bool -Operators stellt sicher, dass bei fehlendem aws:MultiFactorAuthPresent-Schlüssel die Bedingung den Wert "True" zurückgibt. Dies bedeutet, dass einem Benutzer, der mit langfristigen Anmeldeinformationen auf eine API-Operation zugreift, wie z. B. einem Zugriffsschlüssel, der Zugriff auf die Nicht-IAM-API-Operationen verweigert wird.

Diese Richtlinie ermöglicht es Benutzern nicht, die Seite Users (Benutzer) in der IAM-Konsole anzuzeigen oder diese Seite für den Zugriff auf ihre eigenen Benutzerinformationen zu verwenden. Um dies zuzulassen, fügen Sie die Aktion iam:ListUsers der Anweisung AllowViewAccountInfo und der Anweisung DenyAllExceptListedIfNoMFA hinzu.

Warnung

Erlauben Sie nicht das Löschen eines MFA-Geräts ohne MFA-Authentifizierung. Benutzer mit dieser Richtlinie könnten möglicherweise versuchen, sich selbst ein virtuelles MFA-Gerät zuzuweisen und eine Fehlermeldung erhalten, da sie zur Ausführung von iam:DeleteVirtualMFADevice nicht berechtigt sind. Wenn dies der Fall ist, fügen Sie diese Berechtigung nicht zur DenyAllExceptListedIfNoMFA-Anweisung hinzu. Benutzer, die nicht über MFA authentifiziert wurden, sollten niemals zum Löschen Ihres MFA-Geräts berechtigt werden. Benutzern könnte diese Fehlermeldung angezeigt werden, wenn sie damit begonnen haben, ein virtuelles MFA-Gerät zu ihrem Benutzer zuzuweisen und den Prozess abgebrochen haben. Um dieses Problem zu beheben, müssen Sie oder ein anderer Administrator das vorhandene virtuelle MFA-Gerät des Benutzers mithilfe der AWS API AWS CLI oder löschen. Weitere Informationen finden Sie unter Ich bin nicht berechtigt, Folgendes aufzuführen: iam: DeleteVirtual MFADevice.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowViewAccountInfo", "Effect": "Allow", "Action": "iam:ListVirtualMFADevices", "Resource": "*" }, { "Sid": "AllowManageOwnVirtualMFADevice", "Effect": "Allow", "Action": [ "iam:CreateVirtualMFADevice" ], "Resource": "arn:aws:iam::*:mfa/*" }, { "Sid": "AllowManageOwnUserMFA", "Effect": "Allow", "Action": [ "iam:DeactivateMFADevice", "iam:EnableMFADevice", "iam:GetUser", "iam:GetMFADevice", "iam:ListMFADevices", "iam:ResyncMFADevice" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "DenyAllExceptListedIfNoMFA", "Effect": "Deny", "NotAction": [ "iam:CreateVirtualMFADevice", "iam:EnableMFADevice", "iam:GetUser", "iam:ListMFADevices", "iam:ListVirtualMFADevices", "iam:ResyncMFADevice", "sts:GetSessionToken" ], "Resource": "*", "Condition": { "BoolIfExists": {"aws:MultiFactorAuthPresent": "false"} } } ] }