Rollen von Elastic Beanstalk Service 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.

Rollen von Elastic Beanstalk Service verwalten

AWS Elastic Beanstalk Führt in Ihrem Namen Aktionen mit Umgebungsressourcen durch, um Ihre Umgebung zu verwalten und zu überwachen. Elastic Beanstalk benötigt bestimmte Berechtigungen, um diese Aktionen auszuführen, und nimmt AWS Identity and Access Management (IAM-) Servicerollen an, um diese Berechtigungen zu erhalten.

Beim Annehmen einer Servicerolle muss Elastic Beanstalk stets temporäre Sicherheitsanmeldeinformationen verwenden. Um diese Anmeldeinformationen abzurufen, sendet Elastic Beanstalk eine Anforderung an AWS Security Token Service (AWS STS) auf einem regionsspezifischen Endpunkt. Weitere Informationen finden Sie unter Temporäre Sicherheitsanmeldeinformationen im IAM-Benutzerhandbuch.

Anmerkung

Wenn der AWS STS Endpunkt für die Region, in der sich Ihre Umgebung befindet, deaktiviert ist, sendet Elastic Beanstalk die Anfrage an einen alternativen Endpunkt, der nicht deaktiviert werden kann. Dieser Endpunkt ist mit einer anderen Region verknüpft. Daher ist die Anfrage eine regionsübergreifende Anfrage. Weitere Informationen finden Sie unter Aktivierung und Deaktivierung AWS STS in einer AWS Region im IAM-Benutzerhandbuch.

Servicerollen mit der Elastic Beanstalk-Konsole und EB CLI verwalten

Sie können die Elastic Beanstalk-Konsole und die EB-Befehlszeilenschnittstelle verwenden, um Servicerollen mit für Ihre Umgebung ausreichenden Berechtigungen einzurichten. Sie erstellen eine Standardservicerolle und verwenden darin verwaltete Richtlinien.

Richtlinien zu verwalteten Servicerollen

Elastic Beanstalk bietet eine verwaltete Richtlinie für verbesserte Statusüberwachung und eine weitere mit für verwaltete Plattformaktualisierungen erforderlichen zusätzlichen Berechtigungen. Die Konsole und die EB-Befehlszeilenschnittstelle weisen beide Richtlinien der Standardservicerolle zu, die sie für Sie erstellen. Diese Richtlinien sollten nur für diese Standard-Servicerolle verwendet werden. Sie sollten nicht mit anderen Benutzern oder Rollen in Ihren Konten verwendet werden.

Diese Richtlinie erteilt Berechtigungen für die Überwachung der Instance- und Umgebungsintegrität durch Elastic Beanstalk.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetHealth", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:GetConsoleOutput", "ec2:AssociateAddress", "ec2:DescribeAddresses", "ec2:DescribeSecurityGroups", "sqs:GetQueueAttributes", "sqs:GetQueueUrl", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "autoscaling:DescribeScalingActivities", "autoscaling:DescribeNotificationConfigurations", "sns:Publish" ], "Resource": [ "*" ] } ] }

Diese Richtlinie erteilt Elastic Beanstalk Berechtigungen, um Umgebungen in Ihrem Namen zu aktualisieren, um verwaltete Plattformaktualisierungen durchzuführen.

Service Level-Berechtigungsgruppierungen

Diese Richtlinie ist in Anweisungen gruppiert, die auf den bereitgestellten Berechtigungen basieren.

  • ElasticBeanstalkPermissions — Diese Berechtigungsgruppe dient zum Aufrufen der Elastic Beanstalk-Dienstaktionen (Elastic Beanstalk-APIs).

  • AllowPassRoleToElasticBeanstalkAndDownstreamServices – Diese Berechtigungsgruppe ermöglicht es, jede Rolle an Elastic Beanstalk und an andere nachgelagerte Services wie AWS CloudFormation zu übergeben.

  • ReadOnlyPermissions — Diese Berechtigungsgruppe dient zum Sammeln von Informationen über die laufende Umgebung.

  • *OperationPermissions — Gruppen mit diesem Benennungsmuster dienen zum Aufrufen der notwendigen Vorgänge zur Durchführung von Plattformaktualisierungen.

  • *BroadOperationPermissions — Gruppen mit diesem Benennungsmuster dienen zum Aufrufen der notwendigen Vorgänge zur Durchführung von Plattformaktualisierungen. Sie enthalten auch umfassende Berechtigungen zur Unterstützung von Legacy-Umgebungen.

  • *TagResource— Gruppen mit diesem Benennungsmuster sind für Aufrufe vorgesehen, die die tag-on-create APIs verwenden, um Tags an Ressourcen anzuhängen, die in einer Elastic Beanstalk Beanstalk-Umgebung erstellt werden.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ElasticBeanstalkPermissions", "Effect": "Allow", "Action": [ "elasticbeanstalk:*" ], "Resource": "*" }, { "Sid": "AllowPassRoleToElasticBeanstalkAndDownstreamServices", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringEquals": { "iam:PassedToService": [ "elasticbeanstalk.amazonaws.com", "ec2.amazonaws.com", "ec2.amazonaws.com.cn", "autoscaling.amazonaws.com", "elasticloadbalancing.amazonaws.com", "ecs.amazonaws.com", "cloudformation.amazonaws.com" ] } } }, { "Sid": "ReadOnlyPermissions", "Effect": "Allow", "Action": [ "autoscaling:DescribeAccountLimits", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "autoscaling:DescribeLaunchConfigurations", "autoscaling:DescribeLoadBalancers", "autoscaling:DescribeNotificationConfigurations", "autoscaling:DescribeScalingActivities", "autoscaling:DescribeScheduledActions", "ec2:DescribeAccountAttributes", "ec2:DescribeAddresses", "ec2:DescribeAvailabilityZones", "ec2:DescribeImages", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstances", "ec2:DescribeKeyPairs", "ec2:DescribeLaunchTemplates", "ec2:DescribeLaunchTemplateVersions", "ec2:DescribeSecurityGroups", "ec2:DescribeSnapshots", "ec2:DescribeSpotInstanceRequests", "ec2:DescribeSubnets", "ec2:DescribeVpcClassicLink", "ec2:DescribeVpcs", "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetHealth", "logs:DescribeLogGroups", "rds:DescribeDBEngineVersions", "rds:DescribeDBInstances", "rds:DescribeOrderableDBInstanceOptions", "sns:ListSubscriptionsByTopic" ], "Resource": [ "*" ] }, { "Sid": "EC2BroadOperationPermissions", "Effect": "Allow", "Action": [ "ec2:AllocateAddress", "ec2:AssociateAddress", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateLaunchTemplate", "ec2:CreateLaunchTemplateVersion", "ec2:CreateSecurityGroup", "ec2:DeleteLaunchTemplate", "ec2:DeleteLaunchTemplateVersions", "ec2:DeleteSecurityGroup", "ec2:DisassociateAddress", "ec2:ReleaseAddress", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress" ], "Resource": "*" }, { "Sid": "EC2RunInstancesOperationPermissions", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "*", "Condition": { "ArnLike": { "ec2:LaunchTemplate": "arn:aws:ec2:*:*:launch-template/*" } } }, { "Sid": "EC2TerminateInstancesOperationPermissions", "Effect": "Allow", "Action": [ "ec2:TerminateInstances" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ec2:ResourceTag/aws:cloudformation:stack-id": [ "arn:aws:cloudformation:*:*:stack/awseb-e-*", "arn:aws:cloudformation:*:*:stack/eb-*" ] } } }, { "Sid": "ECSBroadOperationPermissions", "Effect": "Allow", "Action": [ "ecs:CreateCluster", "ecs:DescribeClusters", "ecs:RegisterTaskDefinition" ], "Resource": "*" }, { "Sid": "ECSDeleteClusterOperationPermissions", "Effect": "Allow", "Action": "ecs:DeleteCluster", "Resource": "arn:aws:ecs:*:*:cluster/awseb-*" }, { "Sid": "ASGOperationPermissions", "Effect": "Allow", "Action": [ "autoscaling:AttachInstances", "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateLaunchConfiguration", "autoscaling:CreateOrUpdateTags", "autoscaling:DeleteLaunchConfiguration", "autoscaling:DeleteAutoScalingGroup", "autoscaling:DeleteScheduledAction", "autoscaling:DetachInstances", "autoscaling:DeletePolicy", "autoscaling:PutScalingPolicy", "autoscaling:PutScheduledUpdateGroupAction", "autoscaling:PutNotificationConfiguration", "autoscaling:ResumeProcesses", "autoscaling:SetDesiredCapacity", "autoscaling:SuspendProcesses", "autoscaling:TerminateInstanceInAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup" ], "Resource": [ "arn:aws:autoscaling:*:*:launchConfiguration:*:launchConfigurationName/awseb-e-*", "arn:aws:autoscaling:*:*:launchConfiguration:*:launchConfigurationName/eb-*", "arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/awseb-e-*", "arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/eb-*" ] }, { "Sid": "CFNOperationPermissions", "Effect": "Allow", "Action": [ "cloudformation:*" ], "Resource": [ "arn:aws:cloudformation:*:*:stack/awseb-*", "arn:aws:cloudformation:*:*:stack/eb-*" ] }, { "Sid": "ELBOperationPermissions", "Effect": "Allow", "Action": [ "elasticloadbalancing:AddTags", "elasticloadbalancing:ApplySecurityGroupsToLoadBalancer", "elasticloadbalancing:ConfigureHealthCheck", "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:DeleteLoadBalancer", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:DeregisterTargets", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "elasticloadbalancing:RegisterTargets" ], "Resource": [ "arn:aws:elasticloadbalancing:*:*:targetgroup/awseb-*", "arn:aws:elasticloadbalancing:*:*:targetgroup/eb-*", "arn:aws:elasticloadbalancing:*:*:loadbalancer/awseb-*", "arn:aws:elasticloadbalancing:*:*:loadbalancer/eb-*", "arn:aws:elasticloadbalancing:*:*:loadbalancer/*/awseb-*/*", "arn:aws:elasticloadbalancing:*:*:loadbalancer/*/eb-*/*" ] }, { "Sid": "CWLogsOperationPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:DeleteLogGroup", "logs:PutRetentionPolicy" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/elasticbeanstalk/*" }, { "Sid": "S3ObjectOperationPermissions", "Effect": "Allow", "Action": [ "s3:DeleteObject", "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectVersionAcl" ], "Resource": "arn:aws:s3:::elasticbeanstalk-*/*" }, { "Sid": "S3BucketOperationPermissions", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetBucketPolicy", "s3:ListBucket", "s3:PutBucketPolicy" ], "Resource": "arn:aws:s3:::elasticbeanstalk-*" }, { "Sid": "SNSOperationPermissions", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:GetTopicAttributes", "sns:SetTopicAttributes", "sns:Subscribe" ], "Resource": "arn:aws:sns:*:*:ElasticBeanstalkNotifications-*" }, { "Sid": "SQSOperationPermissions", "Effect": "Allow", "Action": [ "sqs:GetQueueAttributes", "sqs:GetQueueUrl" ], "Resource": [ "arn:aws:sqs:*:*:awseb-e-*", "arn:aws:sqs:*:*:eb-*" ] }, { "Sid": "CWPutMetricAlarmOperationPermissions", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricAlarm" ], "Resource": [ "arn:aws:cloudwatch:*:*:alarm:awseb-*", "arn:aws:cloudwatch:*:*:alarm:eb-*" ] }, { "Sid": "AllowECSTagResource", "Effect": "Allow", "Action": [ "ecs:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": [ "CreateCluster", "RegisterTaskDefinition" ] } } } ] }

Verwenden Sie die Seite Richtlinien in der IAM-Konsole, um den Inhalt einer verwalteten Richtlinie anzuzeigen.

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

In der Vergangenheit unterstützte Elastic Beanstalk die Rollenrichtlinie für AWSElasticBeanstalkServiceverwaltete Dienste. Diese Richtlinie wurde durch ersetzt. AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy Möglicherweise können Sie die frühere Richtlinie weiterhin in der IAM-Konsole sehen und verwenden.

Den Inhalt der verwalteten Richtlinien finden Sie AWSElasticBeanstalkServiceim Referenzhandbuch für AWS verwaltete Richtlinien.

Wir empfehlen jedoch, zur Verwendung der neuen verwalteten Richtlinie (AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy) überzugehen. Fügen Sie benutzerdefinierte Richtlinien hinzu, um Berechtigungen für benutzerdefinierte Ressourcen zu erteilen, falls vorhanden.

Elastic-Beanstalk-Konsole verwenden

Wenn Sie in der Elastic Beanstalk-Konsole eine Umgebung starten, erstellt die Konsole eine Standard-Servicerolle mit dem Namen aws-elasticbeanstalk-service-role und fügt dieser Servicerolle verwaltete Richtlinien mit Standardberechtigungen an.

Damit Elastic Beanstalk die Rolle aws-elasticbeanstalk-service-role übernehmen kann, legt die Servicerolle Elastic Beanstalk als vertrauenswürdige Einheit in der Vertrauensbeziehungsrichtlinie fest.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "elasticbeanstalk.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "elasticbeanstalk" } } } ] }

Wenn Sie für Ihre Umgebung verwaltete Plattformaktualisierungen aktivieren, übernimmt Elastic Beanstalk eine separate Servicerolle für verwaltete Updates, um verwaltete Updates auszuführen. Standardmäßig verwendet die Elastic Beanstalk-Konsole die gleiche generierte Servicerolle, aws-elasticbeanstalk-service-role, als Servicerolle für verwaltete Updates. Bei einer Änderung der Standard-Servicerolle legt die Konsole die Servicerolle für verwaltete Updates auf die Verwendung der serviceverknüpften Rolle für verwaltete Updates fest, AWSServiceRoleForElasticBeanstalkManagedUpdates. Weitere Informationen zu serviceverknüpften Rollen finden Sie unter Verwenden von serviceverknüpften Rollen.

Anmerkung

Aufgrund von Berechtigungsproblemen gelingt es dem Elastic Beanstalk-Service nicht immer, diese serviceverknüpfte Rolle für Sie zu erstellen. Daher versucht die Konsole, sie explizit zu erstellen. Um sicherzustellen, dass Ihr Konto über diese servicebezogene Rolle verfügt, erstellen Sie mindestens einmal mithilfe der Konsole eine Umgebung und konfigurieren Sie verwaltete Updates, die aktiviert werden, bevor Sie die Umgebung erstellen.

Verwenden der EB-CLI

Wenn Sie eine Umgebung mit dem eb create-Befehl der Elastic Beanstalk-Befehlszeilenschnittstelle (EB CLI) starten und keine Servicerolle über die --service-role-Option angeben, erstellt Elastic Beanstalk die Standard-Servicerolle aws-elasticbeanstalk-service-role. Wenn die standardmäßige Servicerolle bereits vorhanden ist, verwendet Elastic Beanstalk diese für die neue Umgebung. Die Elastic Beanstalk-Konsole führt in diesen Situationen ähnliche Aktionen aus.

Im Gegensatz zur Konsole können Sie über eine EB-CLI-Befehlsoption keine Servicerolle für verwaltete Updates angeben. Wenn Sie für Ihre Umgebung verwaltete Updates aktivieren, müssen Sie die Servicerolle für verwaltete Updates über Konfigurationsoptionen einstellen. Im folgenden Beispiel werden verwaltete Updates aktiviert und die Standardservicerolle als Servicerolle für verwaltete Updates verwendet.

Beispiel .ebeextensions/ .config managed-platform-update
option_settings: aws:elasticbeanstalk:managedactions: ManagedActionsEnabled: true PreferredStartTime: "Tue:09:00" ServiceRoleForManagedUpdates: "aws-elasticbeanstalk-service-role" aws:elasticbeanstalk:managedactions:platformupdate: UpdateLevel: patch InstanceRefreshEnabled: true

Servicerollen mit der Elastic Beanstalk API verwalten

Wenn Sie eine Umgebung mithilfe der CreateEnvironment-Aktion der Elastic Beanstalk-API erstellen, geben Sie eine Servicerolle mit der ServiceRole-Konfigurationsoption im aws:elasticbeanstalk:environment-Namespace an. Einzelheiten zur Verwendung einer erweiterten Zustandsüberwachung mit der Elastic Beanstalk-API finden Sie unter Verwenden der erweiterten Integritätsberichte mit der Elastic-Beanstalk-API.

Wenn Sie für Ihre Umgebung Verwaltete Plattformaktualisierungen aktivieren, können Sie über die Option ServiceRoleForManagedUpdates des Namespace aws:elasticbeanstalk:managedactions eine Servicerolle für verwaltete Updates angeben.

Verwenden von serviceverknüpften Rollen

Eine serviceverknüpfte Rolle ist eine einzigartige Art von Servicerolle, die von Elastic Beanstalk so vordefiniert wurde, dass sie alle Berechtigungen beinhaltet, die der Service benötigt, um andere AWS Services in Ihrem Namen aufzurufen. Die serviceverknüpfte Rolle ist Ihrem Konto zugeordnet. Sie wird von Elastic Beanstalk einmalig erstellt und dann zum Erstellen weiterer Umgebungen wiederverwendet. Weitere Informationen zur Verwendung von serviceverknüpften Rollen mit Elastic Beanstalk-Umgebungen finden Sie unter Servicegebundene Rollen für Elastic Beanstalk verwenden.

Wenn Sie mit der Elastic Beanstalk-API eine Umgebung erstellen und keine Servicerolle angeben, erstellt Elastic Beanstalk eine überwachende serviceverknüpfte Rolle für Ihr Konto, sofern diese nicht bereits vorhanden ist. Elastic Beanstalk nutzt diese Rolle für die neue Umgebung. Sie können die serviceverknüpfte Rolle Ihres Kontos auch im Voraus mit IAM erstellen. Nachdem Ihr Konto über diese Rolle verfügt, können Sie damit eine Umgebung mit der Elastic Beanstalk-API, der Elastic Beanstalk-Konsole oder der EB CLI erstellen.

Wenn Sie verwaltete Plattform-Updates für die Umgebung aktivieren und AWSServiceRoleForElasticBeanstalkManagedUpdates als Wert für die ServiceRoleForManagedUpdates-Option des aws:elasticbeanstalk:managedactions-Namespace angeben, erstellt Elastic Beanstalk eine serviceverknüpfte Rolle für verwaltete Updates für Ihr Konto, falls diese nicht schon vorhanden ist. Elastic Beanstalk nutzt die Rolle, um verwaltete Updates für die neue Umgebung durchzuführen.

Anmerkung

Wenn Elastic Beanstalk versucht, die serviceverknüpften Rollen für verwaltete Updates und Überwachung für Ihr Konto zu erstellen, wenn Sie eine Umgebung erstellen, müssen Sie die Berechtigung iam:CreateServiceLinkedRole-besitzen. Wenn Sie nicht über diese Genehmigung verfügen, schlägt das Erstellen der Umgebung fehl und es wird eine Meldung angezeigt, die das Problem erläutert.

Alternativ kann ein anderer Benutzer, der über die Berechtigung zum Erstellen von serviceverknüpften Rollen verfügt, IAM verwenden, um die serviceverknüpfte Rolle vorab zu erstellen. Mit dieser Methode benötigen Sie keine iam:CreateServiceLinkedRole Berechtigung, um Ihre Umgebung zu erstellen.

Überprüfung der Berechtigungen der Standard-Servicerolle

Die der Standard/Servicerolle gewährten Berechtigungen können je nach Erstellungsdatum, Datum des letzten Umgebungsstarts und verwendetem Client unterschiedlich sein. in der IAM-Konsole können Sie die von der Standard-Servicerolle gewährten Berechtigungen überprüfen.

So überprüfen Sie die Berechtigungen der Standard-Servicerolle
  1. Öffnen Sie in der IAM-Konsole die Seite Roles (Rollen).

  2. Wählen Sie. aws-elasticbeanstalk-service-role

  3. Prüfen Sie auf der Registerseite Permissions (Berechtigungen) die der Rolle angefügte Liste von Richtlinien.

  4. Um die von einer Richtlinie erteilten Berechtigungen anzuzeigen, wählen Sie die Richtlinie aus.

Aktualisierung einer out-of-date Standard-Servicerolle

Falls die benötigten Berechtigungen für die Standard-Servicerolle fehlen, können Sie sie aktualisieren, indem Sie in der Elastic Beanstalk-Environment Management Console eine neue Umgebung erstellen.

Alternativ können Sie die verwalteten Richtlinien manuell zur Standard-Servicerolle hinzufügen.

So fügen Sie verwaltete Richtlinien zur Standard-Servicerolle hinzu
  1. Öffnen Sie in der IAM-Konsole die Seite Roles (Rollen).

  2. Wählen Sie aws-elasticbeanstalk-service-role.

  3. Wählen Sie auf der Registerkarte Permissions (Berechtigungen) die Option Attach policies (Richtlinien anfügen) aus.

  4. Geben Sie AWSElasticBeanstalk ein, um die Richtlinien zu filtern.

  5. Wählen Sie die folgenden Richtlinien und anschließend Attach Policies (Richtlinien anfügen) aus:

    • AWSElasticBeanstalkEnhancedHealth

    • AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy

Hinzufügen von Berechtigungen zur Standard-Servicerolle

Wenn Ihre Anwendung Konfigurationsdateien enthält, die sich auf AWS Ressourcen beziehen, für die Berechtigungen nicht in der Standard-Servicerolle enthalten sind, benötigt Elastic Beanstalk möglicherweise zusätzliche Berechtigungen. Diese zusätzlichen Berechtigungen sind erforderlich, um diese Verweise aufzulösen, wenn die Konfigurationsdateien während eines verwalteten Updates verarbeitet werden. Wenn Berechtigungen fehlen, schlägt die Aktualisierung fehl, und Elastic Beanstalk gibt eine Meldung aus, in der die erforderliche Berechtigung angegeben wird. Fügen Sie in der IAM-Konsole mit den folgenden Schritten Berechtigungen für zusätzliche Services zur Standard-Servicerolle hinzu.

So fügen Sie zusätzliche Richtlinien zur Standard-Servicerolle hinzu
  1. Öffnen Sie in der IAM-Konsole die Seite Roles (Rollen).

  2. Wählen Sie. aws-elasticbeanstalk-service-role

  3. Wählen Sie auf der Registerkarte Permissions (Berechtigungen) die Option Attach policies (Richtlinien anfügen) aus.

  4. Wählen Sie die verwaltete Richtlinie für die zusätzlichen Services aus, die von der Anwendung verwendet werden. Zum Beispiel AmazonAPIGatewayAdministrator oder AmazonElasticFileSystemFullAccess.

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

Erstellen einer -Servicerolle

Wenn Sie die Standard-Servicerolle nicht verwenden können, erstellen Sie eine Servicerolle.

So erstellen Sie eine Servicerolle
  1. Öffnen Sie in der IAM-Konsole die Seite Roles (Rollen).

  2. Wählen Sie Rolle erstellen aus.

  3. Wählen Sie in AWS -Service die Option AWS Elastic Beanstalk und anschließend Ihren Anwendungsfall aus.

  4. Wählen Sie Weiter: Berechtigungen aus.

  5. Fügen Sie die verwalteten Richtlinien AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy und AWSElasticBeanstalkEnhancedHealth sowie weitere Richtlinien hinzu, um der Anwendung die erforderlichen Berechtigungen zu erteilen.

  6. Wählen Sie Weiter: Markierungen.

  7. (Optional) Fügen Sie der Rolle Tags hinzu.

  8. Wählen Sie Weiter: Prüfen aus.

  9. Geben Sie einen Namen für die Rolle ein.

  10. Wählen Sie Rolle erstellen aus.

Wenden Sie die benutzerdefinierte Servicerolle an, wenn Sie eine Umgebung im Assistenten zum Erstellen einer Umgebung oder mit der Option --service-role für den eb create-Befehl erstellen.