Beispiele für identitätsbasierte Richtlinien für Amazon CloudFront - Amazon CloudFront

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.

Beispiele für identitätsbasierte Richtlinien für Amazon CloudFront

Standardmäßig sind Benutzer und Rollen nicht berechtigt, Ressourcen zu erstellen oder zu ändern CloudFront. Sie können auch keine Aufgaben mithilfe von AWS Management Console, AWS Command Line Interface (AWS CLI) oder ausführen AWS API. Um Benutzern die Berechtigung zu erteilen, Aktionen mit den Ressourcen durchzuführen, die sie benötigen, kann ein IAM Administrator IAM Richtlinien erstellen. Der Administrator kann dann die IAM Richtlinien zu Rollen hinzufügen, und Benutzer können die Rollen übernehmen.

Informationen zum Erstellen einer IAM identitätsbasierten Richtlinie anhand dieser JSON Beispieldokumente finden Sie unter IAMRichtlinien erstellen im IAMBenutzerhandbuch.

Einzelheiten zu Aktionen und Ressourcentypen, die von definiert wurden CloudFront, einschließlich des Formats von ARNs für jeden der Ressourcentypen, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon CloudFront in der Service Authorization Reference.

Bewährte Methoden für Richtlinien

Identitätsbasierte Richtlinien legen fest, ob jemand CloudFront Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder sie löschen kann. Dies kann zusätzliche Kosten für Ihr verursachen AWS-Konto. Befolgen Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Anleitungen und Empfehlungen:

  • Beginnen Sie mit AWS verwalteten Richtlinien und wechseln Sie zu Berechtigungen mit den geringsten Rechten — Verwenden Sie die AWS verwalteten Richtlinien, die Berechtigungen für viele gängige Anwendungsfälle gewähren, um Ihren Benutzern und Workloads zunächst Berechtigungen zu gewähren. Sie sind in Ihrem verfügbar. AWS-Konto Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie vom AWS Kunden verwaltete Richtlinien definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie AWS im IAMBenutzerhandbuch unter AWS Verwaltete Richtlinien oder Verwaltete Richtlinien für Jobfunktionen.

  • Berechtigungen mit den geringsten Rechten anwenden — Wenn Sie Berechtigungen mit IAM Richtlinien festlegen, gewähren Sie nur die Berechtigungen, die für die Ausführung einer Aufgabe erforderlich sind. Sie tun dies, indem Sie die Aktionen definieren, die für bestimmte Ressourcen unter bestimmten Bedingungen durchgeführt werden können, auch bekannt als die geringsten Berechtigungen. Weitere Informationen zur Verwendung IAM zum Anwenden von Berechtigungen finden Sie IAMim Benutzerhandbuch unter Richtlinien und Berechtigungen. IAM

  • Verwenden Sie Bedingungen in IAM Richtlinien, um den Zugriff weiter einzuschränken — Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen einzuschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um anzugeben, dass alle Anfragen mit gesendet werden müssenSSL. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese über einen bestimmten Zweck verwendet werden AWS-Service, z. AWS CloudFormation B. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter IAMJSONRichtlinienelemente: Bedingung.

  • Verwenden Sie IAM Access Analyzer, um Ihre IAM Richtlinien zu validieren, um sichere und funktionale Berechtigungen zu gewährleisten. IAM Access Analyzer validiert neue und bestehende Richtlinien, sodass die Richtlinien der IAM Richtliniensprache (JSON) und den IAM bewährten Methoden entsprechen. IAMAccess Analyzer bietet mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen, um Sie bei der Erstellung sicherer und funktionaler Richtlinien zu unterstützen. Weitere Informationen finden Sie unter IAMAccess Analyzer-Richtlinienvalidierung im IAMBenutzerhandbuch.

  • Multi-Faktor-Authentifizierung erforderlich (MFA) — Wenn Sie ein Szenario haben, in dem IAM Benutzer oder ein Root-Benutzer erforderlich sind AWS-Konto, aktivieren Sie die Option MFA für zusätzliche Sicherheit. Wenn Sie festlegen möchten, MFA wann API Operationen aufgerufen werden, fügen Sie MFA Bedingungen zu Ihren Richtlinien hinzu. Weitere Informationen finden Sie unter Konfiguration des MFA -geschützten API Zugriffs im IAMBenutzerhandbuch.

Weitere Informationen zu bewährten Methoden finden Sie unter Bewährte Sicherheitsmethoden IAM im IAM Benutzerhandbuch. IAM

Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer

Dieses Beispiel zeigt, wie Sie eine Richtlinie erstellen könnten, die es IAM Benutzern ermöglicht, die internen und verwalteten Richtlinien einzusehen, die mit ihrer Benutzeridentität verknüpft sind. Diese Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder programmgesteuert mithilfe von oder. AWS CLI AWS API

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Berechtigungen für den programmgesteuerten Zugriff CloudFront

Das folgende Beispiel zeigt eine Berechtigungsrichtlinie. Der Abschnitt Sid (die Anweisungs-ID) ist optional.

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

Die Richtlinie gewährt Berechtigungen zur Ausführung aller CloudFront Operationen, was für den programmgesteuerten Zugriff CloudFront ausreicht. Wenn Sie die Konsole für den Zugriff verwenden CloudFront, finden Sie weitere Informationen unter. Für die Verwendung der CloudFront Konsole sind Berechtigungen erforderlich

Eine Liste der Aktionen und die AngabenARN, die Sie angeben, um die Erlaubnis zur Verwendung der einzelnen Aktionen zu erteilen oder zu verweigern, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon CloudFront in der Service Authorization Reference.

Für die Verwendung der CloudFront Konsole sind Berechtigungen erforderlich

Um vollen Zugriff auf die CloudFront Konsole zu gewähren, gewähren Sie die Berechtigungen in der folgenden Berechtigungsrichtlinie:

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "acm:ListCertificates", "cloudfront:*", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:GetMetricStatistics", "elasticloadbalancing:DescribeLoadBalancers", "iam:ListServerCertificates", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "waf:GetWebACL", "waf:ListWebACLs" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets", "s3:PutBucketPolicy" ], "Resource":"arn:aws:s3:::*" } ] }

Gründe, warum die Berechtigungen erforderlich sind

acm:ListCertificates

Wenn Sie Distributionen mithilfe der CloudFront Konsole erstellen und aktualisieren und so konfigurieren CloudFront möchten, dass zwischen dem Betrachter und CloudFront oder HTTPS zwischen CloudFront und dem Ursprung erforderlich ist, können Sie eine Liste von ACM Zertifikaten anzeigen.

Diese Berechtigung ist nicht erforderlich, wenn Sie die CloudFront Konsole nicht verwenden.

cloudfront:*

Ermöglicht es Ihnen, alle CloudFront Aktionen auszuführen.

cloudwatch:DescribeAlarms und cloudwatch:PutMetricAlarm

Ermöglicht das Erstellen und Anzeigen von CloudWatch Alarmen in der CloudFront Konsole. Weitere Informationen finden Sie auch unter sns:ListSubscriptionsByTopic und sns:ListTopics.

Diese Berechtigungen sind nicht erforderlich, wenn Sie die CloudFront Konsole nicht verwenden.

cloudwatch:GetMetricStatistics

Lassen Sie uns CloudWatch Metriken in der CloudFront Konsole CloudFront rendern.

Diese Berechtigung ist nicht erforderlich, wenn Sie die CloudFront Konsole nicht verwenden.

elasticloadbalancing:DescribeLoadBalancers

Zeigt beim Erstellen und Aktualisieren von Verteilungen eine Liste der Elastic-Load-Balancing-Load-Balancer in der Liste der verfügbaren Ursprünge an.

Diese Berechtigung ist nicht erforderlich, wenn Sie die CloudFront Konsole nicht verwenden.

iam:ListServerCertificates

Wenn Sie Distributionen mithilfe der CloudFront Konsole erstellen und aktualisieren und so konfigurieren CloudFront möchten, dass HTTPS zwischen dem Viewer und CloudFront oder zwischen CloudFront und dem Ursprung erforderlich ist, können Sie eine Liste der Zertifikate im IAM Zertifikatsspeicher anzeigen.

Diese Berechtigung ist nicht erforderlich, wenn Sie die CloudFront Konsole nicht verwenden.

s3:ListAllMyBuckets

ermöglicht beim Erstellen und Aktualisieren von Verteilungen die Durchführung der folgenden Operationen:

  • Anzeigen einer Liste von S3-Buckets in der Liste der verfügbaren Ursprünge

  • Anzeigen einer Liste von S3-Buckets, in denen Sie die Zugriffsprotokolle speichern können

Diese Berechtigung ist nicht erforderlich, wenn Sie die CloudFront Konsole nicht verwenden.

S3:PutBucketPolicy

Wenn Sie Distributionen erstellen oder aktualisieren, die den Zugriff auf S3-Buckets einschränken, ermöglicht es einem Benutzer, die Bucket-Richtlinie zu aktualisieren, um Zugriff auf die ursprüngliche Zugriffsidentität CloudFront zu gewähren. Weitere Informationen finden Sie unter Verwenden Sie eine ursprüngliche Zugriffsidentität (veraltet, nicht empfohlen).

Diese Berechtigung ist nicht erforderlich, wenn Sie die CloudFront Konsole nicht verwenden.

sns:ListSubscriptionsByTopic und sns:ListTopics

Wenn Sie CloudWatch Alarme in der CloudFront Konsole erstellen, können Sie ein SNS Thema für Benachrichtigungen auswählen.

Diese Berechtigungen sind nicht erforderlich, wenn Sie die CloudFront Konsole nicht verwenden.

waf:GetWebACL und waf:ListWebACLs

Ermöglicht das Anzeigen einer Liste von AWS WAF Websites ACLs in der CloudFront Konsole.

Diese Berechtigungen sind nicht erforderlich, wenn Sie die CloudFront Konsole nicht verwenden.

Beispiele für vom Kunden verwaltete Richtlinien

Sie können Ihre eigenen benutzerdefinierten IAM Richtlinien erstellen, um Berechtigungen für CloudFront API Aktionen zu gewähren. Sie können diese benutzerdefinierten Richtlinien den IAM Benutzern oder Gruppen zuordnen, für die die angegebenen Berechtigungen erforderlich sind. Diese Richtlinien funktionieren, wenn Sie die CloudFront API AWS SDKs, die oder die verwenden AWS CLI. Die folgenden Beispiele zeigen Berechtigungen für einige häufige Anwendungsfälle. Informationen zu der Richtlinie, die einem Benutzer vollen Zugriff gewährt CloudFront, finden Sie unterFür die Verwendung der CloudFront Konsole sind Berechtigungen erforderlich.

Beispiel 1: Lesezugriff auf alle Verteilungen gewähren

Die folgende Berechtigungsrichtlinie gewährt dem Benutzer die Berechtigung, alle Distributionen in der CloudFront Konsole anzuzeigen:

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "acm:ListCertificates", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListCloudFrontOriginAccessIdentities", "elasticloadbalancing:DescribeLoadBalancers", "iam:ListServerCertificates", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "waf:GetWebACL", "waf:ListWebACLs" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets" ], "Resource":"arn:aws:s3:::*" } ] }

Beispiel 2: Erstellen, Aktualisieren und Löschen von Verteilungen erlauben

Die folgende Berechtigungsrichtlinie ermöglicht es Benutzern, Distributionen mithilfe der Konsole zu erstellen, zu aktualisieren und zu löschen: CloudFront

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "acm:ListCertificates", "cloudfront:CreateDistribution", "cloudfront:DeleteDistribution", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:UpdateDistribution", "cloudfront:ListCloudFrontOriginAccessIdentities", "elasticloadbalancing:DescribeLoadBalancers", "iam:ListServerCertificates", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "waf:GetWebACL", "waf:ListWebACLs" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets", "s3:PutBucketPolicy" ], "Resource":"arn:aws:s3:::*" } ] }

Die cloudfront:ListCloudFrontOriginAccessIdentities-Berechtigung erlaubt es Benutzern, automatisch einer vorhandenen Ursprungszugriffsidentität die Berechtigung für den Zugriff auf Objekte in einem Amazon S3-Bucket zu erteilen. Wenn Sie außerdem möchten, dass Benutzer Ursprungszugriffsidentitäten erstellen können, müssen Sie auch die cloudfront:CreateCloudFrontOriginAccessIdentity-Berechtigung erteilen.

Beispiel 3: Erstellen und Auflisten von Invalidierungen erlauben

Die folgende Berechtigungsrichtlinie erlaubt Benutzern, Invalidierungen zu erstellen und aufzulisten. Sie beinhaltet Lesezugriff auf CloudFront Distributionen, da Sie Invalidierungen erstellen und anzeigen, indem Sie zuerst die Einstellungen für eine Distribution anzeigen:

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "acm:ListCertificates", "cloudfront:GetDistribution", "cloudfront:GetStreamingDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListCloudFrontOriginAccessIdentities", "cloudfront:CreateInvalidation", "cloudfront:GetInvalidation", "cloudfront:ListInvalidations", "elasticloadbalancing:DescribeLoadBalancers", "iam:ListServerCertificates", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "waf:GetWebACL", "waf:ListWebACLs" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets" ], "Resource":"arn:aws:s3:::*" } ] }

Beispiel 4: Erlauben Sie das Erstellen einer Distribution

Die folgende Berechtigungsrichtlinie gewährt dem Benutzer die Berechtigung, Distributionen in der CloudFront Konsole zu erstellen und aufzulisten. Geben Sie für die CreateDistribution Aktion Resource anstelle eines Platzhalters für die Verteilung ARN () das Platzhalterzeichen (*) an. arn:aws:cloudfront::123456789012:distribution/* Weitere Informationen zu diesem Resource Element finden Sie im IAMBenutzerhandbuch unter IAMJSONRichtlinienelemente: Ressource.

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