Übersicht über die Verwaltung von Zugriffsberechtigungen für Ihre CloudFront-Ressourcen - Amazon CloudFront

Übersicht über die Verwaltung von Zugriffsberechtigungen für Ihre CloudFront-Ressourcen

Jede AWS-Ressource ist Eigentum eines AWS-Kontos und die Berechtigungen für die Erstellung einer Ressource oder den Zugriff darauf werden durch Berechtigungsrichtlinien geregelt.

Anmerkung

Ein Kontoadministrator (oder Administratorbenutzer) ist ein Benutzer mit Administratorrechten. Weitere Informationen über Administratoren finden Sie unter Bewährte Methoden für IAM im IAM Benutzerhandbuch.

Wenn Sie Berechtigungen erteilen, entscheiden Sie, wer die Berechtigungen erhält, für welche Ressourcen Berechtigungen vergeben werden und welche bestimmten Aktionen für die Benutzer zulässig sind.

ARNs für CloudFront-Ressourcen

Alle CloudFront-Ressourcen (einschließlich Verteilungen, Invalidierungen, Ursprungszugriffsidentitäten und Funktionen) verwenden dasselbe Format für Amazon-Ressourcennamen (ARNs):

arn:aws:cloudfront::AWS_account_ID:resource_type/resource_ID

CloudFront stellt API-Aktionen für die Arbeit mit diesen verschiedenen Typen von Ressourcen bereit. Weitere Informationen finden Sie in der Amazon CloudFront API-Referenz. Eine Liste der Aktionen mit den anzugebenden ARNs, mit denen ihnen Berechtigungen erteilt oder entzogen werden, finden Sie unter CloudFront-API-Berechtigungen: Referenztabelle für Aktionen, Ressourcen und Bedingungen.

Grundlegendes zum Eigentum an Ressourcen

Unabhängig vom Ersteller ist ein AWS-Konto Eigentümer aller innerhalb des Kontos erstellten Ressourcen. Genauer gesagt ist Ressourceneigentümer das AWS-Konto der Prinzipal-Entität (d. h. das Stammkonto, ein IAM-Benutzer oder eine IAM-Rolle), die die Ressourcenerstellungsanforderung authentifiziert.

Die Funktionsweise wird anhand der folgenden Beispiele deutlich:

  • Wenn Sie die Root-Konto-Anmeldeinformationen für Ihr AWS-Konto verwenden, um eine Verteilung zu erstellen, ist Ihr AWS-Konto der Eigentümer der Verteilung.

  • Wenn Sie einen IAM-Benutzer in Ihrem AWS-Konto erstellen und diesem Berechtigungen zum Erstellen von Verteilungen erteilen, kann dieser Benutzer Verteilungen erstellen. Das AWS-Konto, das den Benutzer angelegt hat, der die Verteilung besitzt.

  • Wenn Sie in Ihrem AWS-Konto eine IAM-Rolle mit Berechtigungen zum Erstellen von Verteilungen einrichten, kann jeder, der die Rolle übernimmt, Verteilungen erstellen. Eigentümer der Verteilung ist immer das AWS-Konto, zu dem die Rolle gehört.

Verwalten des Zugriffs auf Ressourcen

Eine Berechtigungsrichtlinie gibt an, wer Zugriff auf welche Objekte hat. In diesem Abschnitt werden die Optionen zum Erstellen von Berechtigungsrichtlinien für CloudFront erläutert. Allgemeine Informationen über die Syntax und Beschreibungen von IAM-Richtlinien finden Sie in der AWS IAM-Richtlinienreferenz im IAM-Benutzerhandbuch.

Richtlinien, die einer IAM-Identität zugeordnet sind, werden als identitätsbasierte Richtlinien (IAM-Richtlinien) bezeichnet, während Richtlinien, die einer Ressource zugeordnet sind, als ressourcenbasierte Richtlinien bezeichnet werden. CloudFront unterstützt keine ressourcenbasierten Richtlinien, aber Richtlinien auf Ressourcenebene. Weitere Informationen zu den Typen von Berechtigungsrichtlinien, die CloudFront unterstützt, finden Sie unter Verwalten des Zugriffs auf Ressourcen.

Identitätsbasierte Richtlinien (IAM-Richtlinien)

Richtlinien können IAM-Identitäten angefügt werden. Sie können z. B. Folgendes tun:

  • Zuweisen von Berechtigungsrichtlinien zu Benutzern oder Gruppen in Ihrem Konto – Ein Kontoadministrator kann eine Berechtigungsrichtlinie verwenden, die einem bestimmten Benutzer zugeordnet ist, um diesem Benutzer Berechtigungen zum Erstellen einer Verteilung zu erteilen.

  • Einer Rolle eine Berechtigungsrichtlinie zuweisen (kontoübergreifende Berechtigungen erteilen) – Sie können auch Benutzern, die in einem anderen AWS-Konto erstellt wurden, die Berechtigung erteilen, CloudFront-Aktionen durchzuführen. Dazu ordnen Sie einer IAM-Rolle eine Berechtigungsrichtlinie zu und erlauben dann dem Benutzer in dem anderen Konto, die Rolle einzunehmen. Im folgenden Beispiel wird erklärt, wie dieser Vorgang für zwei AWS-Konten, Konto A und Konto B, funktioniert:

    1. Der Administrator von Konto A erstellt eine IAM-Rolle und weist ihr eine Berechtigungsrichtlinie zu, die Berechtigungen zum Erstellen von oder für den Zugriff auf Ressourcen erteilt, die Konto A gehören.

    2. Der Administrator von Konto A weist der Rolle eine Vertrauensrichtlinie zu. Die Vertrauensrichtlinie identifiziert Konto B als Prinzipal, der die Rolle einnehmen darf.

    3. Anschließend kann der Administrator von Konto B Berechtigungen für Benutzer oder Gruppen in Konto B zuzuweisen, dass diese die Rolle einnehmen können. Auf diese Weise können Benutzer in Konto B Ressourcen in Konto A erstellen bzw. darauf zugreifen.

    Weitere Informationen zur Vorgehensweise beim Delegieren von Berechtigungen an Benutzer aus einem anderen AWS-Konto finden Sie unter Access Management (Zugriffsverwaltung) im IAM-Benutzerhandbuch.

Die folgende Beispielrichtlinie ermöglicht es einem Benutzer, die Aktion CreateDistribution auszuführen und programmgesteuert eine Verteilung für Ihr AWS-Konto zu erstellen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudfront:CreateDistribution" ], "Resource":"*" } ] }

Weitere Informationen über die erforderlichen Berechtigungen zum Durchführen von Operationen mit der CloudFront-Konsole finden Sie unter Erforderliche Berechtigungen für die Verwendung der CloudFront-Konsole. Weitere Informationen zum Anfügen von Richtlinien zu Identitäten für CloudFront finden Sie unter Verwenden von identitätsbasierten Richtlinien (IAM-Richtlinien) für CloudFront.. Weitere Informationen zu Benutzern, Gruppen, Rollen und Berechtigungen finden Sie im Thema Identitäten (Benutzer, Gruppen und Rollen) im IAM-Benutzerhandbuch.

Richtlinien auf Ressourcenebene

In einigen Szenarien möchten Sie möglicherweise eine bestimmte Zugriffsebene auf eine von Ihnen angegebene Ressource gewähren, z. B. nur Zugriff auf bestimmte Aktionen für diese Ressource. Bei einigen AWS-Services wird dies implementiert, indem Ihnen das direkte Anfügen einer Richtlinie an die Ressource ermöglicht wird. So implementieren Amazon S3 und OpenSearch beispielsweise die Ressourcenzugriffssteuerung. CloudFront ermöglicht die gleiche Flexibilität, verwendet jedoch eine andere Methode. Anstatt eine Richtlinie einer Ressource anzufügen, geben Sie die Ressource in einer Richtlinie an.

Die folgende Richtlinie zeigt beispielsweise, wie Sie das Aktualisieren, Löschen und Erstellen von Aufhebungen von Zugriff auf eine Verteilung erlauben, die Sie durch den ARN der Verteilung angeben. Diese Richtlinie gewährt nur die Berechtigungen, die für das Abschließen dieser Aktion mit der AWS-API oder AWS CLI erforderlich sind. (Um diese Richtlinie zu verwenden, ersetzen Sie den kursiven Text in der Beispielrichtlinie durch Ihre eigenen Ressourceninformationen.)

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "cloudfront:CreateDistribution", "cloudfront:Get*", "cloudfront:List*" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "cloudfront:UpdateDistribution", "cloudfront:DeleteDistribution", "cloudfront:CreateInvalidation", ], "Resource": "arn:aws:cloudfront::123456789012:distribution/EDFDVBD6EXAMPLE" } ] }

Tagbasierte Richtlinien

Wenn Sie IAM-Richtlinien entwerfen, können Sie detaillierte Berechtigungen festlegen, indem sie den Zugriff auf bestimmte Ressourcen gewähren. Mit zunehmender Anzahl der Ressourcen, die Sie verwalten, wird diese Aufgabe erschwert. Durch Markieren von Ressourcen und Verwenden von Tags in Richtlinienanweisungsbedingungen lässt sich diese Aufgabe vereinfachen. Sie erteilen Massenzugriff auf eine beliebige Ressource mit einem bestimmten Tag. Anschließend wenden Sie dieses Tag während der Erstellung oder zu einem späteren Zeitpunkt wiederholt auf relevante Ressourcen an.

Anmerkung

Das Verwenden von Tags in Bedingungen ist eine Möglichkeit zur Kontrolle des Zugriffs auf Ressourcen und Anfragen. Weitere Informationen zum Tagging in CloudFront finden Sie unter Markieren von Amazon CloudFront-Verteilungen.

Tags können an die Ressource angehängt oder in der Anfrage an Services weitergeleitet werden, die das Markieren unterstützen. In CloudFront können Ressourcen über Tags verfügen und einige Aktionen können Tags enthalten. Wenn Sie eine IAM-Richtlinie erstellen, können Sie Tag-Bedingungsschlüssel verwenden, um Folgendes zu kontrollieren:

  • Welche Benutzer Aktionen für eine Verteilung basierend auf bereits vorhandenen Tags ausführen können.

  • Welche Tags in der Anforderung einer Aktion übergeben werden können.

  • Ob bestimmte Tag-Schlüssel in einer Anforderung verwendet werden können.

Die vollständige Syntax und Semantik der Tag-Bedingungsschlüssel finden Sie unter Steuern des Zugriffs mit IAM-Tags im IAM Benutzerhandbuch.

Beispielsweise erteilt die verwaltete AWSCloudFrontFullAccess-Benutzerrichtlinie Benutzern die uneingeschränkte Berechtigung, auf allen Ressourcen eine beliebige CloudFront-Aktion auszuführen. Mit der folgenden Richtlinie wird diese Möglichkeit beschränkt und nicht autorisierten Benutzern wird die Berechtigung verweigert, CloudFront-Produktionsumgebungen zu erstellen.

Um die Beschränkung mithilfe von Tags zu implementieren, verweigert sie die CreateDistribution-Aktion, wenn die Anforderung ein Tag namens stage mit einem der Werte gamma oder prod angibt. Darüber hinaus verhindert diese Richtlinie, dass nicht autorisierte Benutzer die Phase der Produktionsumgebungen manipulieren, indem sie Tag-Änderungsaktionen verhindert, bei denen die gleichen Tag-Werte betroffen sind oder bei denen das stage-Tag vollständig entfernt wird. Der Administrator eines Kunden muss diese IAM-Richtlinie nicht autorisierten IAM-Benutzern hinzufügen, zusätzlich zur verwalteten Benutzerrichtlinie.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudfront:CreateDistribution", "cloudfront:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/stage": [ "gamma", "prod" ] } } }, { "Effect": "Deny", "Action": [ "cloudfront:TagResource", "cloudfront:UntagResource" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": [ "stage" ] }, "StringEquals": { "aws:ResourceTag/stage": [ "gamma", "prod" ] } } } ] }

Angeben der Richtlinienelemente: Ressourcen, Aktionen, Effekte und Prinzipale

CloudFront enthält API-Aktionen (siehe Amazon CloudFront API-Referenz), die Sie für jede CloudFront-Ressource verwenden können (siehe ARNs für CloudFront-Ressourcen). Sie können Benutzer und verbundenen Benutzern die Berechtigung zur Durchführung beliebiger dieser Aktionen erteilen.

Grundlegende Richtlinienelemente:

  • Ressource – Sie verwenden einen Amazon-Ressourcennamen (ARN), um die Ressource, für welche die Richtlinie gilt, zu identifizieren. Weitere Informationen finden Sie unter ARNs für CloudFront-Ressourcen.

  • Aktion – Mit Aktionsschlüsselwörtern geben Sie die Ressourcenoperationen an, die Sie zulassen oder verweigern möchten. Beispiel: Abhängig von dem angegebenen Effect erlaubt oder verweigert cloudfront:CreateDistribution Benutzern die Berechtigung zur Durchführung der CloudFront-Aktion CreateDistribution.

  • Effekt – Dies ist die von Ihnen festgelegte Auswirkung (entweder Zugriffserlaubnis oder Zugriffsverweigerung), wenn ein Benutzer versucht, die jeweilige Aktion für die angegebene Ressource durchzuführen. Wenn Sie den Zugriff auf eine Aktion nicht ausdrücklich gestatten, wird er implizit verweigert. Sie können den Zugriff auf eine Ressource auch explizit verweigern. So können Sie sicherstellen, dass Benutzer nicht darauf zugreifen können, auch wenn der Zugriff durch eine andere Richtlinie gestattet wird.

  • Prinzipal – In identitätsbasierten Richtlinien (IAM-Richtlinien) ist der Benutzer, dem die Richtlinie zugewiesen ist, automatisch der Prinzipal. In ressourcenbasierten Richtlinien müssen Sie den Benutzer, das Konto, den Service oder die sonstige Entität angeben, die die Berechtigungen erhalten soll (gilt nur für ressourcenbasierte Richtlinien).

    CloudFront unterstützt keine ressourcenbasierten Richtlinien, aber Richtlinien auf Ressourcenebene. Weitere Informationen zu den Typen von Berechtigungsrichtlinien, die CloudFront unterstützt, finden Sie unter Verwalten des Zugriffs auf Ressourcen.

Weitere Informationen über die Syntax und Beschreibungen von IAM-Richtlinien finden Sie in der AWS IAM-Richtlinienreferenz im IAM-Benutzerhandbuch.

Eine Tabelle mit allen CloudFront-API-Operationen und den Ressourcen, für welche diese gelten, finden Sie unter CloudFront-API-Berechtigungen: Referenztabelle für Aktionen, Ressourcen und Bedingungen.

Angeben von Bedingungen in einer Richtlinie

Beim Erteilen von Berechtigungen können Sie mithilfe der IAM-Richtliniensyntax die Bedingungen angeben, unter denen die Richtlinie wirksam werden soll. Beispielsweise kann festgelegt werden, dass eine Richtlinie erst ab einem bestimmten Datum gilt. Weitere Informationen zum Angeben von Bedingungen in einer Richtliniensyntax finden Sie im Thema Bedingung im IAM Benutzerhandbuch.

Bedingungen werden mithilfe vordefinierter Bedingungsschlüssel formuliert. Für CloudFront gibt es keine speziellen Bedingungsschlüssel. Stattdessen können Sie nach Bedarf die AWS-weiten Bedingungsschlüssel verwenden. Sie finden eine vollständige Liste der AWS-weiten Schlüssel unter Verfügbare Schlüssel für Bedingungen im IAM-Benutzerhandbuch enthalten.