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

Benutzer und Rollen haben standardmäßig nicht die Berechtigung, CloudFront-Ressourcen zu erstellen oder zu ändern. Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Benutzern die Berechtigung erteilen, Aktionen für die Ressourcen auszuführen, die sie benötigen.

Informationen dazu, wie Sie unter Verwendung dieser beispielhaften JSON-Richtliniendokumente eine identitätsbasierte IAM-Richtlinie erstellen, finden Sie unter Erstellen von IAM-Richtlinien (Konsole) im IAM-Benutzerhandbuch.

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.

Best Practices 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. Beachten Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Richtlinien und Empfehlungen:

  • Erste Schritte mit AWS verwalteten Richtlinien und Umstellung auf Berechtigungen mit den geringsten Rechten — Verwenden Sie die AWS verwalteten Richtlinien, die Berechtigungen für viele gängige Anwendungsfälle gewähren, um damit zu beginnen, Ihren Benutzern und Workloads 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 unter Von AWS verwaltete Richtlinien oder Von AWS verwaltete Richtlinien für Auftragsfunktionen im IAM-Benutzerhandbuch.

  • Anwendung von Berechtigungen mit den geringsten Rechten – Wenn Sie mit IAM-Richtlinien Berechtigungen festlegen, gewähren Sie nur die Berechtigungen, die für die Durchfü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 von IAM zum Anwenden von Berechtigungen finden Sie unter Richtlinien und Berechtigungen in IAM im IAM-Benutzerhandbuch.

  • Verwenden von Bedingungen in IAM-Richtlinien zur weiteren Einschränkung des Zugriffs – Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen zu beschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um festzulegen, dass alle Anforderungen mithilfe von SSL gesendet werden müssen. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese für einen bestimmten Zweck verwendet werden AWS-Service, z. CloudFormation B. Weitere Informationen finden Sie unter IAM-JSON-Richtlinienelemente: Bedingung im IAM-Benutzerhandbuch.

  • Verwenden von IAM Access Analyzer zur Validierung Ihrer IAM-Richtlinien, um sichere und funktionale Berechtigungen zu gewährleisten – IAM Access Analyzer validiert neue und vorhandene Richtlinien, damit die Richtlinien der IAM-Richtliniensprache (JSON) und den bewährten IAM-Methoden entsprechen. IAM Access Analyzer stellt mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen zur Verfügung, damit Sie sichere und funktionale Richtlinien erstellen können. Weitere Informationen finden Sie unter Richtlinienvalidierung mit IAM Access Analyzer im IAM-Benutzerhandbuch.

  • Multi-Faktor-Authentifizierung (MFA) erforderlich — Wenn Sie ein Szenario haben, das IAM-Benutzer oder einen Root-Benutzer in Ihrem System erfordert AWS-Konto, aktivieren Sie MFA für zusätzliche Sicherheit. Um MFA beim Aufrufen von API-Vorgängen anzufordern, fügen Sie Ihren Richtlinien MFA-Bedingungen hinzu. Weitere Informationen finden Sie unter Sicherer API-Zugriff mit MFA im IAM-Benutzerhandbuch.

Weitere Informationen zu bewährten Methoden in IAM finden Sie unter Best Practices für die Sicherheit in IAM im IAM-Benutzerhandbuch.

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

In diesem Beispiel wird gezeigt, wie Sie eine Richtlinie erstellen, die IAM-Benutzern die Berechtigung zum Anzeigen der eingebundenen Richtlinien und verwalteten Richtlinien gewährt, die ihrer Benutzeridentität angefügt sind. Diese Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder programmgesteuert mithilfe der API oder. AWS CLI AWS

{ "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.

JSON
{ "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 den ARN, den 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:

JSON
{ "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 HTTPS zwischen dem Betrachter und CloudFront oder zwischen CloudFront und dem Ursprung erforderlich ist, können Sie eine Liste der ACM-Zertifikate 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

Ermöglicht es Ihnen, beim Erstellen und Aktualisieren von Distributionen eine Liste der ELB-Load Balancer in der Liste der verfügbaren Ursprünge anzuzeigen.

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 dem CloudFront 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 Verteilungen erstellen oder aktualisieren, die den Zugriff auf S3-Buckets beschränken, kann der Benutzer die Bucket-Richtlinie so aktualisieren, mit Zugriff auf die CloudFront-Ursprungszugriffsidentität gewährt wird. Weitere Informationen finden Sie unter Verwenden einer Ursprungszugriffsidentität (Legacy, 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.

Aktionen für die Konsole, für die nur Zugriffsrechte erforderlich sind CloudFront

Auf der Seite CloudFront Security Savings Bundle können Sie die folgenden CloudFront Aktionen ausführen. Die folgenden API-Aktionen sind nicht dafür vorgesehen, von Ihrem Code aufgerufen zu werden, und sind auch nicht im AWS CLI und enthalten AWS SDKs.

Action Description

CreateSavingsPlan

Gewährt die Berechtigung zum Erstellen eines neuen Savings Plan.

GetSavingsPlan

Gewährt die Berechtigung zum Abrufen eines Savings Plan.

ListRateCards

Erteilt die Erlaubnis, CloudFront Preiskarten für das Konto aufzulisten.

ListSavingsPlans

Gewährt die Berechtigung zum Auflisten von Savings Plans im Konto.

ListUsages

Erteilt die Erlaubnis, die CloudFront Nutzung aufzulisten.

UpdateSavingsPlan

Gewährt die Berechtigung zum Aktualisieren eines Savings Plan.

Hinweise
  • Weitere Informationen zu CloudFront Sparplänen finden Sie im Bereich CloudFront Sicherheitssparpaket bei Amazon CloudFront FAQs.

  • Wenn Sie einen Sparplan für erstellen CloudFront und ihn später löschen möchten, wenden Sie sich an AWS -Support.

Beispiele für vom Kunden verwaltete Richtlinien

Sie können Ihre eigenen benutzerdefinierten IAM-Richtlinien erstellen, um Berechtigungen für CloudFront API-Aktionen zuzulassen. Die benutzerdefinierten Richtlinien können Sie dann den IAM-Benutzern oder -Gruppen zuweisen, welche die angegebenen Berechtigungen benötigen. Diese Richtlinien funktionieren, wenn Sie die CloudFront API AWS SDKs, die oder die AWS CLI verwenden. 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:

JSON
{ "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 Distributionen erlauben

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

JSON
{ "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:

JSON
{ "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 der Erstellung einer Distribution

Die folgende Berechtigungsrichtlinie gewährt dem Benutzer die Berechtigung, Distributionen in der Konsole zu erstellen und aufzulisten. CloudFront Geben Sie für die Aktion CreateDistribution das Platzhalterzeichen (*) für Resource und nicht für den Distribution-ARN (arn:aws:cloudfront::123456789012:distribution/*) an. Weitere Informationen zum Resource-Element finden Sie unter IAM-JSON-Richtlinienelemente: Ressource im IAM-Benutzerhandbuch.

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