Elastic Beanstalk-Benutzerrichtlinien verwalten - AWS Elastic Beanstalk

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.

Elastic Beanstalk-Benutzerrichtlinien verwalten

AWS Elastic Beanstalk bietet zwei verwaltete Richtlinien, mit denen Sie allen Ressourcen, die Elastic Beanstalk verwaltet, vollen Zugriff oder schreibgeschützten Zugriff zuweisen können. Sie können die Richtlinien an AWS Identity and Access Management (IAM-) Benutzer oder Gruppen oder an Rollen anhängen, die von Ihren Benutzern übernommen wurden.

Verwaltete Benutzerrichtlinien
  • AdministratorAccess- AWSElasticBeanstalk — Gibt dem Benutzer volle Administratorrechte zum Erstellen, Ändern und Löschen von Elastic Beanstalk Beanstalk-Anwendungen, Anwendungsversionen, Konfigurationseinstellungen, Umgebungen und den zugrunde liegenden Ressourcen. Den Inhalt der verwalteten Richtlinien finden Sie auf der AWSElasticBeanstalk Seite AdministratorAccess— im Referenzhandbuch für AWS verwaltete Richtlinien.

  • AWSElasticBeanstalkReadOnly— Ermöglicht dem Benutzer das Anzeigen von Anwendungen und Umgebungen, jedoch nicht das Ausführen von Vorgängen, durch die diese geändert werden. Es bietet schreibgeschützten Zugriff auf alle Elastic Beanstalk Beanstalk-Ressourcen und auf andere AWS Ressourcen, die von der Elastic Beanstalk Beanstalk-Konsole abgerufen werden. Beachten Sie, dass mit schreibgeschütztem Zugriff keine Aktionen – wie z. B. Elastic Beanstalk-Protokolle zum Lesen herunterladen – möglich sind. Das liegt daran, dass die Protokolle im Amazon S3-Bucket bereitgestellt werden, wo Elastic Beanstalk eine Schreibberechtigung erfordern würde. Weitere Informationen zum Einrichten des Zugriffs auf Elastic Beanstalk-Protokolle finden Sie im Beispiel am Ende dieses Themas. Den Inhalt der verwalteten Richtlinien finden Sie auf der AWSElasticBeanstalkReadOnlySeite im Referenzhandbuch für verwaltete Richtlinien.AWS

Wichtig

Von Elastic Beanstalk verwaltete Richtlinien bieten keine granularen Berechtigungen – sie gewähren alle Berechtigungen, die möglicherweise für die Arbeit mit Elastic-Beanstalk-Anwendungen erforderlich sind. In einigen Fällen möchten Sie möglicherweise die Berechtigungen unserer verwalteten Richtlinien weiter einschränken. Ein Beispiel für einen Anwendungsfall finden Sie unterVerhinderung des umgebungsübergreifenden Amazon S3 S3-Bucket-Zugriffs.

Unsere verwalteten Richtlinien decken auch keine Berechtigungen für benutzerdefinierte Ressourcen ab, die Sie möglicherweise zu Ihrer Lösung hinzufügen und die nicht von Elastic Beanstalk verwaltet werden. Verwenden Sie benutzerdefinierte Richtlinien, um detailliertere Berechtigungen, mindestens erforderliche Berechtigungen oder benutzerdefinierte Ressourcenberechtigungen zu implementieren.

Veraltete, von verwaltete Richtlinien

Zuvor unterstützte Elastic Beanstalk zwei weitere verwaltete Benutzerrichtlinien, und AWSElasticBeanstalkFullAccess. AWSElasticBeanstalkReadOnlyAccess Wir planen, diese bisherigen Richtlinien außer Betrieb zu nehmen. Möglicherweise können Sie sie immer noch in der IAM-Konsole sehen und verwenden. Nichtsdestotrotz empfehlen wir Ihnen, auf die Verwendung der neuen Richtlinien für verwaltete Benutzer zu wechseln und benutzerdefinierte Richtlinien hinzuzufügen, um ggf. Berechtigungen für benutzerdefinierte Ressourcen zu erteilen.

Richtlinien für die Integration mit anderen Services

Wir bieten auch detailliertere Richtlinien, die es Ihnen ermöglichen, Ihre Umgebung in andere Services zu integrieren, falls Sie diese bevorzugen.

  • AWSElasticBeanstalkRoleCWL— Ermöglicht einer Umgebung die Verwaltung von Amazon CloudWatch Logs-Protokollgruppen.

  • AWSElasticBeanstalkRoleRDS— Ermöglicht einer Umgebung die Integration einer Amazon RDS-Instance.

  • AWSElasticBeanstalkRoleWorkerTier— Ermöglicht einer Worker-Umgebungsebene, eine Amazon DynamoDB-Tabelle und eine Amazon SQS SQS-Warteschlange zu erstellen.

  • AWSElasticBeanstalkRoleECS— Ermöglicht einer Docker-Umgebung mit mehreren Containern die Verwaltung von Amazon ECS-Clustern.

  • AWSElasticBeanstalkRoleCore— Ermöglicht Kernoperationen einer Webservice-Umgebung.

  • AWSElasticBeanstalkRoleSNS— Ermöglicht einer Umgebung, die Amazon SNS SNS-Themenintegration zu aktivieren.

Die JSON-Quelle für eine bestimmte verwaltete Richtlinie finden Sie im Referenzhandbuch für AWS verwaltete Richtlinien.

Steuern des Zugriffs mit verwalteten Richtlinien

Mit verwalteten Richtlinien können Sie Vollzugriff oder schreibgeschützten Zugriff auf Elastic Beanstalk gewähren. Diese Richtlinien werden von Elastic Beanstalk automatisch aktualisiert, wenn weitere Berechtigungen für den Zugriff auf neue Funktionen benötigt werden.

So wenden Sie eine verwaltete Richtlinie auf IAM-Benutzer oder -Gruppen an
  1. Öffnen Sie die Seite Policies (Richtlinien) in der IAM-Konsole.

  2. Geben Sie im Suchfeld AWSElasticBeanstalk ein, um die Richtlinien zu filtern.

  3. Aktivieren Sie in der Liste der Richtlinien das Kontrollkästchen neben AWSElasticBeanstalkReadOnlyoder AdministratorAccess- AWSElasticBeanstalk.

  4. Klicken Sie auf Policy actions und anschließend auf Attach.

  5. Wählen Sie einen oder mehrere Benutzer und Gruppen aus, denen Sie die Richtlinie anfügen möchten. Über das Menü Filter und das Suchfeld können Sie die Liste der Prinzipal-Entitäten filtern.

  6. Wählen Sie Richtlinie anfügen aus.

Erstellen einer benutzerdefinierten Benutzerrichtlinie

Sie können Ihre eigene IAM-Richtlinie erstellen, um bestimmte Elastic Beanstalk-API-Aktionen für bestimmte Elastic-Beanstalk-Ressourcen zuzulassen oder abzulehnen und den Zugriff auf benutzerdefinierte Ressourcen zu steuern, die nicht von Elastic Beanstalk verwaltet werden. Weitere Informationen zum Anfügen einer Richtlinie an einen Benutzer oder eine Gruppe finden Sie unter Arbeiten mit Richtlinien im IAM-Benutzerhandbuch. Weitere Informationen zum Erstellen einer benutzerdefinierten Richtlinie finden Sie unter Erstellen von IAM-Richtlinien im IAM-Benutzerhandbuch.

Anmerkung

Sie können einschränken, wie Benutzer mit Elastic Beanstalk-APIs interagieren können. Jedoch gibt es derzeit keine effektive Möglichkeit, mit der Sie Benutzer mit Berechtigungen zum Erstellen der benötigten zugrunde liegenden Ressourcen daran hindern können, weitere Ressourcen in Amazon EC2 und anderen Services zu erstellen.

Betrachten Sie diese Richtlinien als ein effektives Mittel zur Verteilung von Elastic Beanstalk-Verantwortlichkeiten, nicht als ein Mittel zur Sicherung aller zugrundeliegenden Ressourcen.

Im November 2019 führte Elastic Beanstalk die Unterstützung für Amazon EC2-Startvorlagen ein. Dies ist ein neuer Ressourcentyp, den die Auto Scaling-Gruppe Ihrer Umgebung zum Starten von Amazon EC2-Instances verwenden kann, und er erfordert neue Berechtigungen. Die meisten Kunden sollten davon nicht betroffen sein, da Umgebungen weiterhin die Legacy-Ressource verwenden und Konfigurationen starten können, auch wenn Ihre Benutzerrichtlinie hierfür nicht die erforderlichen Berechtigungen besitzt. Bei dem Versuch, eine neue Funktion, für die Amazon EC2-Startvorlagen benötigt werden, mit einer benutzerdefinierten Richtlinie zu verwenden, kann die Erstellung oder Aktualisierung Ihrer Umgebung fehlschlagen. Stellen Sie in diesem Fall sicher, dass Ihre benutzerdefinierte Richtlinie über die folgenden Berechtigungen verfügt.

Erforderliche Berechtigungen für Amazon EC2-Startvorlagen
  • EC2:CreateLaunchTemplate

  • EC2:CreateLaunchTemplateVersions

  • EC2:DeleteLaunchTemplate

  • EC2:DeleteLaunchTemplateVersions

  • EC2:DescribeLaunchTemplate

  • EC2:DescribeLaunchTemplateVersions

Eine IAM-Richtlinie enthält Richtlinienanweisungen, mit denen die zu erteilenden Berechtigungen beschrieben werden. Um eine Richtlinienanweisung für Elastic Beanstalk zu erstellen, müssen Sie wissen, wie die folgenden vier Elemente einer Richtlinienanweisung verwendet werden:

  • Effect gibt an, ob die Aktionen in der Anweisung zugelassen oder verweigert werden.

  • Action gibt die zu steuernden API-Operationen an. Beispielsweise können Sie mit elasticbeanstalk:CreateEnvironment den Vorgang CreateEnvironment angeben. Bestimmte Vorgänge, wie z. B. das Erstellen einer Umgebung, erfordern zusätzliche Berechtigungen für die Aktionsausführung. Weitere Informationen finden Sie unter Ressourcen und Bedingungen für Elastic Beanstalk-Aktionen.

    Anmerkung

    Geben Sie zur Verwendung der API-Operation UpdateTagsForResource anstelle des Namens der API-Operation eine (oder beide) der folgenden beiden virtuellen Aktionen an:

    elasticbeanstalk:AddTags

    Steuert die Berechtigung zum Aufrufen von UpdateTagsForResource und übergeben einer Liste mit Tags, die dem Parameter TagsToAdd hinzugefügt werden.

    elasticbeanstalk:RemoveTags

    Steuert die Berechtigung zum Aufrufen von UpdateTagsForResource und übergeben einer Liste mit Tag-Schlüsseln, die aus dem Parameter TagsToRemove entfernt werden.

  • Resource gibt die Ressourcen an, bei denen der Zugriff gesteuert werden soll. Um Elastic Beanstalk-Ressourcen anzugeben, führen Sie die Amazon-Ressourcenname (ARN) jeder Ressource auf.

  • (Optional) Condition gibt Einschränkungen für die in der Anweisung erteilten Berechtigungen an. Weitere Informationen finden Sie unter Ressourcen und Bedingungen für Elastic Beanstalk-Aktionen.

Die folgenden Abschnitte zeigen einige Fälle, in denen Sie eine benutzerdefinierte Benutzerrichtlinie in Betracht ziehen könnten.

Begrenzte Erstellung einer Elastic Beanstalk-Umgebung ermöglichen

Die Richtlinie im folgenden Beispiel ermöglicht einem Benutzer, die CreateEnvironment-Aktion aufzurufen, um eine Umgebung zu erstellen, deren Name mit Test beginnt, mit der angegebenen Anwendung und Anwendungsversion.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"CreateEnvironmentPerm", "Action": [ "elasticbeanstalk:CreateEnvironment" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My First Elastic Beanstalk Application/Test*" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My First Elastic Beanstalk Application"], "elasticbeanstalk:FromApplicationVersion": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My First Elastic Beanstalk Application/First Release"] } } }, { "Sid":"AllNonResourceCalls", "Action":[ "elasticbeanstalk:CheckDNSAvailability", "elasticbeanstalk:CreateStorageLocation" ], "Effect":"Allow", "Resource":[ "*" ] } ] }

Die obige Richtlinie zeigt, wie man beschränkten Zugang zu Elastic Beanstalk-Operationen gewährt. Um eine Umgebung tatsächlich starten zu können, muss der Benutzer über die Berechtigung verfügen, die AWS Ressourcen zu erstellen, die auch die Umgebung mit Strom versorgen. Beispielsweise wird mit der folgenden Richtlinie Zugriff auf den Standardsatz der Ressourcen für eine Webserverumgebung gewährt:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:*", "ecs:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "sqs:*" ], "Resource": "*" } ] }

Zugriff auf Elastic Beanstalk-Protokolle in Amazon S3 ermöglichen

Die Richtlinie im folgenden Beispiel ermöglicht es einem Benutzer, Elastic Beanstalk-Protokolle abzurufen, sie in Amazon S3 bereitzustellen und abzurufen.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:DeleteObject", "s3:GetObjectAcl", "s3:PutObjectAcl" ], "Effect": "Allow", "Resource": "arn:aws:s3:::elasticbeanstalk-*" } ] }
Anmerkung

Um diese Berechtigungen nur auf die Protokollpfade einzuschränken, verwenden Sie das folgende Ressourcenformat.

"arn:aws:s3:::elasticbeanstalk-us-east-2-123456789012/resources/environments/logs/*"

Verwaltung einer bestimmten Elastic Beanstalk-Anwendung ermöglichen

Die Richtlinie im folgenden Beispiel ermöglicht einem Benutzer das Verwalten von Umgebungen und anderen Ressourcen innerhalb einer bestimmten Elastic Beanstalk-Anwendung. Die Richtlinie verweigert Elastic Beanstalk-Aktionen auf Ressourcen anderer Anwendungen und verweigert auch die Erstellung und Löschung von Elastic Beanstalk-Anwendungen.

Anmerkung

Die Richtlinie verweigert nicht den Zugriff auf Ressourcen durch andere Services. Es zeigt eine effektive Möglichkeit zum Verteilen von Verantwortlichkeiten für die Verwaltung von Elastic Beanstalk-Anwendungen über verschiedene Benutzer, nicht als Möglichkeit zum Sichern der zugrundeliegenden Ressourcen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "elasticbeanstalk:CreateApplication", "elasticbeanstalk:DeleteApplication" ], "Resource": [ "*" ] }, { "Effect": "Deny", "Action": [ "elasticbeanstalk:CreateApplicationVersion", "elasticbeanstalk:CreateConfigurationTemplate", "elasticbeanstalk:CreateEnvironment", "elasticbeanstalk:DeleteApplicationVersion", "elasticbeanstalk:DeleteConfigurationTemplate", "elasticbeanstalk:DeleteEnvironmentConfiguration", "elasticbeanstalk:DescribeApplicationVersions", "elasticbeanstalk:DescribeConfigurationOptions", "elasticbeanstalk:DescribeConfigurationSettings", "elasticbeanstalk:DescribeEnvironmentResources", "elasticbeanstalk:DescribeEnvironments", "elasticbeanstalk:DescribeEvents", "elasticbeanstalk:DeleteEnvironmentConfiguration", "elasticbeanstalk:RebuildEnvironment", "elasticbeanstalk:RequestEnvironmentInfo", "elasticbeanstalk:RestartAppServer", "elasticbeanstalk:RetrieveEnvironmentInfo", "elasticbeanstalk:SwapEnvironmentCNAMEs", "elasticbeanstalk:TerminateEnvironment", "elasticbeanstalk:UpdateApplicationVersion", "elasticbeanstalk:UpdateConfigurationTemplate", "elasticbeanstalk:UpdateEnvironment", "elasticbeanstalk:RetrieveEnvironmentInfo", "elasticbeanstalk:ValidateConfigurationSettings" ], "Resource": [ "*" ], "Condition": { "StringNotEquals": { "elasticbeanstalk:InApplication": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/myapplication" ] } } } ] }