Berechtigungsgrenzen für IAM-Entitäten - 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.

Berechtigungsgrenzen für IAM-Entitäten

AWS unterstützt Berechtigungsgrenzen für IAM Entitäten (Benutzer oder Rollen). Eine Berechtigungsgrenze ist eine erweiterte Funktion zur Verwendung einer verwalteten Richtlinie, um die maximalen Berechtigungen festzulegen, die eine identitätsbasierte Richtlinie einer IAM Entität gewähren kann. Durch eine Berechtigungsgrenze kann eine Entität nur die Aktionen durchführen, die sowohl von den identitätsbasierten Richtlinien als auch den Berechtigungsgrenzen erlaubt werden.

Weitere Informationen zu Richtlinientypen finden Sie unter Richtlinientypen.

Wichtig

Verwenden Sie keine ressourcenbasierten Richtlinienerklärungen, die ein NotPrincipal Richtlinienelement enthalten, das sich auf IAM Benutzer oder Rollen Deny auswirkt, denen eine Berechtigungsgrenzrichtlinie zugewiesen ist. Das NotPrincipal Element mit Deny Wirkung verweigert immer jeden IAM Prinzipal, dem eine Richtlinie zur Begrenzung der Rechte zugewiesen ist, unabhängig von den NotPrincipal im Element angegebenen Werten. Dies führt dazu, dass einige IAM Benutzer oder Rollen, die andernfalls Zugriff auf die Ressource hätten, den Zugriff verlieren. Wir empfehlen Ihnen, Ihre ressourcenbasierten Richtlinien dahingehend zu ändern, dass Sie den Bedingungsoperator ArnNotEquals mit dem aws:PrincipalArn-Kontextschlüssel verwenden, um den Zugriff zu begrenzen, anstatt das NotPrincipal-Element. Weitere Informationen zum NotPrincipal-Element finden Sie unter AWS JSONpolitische Elemente: NotPrincipal.

Sie können eine AWS verwaltete Richtlinie oder eine vom Kunden verwaltete Richtlinie verwenden, um die Grenze für eine IAM Entität (Benutzer oder Rolle) festzulegen. Diese Richtlinie begrenzt die maximalen Berechtigungen für den Benutzer oder die Rolle.

Gehen Sie beispielsweise davon aus, dass der angegebene IAM ShirleyRodriguez Benutzer nur Amazon S3, Amazon und Amazon CloudWatch verwalten darfEC2. Um diese Regel durchzusetzen, können Sie die folgende Richtlinie verwenden, um die Berechtigungsgrenze für den Benutzer ShirleyRodriguez festzulegen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:*", "cloudwatch:*", "ec2:*" ], "Resource": "*" } ] }

Wenn Sie eine Richtlinie verwenden, um die Berechtigungsgrenze für einen Benutzer festzulegen, schränkt sie die Berechtigungen des Benutzers ein, erteilt aber selbst keine Berechtigungen. In diesem Beispiel legt die Richtlinie die maximalen Berechtigungen für alle Operationen in Amazon S3 und Amazon festEC2. ShirleyRodriguez CloudWatch Shirley kann niemals Operationen in einem anderen Dienst ausführen, auch nicht, wenn sie über eine Berechtigungsrichtlinie verfügt, die dies zulässt. IAM Sie können z. B. dem Benutzer ShirleyRodriguez die folgende Richtlinie hinzufügen:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "iam:CreateUser", "Resource": "*" } }

Diese Richtlinie ermöglicht das Erstellen eines Benutzers inIAM. Wenn Sie diese Berechtigungsrichtlinie dem Benutzer ShirleyRodriguez anfügen und Shirley versucht, einen Benutzer zu erstellen, schlägt die Operation fehl. Sie schlägt fehl, weil die Berechtigungsgrenze den iam:CreateUser-Vorgang nicht zulässt. Angesichts dieser beiden Richtlinien hat Shirley keine Berechtigung, Operationen in AWS durchzuführen. Sie müssen eine andere Berechtigungsrichtlinie hinzufügen, um Aktionen in anderen Diensten zuzulassen, z. B. Amazon S3. Alternativ könnten Sie die Berechtigungsgrenze aktualisieren, damit sie einen Benutzer in erstellen kannIAM.

Auswerten von effektiven Berechtigungen mit Grenzen

Die Berechtigungsgrenze für eine IAM Entität (Benutzer oder Rolle) legt die maximalen Berechtigungen fest, die die Entität haben kann. Dies kann die effektiven Berechtigungen für diesen Benutzer oder diese Rolle ändern. Die effektiven Berechtigungen für eine Entität sind die Berechtigungen, die von allen Richtlinien gewährt werden, die den Benutzer oder die Rolle betreffen. Innerhalb eines Kontos können die Berechtigungen für eine Entität durch identitätsbasierte Richtlinien, ressourcenbasierte Richtlinien, BerechtigungsgrenzenSCPs, Organizations oder Sitzungsrichtlinien beeinflusst werden. Weitere Informationen zu den unterschiedlichen Richtlinientypen finden Sie unter Richtlinien und Berechtigungen in AWS Identity and Access Management.

Wenn eine dieser Richtlinientypen explizit den Zugriff für eine Operation verweigert, dann wird die Anforderung abgelehnt. Die Berechtigungen, die einer Entität durch mehrere Berechtigungstypen gewährt werden, sind komplexer. Weitere Informationen darüber, wie Richtlinien AWS bewertet werden, finden Sie unter. Auswertungslogik für Richtlinien

Identitätsbasierte Richtlinien mit Grenzen – Identitätsbasierte Richtlinien sind verwaltete oder eingebundene Richtlinien, die einem Benutzer, einer Gruppe von Benutzern oder einer Rolle zugewiesen sind. Identitätsbasierte Richtlinien erteilen die Berechtigung für die Entität, Berechtigungsgrenzen beschränken diese Berechtigungen. Effektive Berechtigungen ergeben sich aus der Überlschneidung der beiden Richtlinientypen. Eine explizite Zugriffsverweigerung in einer der beiden Richtlinien überschreibt die Zugriffserlaubnis.

Auswertung von identitätsbasierten Richtlinien und Berechtigungsgrenzen

Ressourcenbasierte Richtlinien – Ressourcenbasierte Richtlinien steuern, wie der angegebene Auftraggeber auf die Ressource zugreifen kann, der die Richtlinie angefügt ist.

Ressourcenbasierte Richtlinien für IAM-Benutzer

Innerhalb desselben Kontos werden ressourcenbasierte Richtlinien, die einem Benutzer Berechtigungen gewähren ARN (d. h. es handelt sich nicht um eine IAM Verbundbenutzersitzung), nicht durch eine implizite Verweigerung in einer identitätsbasierten Richtlinie oder durch eine Berechtigungsgrenze eingeschränkt.

Auswertung einer ressourcenbasierten Richtlinie, Berechtigungsgrenze und identitätsbasierte Richtlinie
Ressourcenbasierte Richtlinien für Rollen IAM

IAMRolle — Ressourcenbasierte Richtlinien, die einer IAM Rolle Berechtigungen gewähren, ARN werden durch eine implizite Verweigerung in einer Berechtigungsgrenze oder einer Sitzungsrichtlinie eingeschränkt.

IAMRollensitzung — Innerhalb desselben Kontos gewähren ressourcenbasierte Richtlinien, die Berechtigungen für eine IAM Rollensitzung ARN gewähren, Berechtigungen direkt für die angenommene Rollensitzung. Berechtigungen, die direkt für eine Sitzung gewährt werden, sind nicht durch eine implizite Verweigerung in einer identitätsbasierten Richtlinie, einer Berechtigungsgrenze oder einer Sitzungsrichtlinie beschränkt. Wenn Sie eine Rolle übernehmen und eine Anfrage stellen, ist der Hauptbenutzer, der die Anfrage stellt, die IAM Rollensitzung ARN und nicht der ARN der Rolle selbst.

Ressourcenbasierte Richtlinien für IAM föderierte Benutzersitzungen

IAMVerbundbenutzersitzungen — Eine IAM föderierte Benutzersitzung ist eine Sitzung, die durch einen Aufruf erstellt wird. GetFederationToken Wenn ein Verbundbenutzer eine Anfrage stellt, ist der Hauptbenutzer, der die Anfrage stellt, der Verbundbenutzer ARN und nicht der Benutzer, ARN der den IAM Verbund erstellt hat. Innerhalb desselben Kontos gewähren ressourcenbasierte Richtlinien, die einem Verbundbenutzer ARN Berechtigungen gewähren, Berechtigungen direkt für die Sitzung. Berechtigungen, die direkt für eine Sitzung gewährt werden, sind nicht durch eine implizite Verweigerung in einer identitätsbasierten Richtlinie, einer Berechtigungsgrenze oder einer Sitzungsrichtlinie beschränkt.

Wenn jedoch eine ressourcenbasierte Richtlinie dem Benutzer, ARN der den Verbund erstellt hat, die Erlaubnis erteilt, werden die Anfragen, die der IAM Verbundbenutzer während der Sitzung stellt, durch eine implizite Verweigerung in einer Berechtigungsgrenze oder in einer Sitzungsrichtlinie eingeschränkt.

Organizations SCPs — SCPs werden auf ein Ganzes angewendet AWS-Konto. Sie schränken die Berechtigungen für jede Anforderung ein, die von einem Auftraggeber innerhalb des Kontos gesendet wurden. Eine IAM Entität (Benutzer oder Rolle) kann eine Anfrage stellen, die von einerSCP, einer Berechtigungsgrenze und einer identitätsbasierten Richtlinie betroffen ist. In diesem Fall wird die Anforderung nur gewährt, wenn alle drei Richtlinientypen sie zulassen. Die effektiven Berechtigungen ergeben sich aus der Überschneidung der drei Richtlinientypen. Eine explizite Zugriffsverweigerung in einer dieser Richtlinien setzt eine Zugriffserlaubnis außer Kraft.

Bewertung einer RichtlinieSCP, einer Richtlinie auf der Grundlage von Zugriffsrechten und einer identitätsbasierten Richtlinie

Sie können erfahren ob Ihr Konto als Mitgliedskonto einer Organisation in AWS Organizations eingerichtet ist. Mitglieder der Organisation könnten von einer betroffen sein. SCP Um diese Daten mit dem AWS CLI Befehl oder der AWS API Operation anzeigen zu können, benötigen Sie Berechtigungen für die organizations:DescribeOrganization Aktion für Ihre Organisationseinheit. Sie müssen über zusätzliche Berechtigungen verfügen, um die Operation in der Organizations-Konsole auszuführen. Um zu erfahren, ob an SCP den Zugriff auf eine bestimmte Anfrage verweigert, oder um Ihre aktuellen Berechtigungen zu ändern, wenden Sie sich an Ihren AWS Organizations Administrator.

Sitzungsrichtlinien – Sitzungsrichtlinien sind erweiterte Richtlinien, die Sie als Parameter übergeben, wenn Sie eine temporäre Sitzung für eine Rolle oder einen verbundenen Benutzer programmgesteuert erstellen. Die Berechtigungen für eine Sitzung stammen von der IAM Entität (Benutzer oder Rolle), die zur Erstellung der Sitzung verwendet wurde, und von der Sitzungsrichtlinie. Die identitätsbasierten Richtlinienberechtigungen der Entität werden von der Sitzungsrichtlinie und der Berechtigungsgrenze eingeschränkt. Die effektiven Berechtigungen für diese Gruppe von Richtlinientypen ergeben sich aus der Überschneidung aller drei Richtlinientypen. Eine explizite Zugriffsverweigerung in einer dieser Richtlinien setzt eine Zugriffserlaubnis außer Kraft. Weitere Informationen zu Sitzungsrichtlinien finden Sie unter Sitzungsrichtlinien.

Auswertung einer Sitzungsrichtlinie, einer Berechtigungsgrenze und einer identitätsbasierten Richtlinie

Verantwortung mit Hilfe von Berechtigungsgrenzen an andere delegieren

Sie können Berechtigungsgrenzen verwenden, um Aufgaben der Rechteverwaltung, wie z. B. die Benutzererstellung, an IAM Benutzer in Ihrem Konto zu delegieren. Dies erlaubt es anderen, Aufgaben in Ihrem Namen innerhalb einer bestimmten Berechtigungsgrenze auszuführen.

Nehmen wir zum Beispiel an, dass María die Administratorin der X-Company ist. AWS-Konto Sie möchte die Aufgaben der Benutzererstellung an Zhang delegieren. Sie muss jedoch sicherstellen, dass Zhang Benutzer erstellt, die sich an die folgenden Unternehmensregeln halten:

  • Benutzer können IAM sie nicht zum Erstellen oder Verwalten von Benutzern, Gruppen, Rollen oder Richtlinien verwenden.

  • Benutzern wird der Zugriff auf den Amazon S3 logs S3-Bucket verweigert und sie können nicht auf die i-1234567890abcdef0 EC2 Amazon-Instance zugreifen.

  • Benutzer können ihre eigenen Begrenzungsrichtlinien nicht entfernen.

Um diese Regeln durchzusetzen, führt María die folgenden Aufgaben durch, die im Folgenden näher erläutert werden:

  1. María erstellt die verwaltete Richtlinie XCompanyBoundaries als Berechtigungsgrenze für alle neuen Benutzer im Konto.

  2. María erstellt die verwaltete Richtlinie DelegatedUserBoundary und weist sie als Berechtigungsgrenze für Zhang zu. Maria notiert sich den Namen ihres Admin-Benutzers ARN und verwendet ihn in der Richtlinie, um zu verhindern, dass Zhang darauf zugreift.

  3. María erstellt die verwaltete Richtlinie DelegatedUserPermissions und fügt sie als Berechtigungsrichtlinie für Zhang hinzu.

  4. María informiert Zhang über seine neuen Aufgaben und Grenzen.

Aufgabe 1: María muss zuerst eine verwaltete Richtlinie erstellen, um die Grenzen für die neuen Benutzer festzulegen. María wird es Zhang erlauben, den Benutzern die erforderlichen Rechte zu geben, aber sie möchte, dass diese Benutzer eingeschränkt werden. Zu diesem Zweck erstellt sie die folgende kundenverwaltete Richtlinie mit dem Namen XCompanyBoundaries. Diese Richtlinie gewährt die folgenden Aktionen:

  • Ermöglicht den Benutzern den vollständigen Zugriff auf mehrere Services

  • Ermöglicht eingeschränkten, sich selbst verwaltenden Zugriff in der IAM Konsole. Das bedeutet, dass sie ihr Passwort ändern können, nachdem sie sich bei der Konsole angemeldet haben. Sie können ihr anfängliches Passwort nicht festlegen. Um dies zu ermöglichen, fügen Sie die Aktion "*LoginProfile" zur Anweisung AllowManageOwnPasswordAndAccessKeys hinzu.

  • Verweigert Benutzern den Zugriff auf den Amazon S3 S3-Logs-Bucket oder die i-1234567890abcdef0 Amazon-Instance EC2

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ServiceBoundaries", "Effect": "Allow", "Action": [ "s3:*", "cloudwatch:*", "ec2:*", "dynamodb:*" ], "Resource": "*" }, { "Sid": "AllowIAMConsoleForCredentials", "Effect": "Allow", "Action": [ "iam:ListUsers", "iam:GetAccountPasswordPolicy" ], "Resource": "*" }, { "Sid": "AllowManageOwnPasswordAndAccessKeys", "Effect": "Allow", "Action": [ "iam:*AccessKey*", "iam:ChangePassword", "iam:GetUser", "iam:*ServiceSpecificCredential*", "iam:*SigningCertificate*" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "DenyS3Logs", "Effect": "Deny", "Action": "s3:*", "Resource": [ "arn:aws:s3:::logs", "arn:aws:s3:::logs/*" ] }, { "Sid": "DenyEC2Production", "Effect": "Deny", "Action": "ec2:*", "Resource": "arn:aws:ec2:*:*:instance/i-1234567890abcdef0" } ] }

Jede Anweisung dient einem anderen Zweck:

  1. Gemäß ServiceBoundaries dieser Richtlinie wird der uneingeschränkte Zugriff auf die angegebenen AWS Dienste gewährt. Dies bedeutet, dass die Aktionen eines neuen Benutzers in diesen Services nur laut der Berechtigungsrichtlinien begrenzt sind, die dem Benutzer zugeordnet sind.

  2. Die AllowIAMConsoleForCredentials Erklärung ermöglicht den Zugriff auf eine Liste aller IAM Benutzer. Dieser Zugriff ist erforderlich, um auf der Seite Users (Benutzer) in der AWS Management Console navigieren zu können. Außerdem können die Passwortanforderungen für das Konto angezeigt werden, was erforderlich ist, wenn Sie Ihr eigenes Passwort ändern.

  3. Mit der AllowManageOwnPasswordAndAccessKeys-Anweisung können Benutzer nur ihr eigenes Konsolen-Passwort und programmatische Zugriffsschlüssel verwalten. Dies ist wichtig, wenn Zhang oder ein anderer Administrator einem neuen Benutzer eine Berechtigungsrichtlinie mit vollem IAM Zugriff zuweist. In diesem Fall könnte der Benutzer seine eigenen Berechtigungen oder die anderer Benutzer ändern. Diese Anweisung verhindert, dass dies passiert.

  4. Die Anweisung DenyS3Logs verweigert explizit den Zugriff auf den logs-Bucket.

  5. Die Anweisung DenyEC2Production verweigert explizit den Zugriff auf die i-1234567890abcdef0-Instance.

Aufgabe 2: María möchte Zhang erlauben, alle Benutzer für die X-Company Benutzer zu erstellen, aber nur mit der Berechtigungsgrenze XCompanyBoundaries. Sie erstellt die folgende kundenverwaltete Richtlinie mit dem Namen DelegatedUserBoundary. Diese Richtlinie definiert die maximale Berechtigungen, die Zhang haben kann.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateOrChangeOnlyWithBoundary", "Effect": "Allow", "Action": [ "iam:AttachUserPolicy", "iam:CreateUser", "iam:DeleteUserPolicy", "iam:DetachUserPolicy", "iam:PutUserPermissionsBoundary", "iam:PutUserPolicy" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PermissionsBoundary": "arn:aws:iam::123456789012:policy/XCompanyBoundaries" } } }, { "Sid": "CloudWatchAndOtherIAMTasks", "Effect": "Allow", "Action": [ "cloudwatch:*", "iam:CreateAccessKey", "iam:CreateGroup", "iam:CreateLoginProfile", "iam:CreatePolicy", "iam:DeleteGroup", "iam:DeletePolicy", "iam:DeletePolicyVersion", "iam:DeleteUser", "iam:GetAccountPasswordPolicy", "iam:GetGroup", "iam:GetLoginProfile", "iam:GetPolicy", "iam:GetPolicyVersion", "iam:GetRolePolicy", "iam:GetUser", "iam:GetUserPolicy", "iam:ListAccessKeys", "iam:ListAttachedRolePolicies", "iam:ListAttachedUserPolicies", "iam:ListEntitiesForPolicy", "iam:ListGroups", "iam:ListGroupsForUser", "iam:ListMFADevices", "iam:ListPolicies", "iam:ListPolicyVersions", "iam:ListRolePolicies", "iam:ListSSHPublicKeys", "iam:ListServiceSpecificCredentials", "iam:ListSigningCertificates", "iam:ListUserPolicies", "iam:ListUsers", "iam:SetDefaultPolicyVersion", "iam:SimulateCustomPolicy", "iam:SimulatePrincipalPolicy", "iam:UpdateGroup", "iam:UpdateLoginProfile", "iam:UpdateUser" ], "NotResource": "arn:aws:iam::123456789012:user/Maria" }, { "Sid": "NoBoundaryPolicyEdit", "Effect": "Deny", "Action": [ "iam:CreatePolicyVersion", "iam:DeletePolicy", "iam:DeletePolicyVersion", "iam:SetDefaultPolicyVersion" ], "Resource": [ "arn:aws:iam::123456789012:policy/XCompanyBoundaries", "arn:aws:iam::123456789012:policy/DelegatedUserBoundary" ] }, { "Sid": "NoBoundaryUserDelete", "Effect": "Deny", "Action": "iam:DeleteUserPermissionsBoundary", "Resource": "*" } ] }

Jede Anweisung dient einem anderen Zweck:

  1. Die CreateOrChangeOnlyWithBoundary Anweisung ermöglicht es Zhang, IAM Benutzer zu erstellen, aber nur, wenn er die XCompanyBoundaries Richtlinie verwendet, um die Berechtigungsgrenze festzulegen. Diese Anweisung erlaubt es ihm auch, die Berechtigungsgrenze für bestehende Benutzer festzulegen, jedoch nur mit der gleichen Richtlinie. Diese Anweisung schließlich erlaubt Zhang, Berechtigungsrichtlinien für Benutzer mit dieser Berechtigungsgrenze zu verwalten.

  2. Die Anweisung CloudWatchAndOtherIAMTasks ermöglicht es Zhang, andere Aufgaben der Benutzer-, Gruppen- und Richtlinienverwaltung auszuführen. Er ist berechtigt, Passwörter zurückzusetzen und Zugriffsschlüssel für alle IAM Benutzer zu erstellen, die nicht im NotResource Richtlinienelement aufgeführt sind. Dadurch kann er Benutzern bei Anmeldeproblemen helfen.

  3. Die Anweisung NoBoundaryPolicyEdit verweigert Zhang Zugriff, um die Richtlinie XCompanyBoundaries zu aktualisieren. Er darf keine Richtlinien ändern, die dazu dienen, die Berechtigungsgrenze für sich selbst oder andere Benutzer festzulegen.

  4. Die NoBoundaryUserDelete-Anweisung verweigert Zhang den Zugriff zum Löschen der Berechtigungsgrenze für ihn oder andere Benutzer.

María weist anschließend dieDelegatedUserBoundary Richtlinie als Berechtigungsgrenze für den Benutzer Zhang zu.

Aufgabe 3: Da die Berechtigungsgrenze die maximalen Berechtigungen begrenzt, aber selbst keinen Zugriff gewährt, muss Maria eine Berechtigungsrichtlinie für Zhang erstellen. Sie erstellt die folgende Richtlinie mit dem Namen DelegatedUserPermissions. Diese Richtlinie definiert die Operationen, die Zhang innerhalb der definierten Grenzen ausführen kann.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAM", "Effect": "Allow", "Action": "iam:*", "Resource": "*" }, { "Sid": "CloudWatchLimited", "Effect": "Allow", "Action": [ "cloudwatch:GetDashboard", "cloudwatch:GetMetricData", "cloudwatch:ListDashboards", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics" ], "Resource": "*" }, { "Sid": "S3BucketContents", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::ZhangBucket" } ] }

Jede Anweisung dient einem anderen Zweck:

  1. Die IAM Erklärung der Richtlinie gewährt Zhang vollen Zugriff aufIAM. Da seine Rechtegrenze jedoch nur einige IAM Operationen zulässt, sind seine effektiven IAM Berechtigungen nur durch seine Berechtigungsgrenze begrenzt.

  2. Die CloudWatchLimited Anweisung ermöglicht es Zhang, fünf Aktionen in CloudWatch durchzuführen. Seine Rechtegrenze lässt alle Aktionen zu CloudWatch, sodass seine effektiven CloudWatch Berechtigungen nur durch seine Berechtigungsrichtlinie eingeschränkt werden.

  3. Mit der S3BucketContents-Anweisung kann Zhang den Amazon S3-Bucket ZhangBucket auflisten. Allerdings erlaubt seine Berechtigungsgrenze keine Amazon S3-Aktion, so kann er keine S3-Operationen durchführen, unabhängig von seiner Berechtigungsrichtlinie.

    Anmerkung

    Zhangs Richtlinien ermöglichen es ihm, einen Benutzer zu erstellen, der dann auf Amazon S3-Ressourcen zugreifen kann, auf die er nicht zugreifen kann. Durch die Delegation dieser administrativen Maßnahmen vertraut Maria effektiv Zhang mit dem Zugriff auf Amazon S3.

María weist anschließend die DelegatedUserPermissions-Richtlinie als Berechtigungsrichtlinie für den Benutzer Zhang zu.

Aufgabe 4: Sie gibt Zhang Anweisungen, einen neuen Benutzer zu erstellen. Sie sagt ihm, dass er neue Benutzer mit allen erforderlichen Berechtigungen anlegen kann, aber er muss ihnen die Richtlinie XCompanyBoundaries als Berechtigungsgrenze zuweisen.

Zhang führt die folgenden Aufgaben aus:

  1. Zhang erstellt einen Benutzer mit dem AWS Management Console. Er gibt den Benutzernamen Nikhil ein und aktiviert den Konsolenzugriff für den Benutzer. Er deaktiviert das Kontrollkästchen neben Erfordert ein Zurücksetzen des Kennworts, da die oben genannten Richtlinien es Benutzern erst ermöglichen, ihre Passwörter zu ändern, nachdem sie an der IAM Konsole angemeldet sind.

  2. Auf der Seite „Berechtigungen festlegen“ wählt Zhang die Berechtigungsrichtlinien IAMFullAccessund AmazonS3 aus, die es ReadOnlyAccess Nikhil ermöglichen, seine Arbeit zu erledigen.

  3. Zhang überspringt den Abschnitt Set permissions boundary (Berechtigungsgrenze festlegen) und vergisst die Anweisungen von María.

  4. Zhang überarbeitet die Benutzerdetails und wählt Create user (Benutzer erstellen).

    Die Operation schlägt fehl und der Zugriff wird verweigert. Die Berechtigungsgrenze DelegatedUserBoundary von Zhang fordert, dass alle Benutzer, die er erstellt, die Richtlinie XCompanyBoundaries als Berechtigungsgrenze verwenden.

  5. Zhang kehrt zurück auf die vorherige Seite. Im Abschnitt Set permissions boundary (Berechtigungsgrenze festlegen) wählt er die Richtlinie XCompanyBoundaries.

  6. Zhang überarbeitet die Benutzerdetails und wählt Create user (Benutzer erstellen).

    Der Benutzer wird erstellt.

Wenn Nikhil sich anmeldet, hat er Zugriff IAM auf Amazon S3, mit Ausnahme der Operationen, die durch die Berechtigungsgrenze verweigert werden. Er kann beispielsweise sein eigenes Passwort ändern, IAM aber keinen anderen Benutzer erstellen oder seine Richtlinien bearbeiten. Nikhil hat schreibgeschützten Zugriff auf Amazon S3.

Wenn jemand dem logs-Bucket eine ressourcenbasierte Richtlinie zuordnet, die Nikhil das Hinzufügen eines Objekts in den Bucket gewährt, dann kann immer noch nicht auf den Bucket zuzugreifen. Der Grund ist, dass alle Aktionen im logs-Bucket durch seine Berechtigungsgrenze explizit verweigert werden. Eine explizite Zugriffsverweigerung in jedem Richtlinientyp führt dazu, dass eine Anforderung verweigert wird. Wenn jedoch eine ressourcenbasierte Richtlinie, die mit einem Secrets Manager-Geheimnis verknüpft ist, Nikhil erlaubt, die secretsmanager:GetSecretValue-Aktion durchzuführen, kann Nikhil das Geheimnis abrufen und entschlüsseln. Der Grund dafür ist, dass Secrets Manager-Operationen von seiner Berechtigungsgrenze nicht explizit verweigert werden, und impliziete Zugriffsverweigerungen in Berechtigungsgrenzen beschränken keine ressourcenbasierte Richtlinien.