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 ein erweitertes Feature, bei der Sie eine verwaltete Richtlinie verwenden, 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 Richtlinienanweisungen, die ein NotPrincipal-Richtlinienelement mit einer Deny-Wirkung für IAM-Benutzer oder -Rollen enthalten, denen eine Richtlinie mit Berechtigungsgrenzen angefügt ist. Das NotPrincipal-Element mit Deny-Wirkung lehnt immer jeden IAM-Prinzipal ab, an den eine Richtlinie zur Berechtigungsgrenze angefügt ist, unabhängig von den im NotPrincipal-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-JSON-Richtlinienelemente: NotPrincipal.

Sie können eine verwaltete AWS-Richtlinie oder eine kundenverwaltete 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.

Angenommen, der IAM-Benutzer namens ShirleyRodriguez sollte nur Amazon S3, Amazon CloudWatch und Amazon EC2 verwalten dürfen. 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 von ShirleyRodriguez wie alle Operationen in Amazon S3, CloudWatch und Amazon EC2 fest. Shirley kann niemals Operationen in einem anderen Service durchführen, einschließlich IAM, selbst wenn sie eine Berechtigungsrichtlinie hat, die dies erlaubt. 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 erlaubt das Erstellen eines Benutzers in IAM. 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önnen Sie die Berechtigungsgrenze so aktualisieren, dass sie einen Benutzer in IAM erstellen kann.

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 sich identitätsbasierte Richtlinien, ressourcenbasierte Richtlinien, Berechtigungsgrenzen, Organizations-SCPs oder Sitzungsrichtlinien auf Berechtigungen für eine Entität auswirken. Weitere Informationen zu den unterschiedlichen Richtlinientypen finden Sie unter Berechtigungen und Richtlinien in IAM.

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 dazu, wie AWS Richtlinien auswertet, 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 sind ressourcenbasierte Richtlinien, die einem IAM-Benutzer-ARN (der keine Verbundbenutzersitzung ist) Berechtigungen erteilen, nicht durch eine implizite Verweigerung in einer identitätsbasierten Richtlinie oder Berechtigungsgrenze beschränkt.


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

IAM-Rolle – Ressourcenbasierte Richtlinien, die Berechtigungen für einen IAM-Rollen-ARN erteilen, sind durch eine implizite Verweigerung in einer Berechtigungsgrenze oder einer Sitzungsrichtlinie beschränkt.

IAM-Rollensitzung – Innerhalb desselben Kontos gewähren ressourcenbasierte Richtlinien, die einem IAM-Rollensitzungs-ARN Berechtigungen erteilen, auch direkt Berechtigungen 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 Prinzipal, der die Anfrage stellt, der ARN der IAM-Rollensitzung und nicht der ARN der Rolle selbst.

Ressourcenbasierte Richtlinien für IAM-Verbundbenutzersitzungen

IAM-Verbundbenutzersitzung – Eine IAM-Verbundbenutzersitzung ist eine Sitzung, die durch Aufruf von GetFederationToken erstellt wurde. Wenn ein Verbundbenutzer eine Anfrage stellt, ist der Prinzipal, der die Anfrage stellt, der ARN des Verbundbenutzers und nicht der ARN des IAM-Benutzers, der den Verbund erstellt hat. Innerhalb desselben Kontos erteilen ressourcenbasierte Richtlinien, die einem Verbundbenutzer-ARN Berechtigungen gewähren, der Sitzung direkt Berechtigungen. 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 ARN des IAM-Benutzers, der den Verbund erstellt hat, die Berechtigung erteilt, werden Anfragen des Verbundbenutzers während der Sitzung durch eine implizite Verweigerung in einer Berechtigungsgrenze oder Sitzungsrichtlinie eingeschränkt.

Organisationen-SCPs – SCPs werden auf ein gesamtes AWS-Konto angewendet. 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 Anforderung stellen, die durch eine SCP, eine Berechtigungsgrenze und eine identitätsbasierte Richtlinie beeinflusst wird. 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.


                Auswertung einer SCP, Berechtigungsgrenze und identitätsbasierten Richtlinie

Sie können erfahren ob Ihr Konto als Mitgliedskonto einer Organisation in AWS Organizations eingerichtet ist. Eine SCP hat möglicherweise Auswirkungen auf Mitglieder einer Organisation. Zum Anzeigen der Daten mit dem AWS CLI-Befehl oder einer AWS-API-Operation, benötigen Sie Berechtigungen für die organizations:DescribeOrganization-Aktion für Ihre Organizations-Entität. Sie müssen über zusätzliche Berechtigungen verfügen, um die Operation in der Organizations-Konsole auszuführen. Wenden Sie sich an IhrenAWS Organizations-Administrator, wenn Sie wissen möchten, ob eine SCP den Zugriff auf eine bestimmte Anfrage verweigert oder wenn Sie Ihre effektiven Berechtigungen ändern möchten.

Sitzungsrichtlinien – Sitzungsrichtlinien sind erweiterte Richtlinien, die Sie als Parameter übergeben, wenn Sie eine temporäre Sitzung für eine Rolle oder einen Verbundbenutzer programmgesteuert erstellen. Die Berechtigungen für eine Sitzung stammen aus der IAM-Entität (Benutzer oder Rolle), die verwendet wird, um die Sitzung zu erstellen, 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 Berechtigungsverwaltungsaufgaben, wie das Erstellen von Benutzern, an IAM-Benutzer in Ihrem Konto zu delegieren. Dies erlaubt es anderen, Aufgaben in Ihrem Namen innerhalb einer bestimmten Berechtigungsgrenze auszuführen.

Nehmen Sie beispielsweise an, dass María Administrator des AWS-Konto der X-Company ist. 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 nicht verwenden, um Benutzer, Gruppen, Rollen oder Richtlinien zu erstellen oder zu verwalten.

  • Benutzer erhalten keinen Zugriff auf den Amazon S3 logs-Bucket und keinen Zugriff auf die i-1234567890abcdef0 Amazon EC2-Instance.

  • 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 den ARN ihres Administratorbenutzers und verwendet ihn in der Richtlinie, um zu verhindern, dass Zhang darauf zugreifen kann.

  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 selbstverwaltenden 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 Protokoll-Bucket oder die i-1234567890abcdef0-Amazon EC2-Instance

{ "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. Die ServiceBoundaries-Anweisung in dieser Richtlinie gewährt den vollständigen Zugriff auf die angegebenen AWS-Services. 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-Anweisung erlaubt den Zugriff für das Auflisten 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 Anweisung CreateOrChangeOnlyWithBoundary erlaubt es Zhang, IAM-Benutzer zu erstellen, aber nur, wenn er die Richtlinie XCompanyBoundaries 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. Dieser verfügt über Berechtigungen zum Zurücksetzen von Passwörtern und Erstellen von Zugriffsschlüsseln für alle IAM-Benutzer, 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-Anweisung der Richtlinie gewährt Zhang den vollständigen Zugriff auf IAM. Da seine Berechtigungsgrenze jedoch nur einige IAM-Operationen zulässt, sind seine effektiven IAM-Berechtigungen nur durch seine Berechtigungsgrenze begrenzt.

  2. Mit der CloudWatchLimited-Anweisung kann Zhang fünf Aktionen in CloudWatch ausführen. Seine Berechtigungsgrenze erlaubt alle Aktionen in CloudWatch, so dass seine effektiven CloudWatch-Berechtigungen nur durch seine Berechtigungsrichtlinie begrenzt sind.

  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 der AWS Management Console. Er gibt den Benutzernamen Nikhil ein und aktiviert den Konsolenzugriff für den Benutzer. Er deaktiviert das Kontrollkästchen neben Passwortrücksetzung erforderlich, da die oben genannten Richtlinien Benutzern erst dann erlauben, ihr Passwort zu ändern, nachdem sich bei der IAM-Konsole angemeldet haben.

  2. Auf der Seite Set permissions (Berechtigungen festlegen) wählt Zhang die Berechtigungsrichtlinien IAMFullAccess und AmazonS3ReadOnlyAccess, die Nikhil gestatten, 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 auf IAM und Amazon S3, mit Ausnahme der Operationen, die laut der Berechtigungsgrenze verweigert werden. Zum Beispiel kann er sein eigenes Passwort in IAM ändern, aber keinen anderen Benutzer anlegen 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.