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.
Berechtigungen für Apps angeben, die auf EC2 Instanzen ausgeführt werden
Wichtig
Der AWS OpsWorks Stacks Service hat am 26. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an das AWS Support Team auf AWS re:POST
Wenn die Anwendungen, die auf den EC2 Amazon-Instances Ihres Stacks ausgeführt werden, auf andere AWS Ressourcen wie Amazon S3-Buckets zugreifen müssen, müssen sie über die entsprechenden Berechtigungen verfügen. Diese Berechtigungen können Sie über ein Instance-Profil gewähren. Sie können für jede Instance ein Instance-Profil angeben, wenn Sie einen AWS OpsWorks Stacks-Stack erstellen.
Sie können durch Bearbeiten der Layer-Konfiguration auch ein Profil für die Instances eines Layers festlegen.
Das Instanzprofil spezifiziert eine IAM Rolle. Anwendungen, die auf der Instanz ausgeführt werden, können diese Rolle für den Zugriff auf AWS Ressourcen übernehmen, vorbehaltlich der Berechtigungen, die in der Rollenrichtlinie gewährt werden. Weitere Informationen darüber, wie eine Anwendung eine Rolle übernimmt, finden Sie unter Übernahme der Rolle mithilfe eines API Aufrufs.
Sie haben folgende Möglichkeiten, um ein Instance-Profil zu erstellen:
-
Verwenden Sie die IAM Konsole oder API um ein Profil zu erstellen.
Weitere Informationen finden Sie unter Rollen (Übertragung und Vereinigung).
-
Verwenden Sie eine AWS CloudFormation Vorlage, um ein Profil zu erstellen.
Einige Beispiele dafür, wie IAM Ressourcen in eine Vorlage aufgenommen werden können, finden Sie unter Vorlagenausschnitte für Identity and Access Management (IAM).
Ein Instanzprofil muss über eine Vertrauensbeziehung und eine angefügte Richtlinie verfügen, die Berechtigungen für den Zugriff auf AWS Ressourcen gewährt.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Das Instanzprofil muss über diese Vertrauensstellung verfügen, damit AWS OpsWorks Stacks in Ihrem Namen handeln kann. Ändern Sie die Vertrauensstellung nicht, wenn Sie die Standard-Servicerolle verwenden. Wenn Sie eine benutzerdefinierte Servicerolle erstellen, geben Sie die Vertrauensstellung wie folgt an:
-
Wenn Sie den Assistenten zum Erstellen von Rollen in der IAMKonsole
verwenden, geben Sie auf der zweiten Seite des Assistenten unter AWS Service Roles den EC2Amazon-Rollentyp an. -
Wenn Sie eine AWS CloudFormation Vorlage verwenden, können Sie dem Abschnitt Ressourcen Ihrer Vorlage etwas wie das Folgende hinzufügen.
"Resources": { "OpsWorksEC2Role": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ec2.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/" } }, "RootInstanceProfile": { "Type": "AWS::IAM::InstanceProfile", "Properties": { "Path": "/", "Roles": [ { "Ref": "OpsWorksEC2Role" } ] } } }
Wenn Sie Ihr Instanzprofil erstellen, können Sie der jeweiligen Rolle des Profils eine entsprechende Richtlinie zuordnen. Nachdem Sie den Stack erstellt haben, müssen Sie die IAMKonsoleregion
und amzn-s3-demo-bucket mit Werten, die Ihrer Konfiguration entsprechen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws:s3:
region
::amzn-s3-demo-bucket/*" } ] }
Ein Beispiel für das Erstellen und Verwenden von Instance-Profilen finden Sie unter Verwenden eines Amazon S3-Buckets.
Wenn Ihre Anwendung ein Instanzprofil verwendet, um die AWS OpsWorks Stacks API von einer EC2 Instance aus aufzurufen, muss die Richtlinie die iam:PassRole
Aktion zusätzlich zu den entsprechenden Aktionen für Stacks und andere Dienste zulassen. AWS OpsWorks AWS Über die Berechtigung iam:PassRole
kann AWS OpsWorks Stacks die Service-Rolle in Ihrem Namen übernehmen. Weitere Informationen zu den AWS OpsWorks Stacks API finden Sie unter Referenz. AWS OpsWorks API
Im Folgenden finden Sie ein Beispiel IAM für eine Richtlinie, die es Ihnen ermöglicht, jede AWS OpsWorks Stacks-Aktion von einer EC2 Instance aus sowie jede Amazon EC2 - oder Amazon S3 S3-Aktion aufzurufen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:*", "s3:*", "opsworks:*", "iam:PassRole" ], "Resource": "arn:aws:ec2:
region
:account_id:
instance/*", "Condition": { "StringEquals": { "iam:PassedToService": "opsworks.amazonaws.com" } } } ] }
Anmerkung
Wenn Sie dies nicht zulasseniam:PassRole
, schlägt jeder Versuch, eine AWS OpsWorks Stacks-Aktion aufzurufen, mit einem Fehler wie dem folgenden fehl:
User: arn:aws:sts::123456789012:federated-user/Bob is not authorized to perform: iam:PassRole on resource: arn:aws:sts::123456789012:role/OpsWorksStackIamRole
Weitere Informationen zur Verwendung von Rollen auf einer EC2 Instance für Berechtigungen finden Sie unter Gewähren von Zugriff auf AWS Ressourcen für Anwendungen, die auf EC2 Amazon-Instances ausgeführt werden im AWS Identity and Access Management Benutzerhandbuch.