View a markdown version of this page

Zugriffskontrolle mit IAM-Richtlinien - 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.

Zugriffskontrolle mit IAM-Richtlinien

IAM bietet mehrere Richtlinientypen zur Steuerung des Zugriffs auf die Funktion zum Identitätsverbund für ausgehende Verbindungen. Mithilfe identitätsbasierter Richtlinien können Sie steuern, welche IAM-Prinzipale Token anfordern können, und bestimmte Token-Eigenschaften wie Zielgruppen, Gültigkeitsdauer und Signaturalgorithmen durchsetzen. Mithilfe von Service Control Policies (SCPs) können Sie unternehmensweite Einschränkungen bei der Token-Generierung für alle Konten in Ihren Organisationen durchsetzen. AWS Resource Control Policies (RCPs) steuern den Zugriff auf Ressourcenebene. Sie können auch VPC-Endpunktrichtlinien verwenden, um einzuschränken, welche Principals über Ihre VPC-Endpoints auf die AWS STS GetWebIdentityToken API zugreifen können, und so Ihre Sicherheitslage um Kontrollen auf Netzwerkebene erweitern. In diesem Abschnitt wird erläutert, wie Sie mithilfe dieser Richtlinientypen und Bedingungsschlüssel detaillierte Zugriffskontrollen implementieren.

Um Identitätstoken anzufordern, muss ein IAM-Principal über die entsprechende Berechtigung verfügen. sts:GetWebIdentityToken Erteilen Sie diese Berechtigung mithilfe von Identitätsrichtlinien, die IAM-Benutzern oder -Rollen zugeordnet sind. Damit Tags (Schlüssel, Wertepaare) an den GetWebIdentityToken Anruf übergeben werden können, muss der IAM-Principal über die sts:TagGetWebIdentityToken entsprechende Berechtigung verfügen.

  • Verwenden Sie den IdentityTokenAudience Bedingungsschlüssel sts:, um einzuschränken, welche externen Dienste Token empfangen können.

  • Verwenden Sie den DurationSeconds Bedingungsschlüssel sts:, um die maximale Lebensdauer der Token durchzusetzen.

  • Verwenden Sie den SigningAlgorithm Bedingungsschlüssel sts:, um bestimmte kryptografische Algorithmen zu benötigen.

  • Verwenden Sie den RequestTag Bedingungsschlüssel aws: und vergleichen Sie das Tag-Schlüssel-Wert-Paar, das in der Anfrage übergeben wurde, mit dem Tag-Paar, das Sie in der Richtlinie angeben.

  • Verwenden Sie den Schlüssel aws: TagKeys condition, um die Tag-Schlüssel in einer Anfrage mit den Schlüsseln zu vergleichen, die Sie in der Richtlinie angeben.

Weitere Informationen zu den in IAM-Richtlinien verfügbaren AWS STS Bedingungsschlüsseln finden Sie unter IAM- und Bedingungsschlüssel.

Dieses Beispiel für eine Identitätsrichtlinie kombiniert mehrere Bedingungsschlüssel:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowTokenGenerationWithRestrictions", "Effect": "Allow", "Action": "sts:GetWebIdentityToken", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "sts:IdentityTokenAudience": [ "https://api1.example.com", "https://api2.example.com" ] }, "NumericLessThanEquals": { "sts:DurationSeconds": 300 }, "StringEquals": { "sts:SigningAlgorithm": "ES384" } } } ] }

Bewährte Methoden

Folgen Sie diesen Empfehlungen, um Ihre AWS Identitäten sicher mit externen Diensten zu verbinden.

  • Verwenden Sie kurze Token-Lebenszeiten: Fordern Sie Token mit der kürzesten Lebensdauer an, die Ihren betrieblichen Anforderungen entspricht.

  • Implementieren Sie den Zugriff mit den geringsten Rechten und schränken Sie die Token-Eigenschaften mithilfe von IAM-Richtlinien ein: Erteilen Sie die sts:GetWebIdentityToken Genehmigung nur IAM-Prinzipalen, die sie benötigen. Verwenden Sie Bedingungsschlüssel, um Signaturalgorithmen, zulässige Token-Zielgruppen und die maximale Token-Lebensdauer nach Bedarf festzulegen.

  • Bestätigen Sie Ansprüche in externen Diensten: Überprüfen Sie aus Sicherheitsgründen stets relevante Behauptungen wie Betreff („Sub“), Zielgruppe („aud“) usw., um sicherzustellen, dass sie Ihren erwarteten Werten entsprechen. Validieren Sie benutzerdefinierte Ansprüche, wenn möglich, um detaillierte Autorisierungsentscheidungen in externen Diensten zu treffen.