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.
Wie funktioniert App Runner mit IAM
Bevor Sie IAM den Zugriff auf verwalten AWS App Runner, sollten Sie wissen, welche IAM Funktionen mit App Runner zur Verfügung stehen. Einen allgemeinen Überblick darüber, wie App Runner und andere AWS Dienste funktionierenIAM, finden Sie IAM im IAMBenutzerhandbuch unter AWS Dienste, mit denen funktioniert.
Weitere Sicherheitsthemen zu App Runner finden Sie unterSicherheit in App Runner.
Themen
Identitätsbasierte Richtlinien von App Runner
Mit IAM identitätsbasierten Richtlinien können Sie zulässige oder verweigerte Aktionen und Ressourcen sowie die Bedingungen angeben, unter denen Aktionen zulässig oder verweigert werden. App Runner unterstützt bestimmte Aktionen, Ressourcen und Bedingungsschlüssel. Weitere Informationen zu allen Elementen, die Sie in einer JSON Richtlinie verwenden, finden Sie unter IAMJSONPolicy Elements Reference im IAMBenutzerhandbuch.
Aktionen
Administratoren können mithilfe von AWS JSON Richtlinien angeben, wer Zugriff auf was hat. Das bedeutet, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.
Das Action
Element einer JSON Richtlinie beschreibt die Aktionen, mit denen Sie den Zugriff in einer Richtlinie zulassen oder verweigern können. Richtlinienaktionen haben normalerweise denselben Namen wie der zugehörige AWS API Vorgang. Es gibt einige Ausnahmen, z. B. Aktionen, für die nur eine Genehmigung erforderlich ist und für die es keinen entsprechenden Vorgang gibt. API Es gibt auch einige Operationen, die mehrere Aktionen in einer Richtlinie erfordern. Diese zusätzlichen Aktionen werden als abhängige Aktionen bezeichnet.
Schließen Sie Aktionen in eine Richtlinie ein, um Berechtigungen zur Durchführung der zugeordneten Operation zu erteilen.
Richtlinienaktionen in App Runner verwenden vor der Aktion das folgende Präfix:. apprunner:
Um beispielsweise jemandem die Erlaubnis zu erteilen, eine EC2 Amazon-Instance mit dem EC2 RunInstances
API Amazon-Vorgang auszuführen, nehmen Sie die ec2:RunInstances
Aktion in seine Richtlinie auf. Richtlinienanweisungen müssen entweder ein – Action
oder ein NotAction
-Element enthalten. App Runner definiert eigene Aktionen, die Aufgaben beschreiben, die Sie mit diesem Service ausführen können.
Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie wie folgt durch Kommata:
"Action": [ "apprunner:CreateService", "apprunner:CreateConnection" ]
Sie können auch Platzhalter verwenden, um mehrere Aktionen anzugeben. Beispielsweise können Sie alle Aktionen festlegen, die mit dem Wort Describe
beginnen, einschließlich der folgenden Aktion:
"Action": "apprunner:Describe*"
Eine Liste der App Runner-Aktionen finden Sie unter Aktionen definiert von AWS App Runner in der Referenz zur Serviceautorisierung.
Ressourcen
Administratoren können mithilfe von AWS JSON Richtlinien angeben, wer Zugriff auf was hat. Das bedeutet, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.
Das Resource
JSON Richtlinienelement gibt das Objekt oder die Objekte an, für die die Aktion gilt. Anweisungen müssen entweder ein – Resource
oder ein NotResource
-Element enthalten. Es hat sich bewährt, eine Ressource mit ihrem Amazon-Ressourcennamen (ARN) anzugeben. Sie können dies für Aktionen tun, die einen bestimmten Ressourcentyp unterstützen, der als Berechtigungen auf Ressourcenebene bezeichnet wird.
Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, z. B. Auflistungsoperationen, einen Platzhalter (*), um anzugeben, dass die Anweisung für alle Ressourcen gilt.
"Resource": "*"
App Runner-Ressourcen haben die folgende ARN Struktur:
arn:aws:apprunner:
region
:account-id
:resource-type
/resource-name
[/resource-id
]
Weitere Informationen zum Format von ARNs finden Sie unter Amazon Resource Names (ARNs) und AWS Service Namespaces in der. Allgemeine AWS-Referenz
Um den my-service
Service in Ihrem Kontoauszug zu spezifizieren, verwenden Sie beispielsweise Folgendes: ARN
"Resource": "arn:aws:apprunner:us-east-1:123456789012:service/my-service"
Um alle Dienste anzugeben, die zu einem bestimmten Konto gehören, verwenden Sie den Platzhalter (*):
"Resource": "arn:aws:apprunner:us-east-1:123456789012:service/*"
Einige App Runner-Aktionen, z. B. zum Erstellen von Ressourcen, können nicht für eine bestimmte Ressource ausgeführt werden. In diesen Fällen müssen Sie den Platzhalter (*) verwenden.
"Resource": "*"
Eine Liste der App Runner-Ressourcentypen und ihrer ARNs Eigenschaften finden Sie unter Ressourcen definiert von AWS App Runner in der Service Authorization Reference. Informationen darüber, mit welchen Aktionen Sie die ARN einzelnen Ressourcen spezifizieren können, finden Sie unter Aktionen definiert von AWS App Runner.
Bedingungsschlüssel
Administratoren können mithilfe von AWS JSON Richtlinien angeben, wer Zugriff auf was hat. Das heißt, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.
Das Element Condition
(oder Condition
block) ermöglicht Ihnen die Angabe der Bedingungen, unter denen eine Anweisung wirksam ist. Das Element Condition
ist optional. Sie können bedingte Ausdrücke erstellen, die Bedingungsoperatoren verwenden, z. B. ist gleich oder kleiner als, damit die Bedingung in der Richtlinie mit Werten in der Anforderung übereinstimmt.
Wenn Sie mehrere Condition
-Elemente in einer Anweisung oder mehrere Schlüssel in einem einzelnen Condition
-Element angeben, wertet AWS diese mittels einer logischen AND
-Operation aus. Wenn Sie mehrere Werte für einen einzelnen Bedingungsschlüssel angeben, AWS wertet die Bedingung mithilfe einer logischen OR
Operation aus. Alle Bedingungen müssen erfüllt werden, bevor die Berechtigungen der Anweisung gewährt werden.
Sie können auch Platzhaltervariablen verwenden, wenn Sie Bedingungen angeben. Sie können einem IAM Benutzer beispielsweise nur dann Zugriff auf eine Ressource gewähren, wenn sie mit seinem IAM Benutzernamen gekennzeichnet ist. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter IAMRichtlinienelemente: Variablen und Tags.
AWS unterstützt globale Bedingungsschlüssel und dienstspezifische Bedingungsschlüssel. Eine Übersicht aller AWS globalen Bedingungsschlüssel finden Sie unter Kontext-Schlüssel für AWS globale Bedingungen im IAMBenutzerhandbuch.
App Runner unterstützt die Verwendung einiger globaler Bedingungsschlüssel. Eine Übersicht aller AWS globalen Bedingungsschlüssel finden Sie unter AWS Globale Bedingungskontextschlüssel im IAMBenutzerhandbuch.
App Runner definiert eine Reihe von dienstspezifischen Bedingungsschlüsseln. Darüber hinaus unterstützt App Runner die Tag-basierte Zugriffskontrolle, die mithilfe von Bedingungsschlüsseln implementiert wird. Details hierzu finden Sie unter Autorisierung basierend auf App Runner-Tags.
Eine Liste der App Runner-Bedingungsschlüssel finden Sie unter Bedingungsschlüssel für AWS App Runner in der Serviceautorisierungsreferenz. Informationen zu den Aktionen und Ressourcen, mit denen Sie einen Bedingungsschlüssel verwenden können, finden Sie unter Aktionen definiert von AWS App Runner.
Beispiele
Beispiele für identitätsbasierte App Runner-Richtlinien finden Sie unter. Beispiele für identitätsbasierte App Runner-Richtlinien
Ressourcenbasierte App Runner-Richtlinien
App Runner unterstützt keine ressourcenbasierten Richtlinien.
Autorisierung basierend auf App Runner-Tags
Sie können Tags an App Runner-Ressourcen anhängen oder Tags in einer Anfrage an App Runner übergeben. Um den Zugriff auf der Grundlage von Tags zu steuern, geben Sie im Bedingungselement einer Richtlinie Tag-Informationen an, indem Sie die Schlüssel apprunner:ResourceTag/
, key-name
aws:RequestTag/
, oder Bedingung key-name
aws:TagKeys
verwenden. Weitere Informationen zum Taggen von App Runner-Ressourcen finden Sie unterEinen App Runner-Dienst konfigurieren.
Ein Beispiel für eine identitätsbasierte Richtlinie zur Einschränkung des Zugriffs auf eine Ressource auf der Grundlage der Markierungen dieser Ressource finden Sie unter Steuern des Zugriffs auf App Runner-Dienste anhand von Tags.
App Runner-Benutzerberechtigungen
Um App Runner verwenden zu IAM können, benötigen Benutzer Berechtigungen für App Runner-Aktionen. Eine gängige Methode, Benutzern Berechtigungen zu gewähren, besteht darin, IAM Benutzern oder Gruppen eine Richtlinie zuzuweisen. Weitere Informationen zur Verwaltung von Benutzerberechtigungen finden Sie im IAMBenutzerhandbuch unter Ändern von Benutzerberechtigungen. IAM
App Runner bietet zwei verwaltete Richtlinien, die Sie Ihren Benutzern zuordnen können.
-
AWSAppRunnerReadOnlyAccess
— Erteilt Berechtigungen zum Auflisten und Anzeigen von Details zu App Runner-Ressourcen. -
AWSAppRunnerFullAccess
— Erteilt Berechtigungen für alle App Runner-Aktionen.
Für eine detailliertere Kontrolle der Benutzerberechtigungen können Sie eine benutzerdefinierte Richtlinie erstellen und sie an Ihre Benutzer anhängen. Einzelheiten finden Sie im IAMBenutzerhandbuch unter IAMRichtlinien erstellen.
Beispiele für Benutzerrichtlinien finden Sie unterBenutzerrichtlinien.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "apprunner:List*", "apprunner:Describe*" ], "Resource": "*" } ] }
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": [ "arn:aws:iam::*:role/aws-service-role/apprunner.amazonaws.com/AWSServiceRoleForAppRunner", "arn:aws:iam::*:role/aws-service-role/networking.apprunner.amazonaws.com/AWSServiceRoleForAppRunnerNetworking" ], "Condition": { "StringLike": { "iam:AWSServiceName": [ "apprunner.amazonaws.com", "networking.apprunner.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringLike": { "iam:PassedToService": "apprunner.amazonaws.com" } } }, { "Sid": "AppRunnerAdminAccess", "Effect": "Allow", "Action": "apprunner:*", "Resource": "*" } ] }
App IAM Runner-Rollen
Eine IAMRolle ist eine Entität innerhalb von Ihnen AWS-Konto , die über bestimmte Berechtigungen verfügt.
Service-verknüpfte Rollen
Mit dienstbezogenen Rollen können AWS Dienste auf Ressourcen in anderen Diensten zugreifen, um eine Aktion in Ihrem Namen auszuführen. Mit Diensten verknüpfte Rollen werden in Ihrem IAM Konto angezeigt und gehören dem Dienst. Ein IAM Administrator kann die Berechtigungen für dienstbezogene Rollen anzeigen, aber nicht bearbeiten.
App Runner unterstützt dienstverknüpfte Rollen. Informationen zum Erstellen oder Verwalten von dienstbezogenen App Runner-Rollen finden Sie unter. Verwenden von dienstverknüpften Rollen für App Runner
Servicerollen
Dieses Feature ermöglicht einem Service das Annehmen einer Servicerolle in Ihrem Namen. Diese Rolle gewährt dem Service Zugriff auf Ressourcen in anderen Diensten, um eine Aktion in Ihrem Namen auszuführen. Servicerollen werden in Ihrem IAM Konto angezeigt und gehören dem Konto. Das bedeutet, dass ein IAM Benutzer die Berechtigungen für diese Rolle ändern kann. Dies kann jedoch die Funktionalität des Dienstes beeinträchtigen.
App Runner unterstützt einige Servicerollen.
Zugriffsrolle
Die Zugriffsrolle ist eine Rolle, die App Runner für den Zugriff auf Bilder in Amazon Elastic Container Registry (AmazonECR) in Ihrem Konto verwendet. Es ist erforderlich, um auf ein Bild in Amazon zuzugreifenECR, und ist bei Amazon ECR Public nicht erforderlich. Bevor Sie einen Service erstellen, der auf einem Image in Amazon basiertECR, verwenden Sie, IAM um eine Servicerolle zu erstellen und die darin AWSAppRunnerServicePolicyForECRAccess
enthaltene verwaltete Richtlinie zu verwenden. Sie können diese Rolle dann an App Runner übergeben, wenn Sie das CreateServiceAPIAuthenticationConfigurationMitglied des SourceConfigurationParameters aufrufen oder wenn Sie die App Runner-Konsole verwenden, um einen Service zu erstellen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:DescribeImages", "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }
Anmerkung
Wenn Sie Ihre eigene benutzerdefinierte Richtlinie für Ihre Zugriffsrolle erstellen, müssen Sie diese "Resource": "*"
für die ecr:GetAuthorizationToken
Aktion angeben. Tokens können für den Zugriff auf jede ECR Amazon-Registrierung verwendet werden, auf die Sie Zugriff haben.
Achten Sie beim Erstellen Ihrer Zugriffsrolle darauf, eine Vertrauensrichtlinie hinzuzufügen, die den App Runner-Service Principal build.apprunner.amazonaws.com
als vertrauenswürdige Entität deklariert.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "build.apprunner.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Wenn Sie die App Runner-Konsole verwenden, um einen Dienst zu erstellen, kann die Konsole automatisch eine Zugriffsrolle für Sie erstellen und diese für den neuen Dienst auswählen. In der Konsole werden auch andere Rollen in Ihrem Konto aufgeführt, und Sie können bei Bedarf eine andere Rolle auswählen.
Instanzrolle
Die Instanzrolle ist eine optionale Rolle, die App Runner verwendet, um Berechtigungen für AWS Serviceaktionen bereitzustellen, die die Recheninstanzen Ihres Dienstes benötigen. Sie müssen App Runner eine Instanzrolle zur Verfügung stellen, wenn Ihr Anwendungscode AWS actions (APIs) aufruft. Betten Sie entweder die erforderlichen Berechtigungen in Ihre Instanzrolle ein oder erstellen Sie Ihre eigene benutzerdefinierte Richtlinie und verwenden Sie sie in der Instanzrolle. Wir können nicht vorhersehen, welche Aufrufe Ihr Code verwendet. Daher bieten wir zu diesem Zweck keine verwaltete Richtlinie an.
Bevor Sie einen App Runner-Dienst erstellen, verwenden Sie diese IAM Option, um eine Servicerolle mit den erforderlichen benutzerdefinierten oder eingebetteten Richtlinien zu erstellen. Sie können diese Rolle dann als Instanzrolle an App Runner übergeben, wenn Sie das CreateServiceAPIInstanceRoleArn
Mitglied des InstanceConfigurationParameters aufrufen oder wenn Sie die App Runner-Konsole verwenden, um einen Dienst zu erstellen.
Achten Sie beim Erstellen Ihrer Instanzrolle darauf, eine Vertrauensrichtlinie hinzuzufügen, die den App Runner-Dienstprinzipal tasks.apprunner.amazonaws.com
als vertrauenswürdige Entität deklariert.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "tasks.apprunner.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Wenn Sie die App Runner-Konsole verwenden, um einen Dienst zu erstellen, listet die Konsole die Rollen in Ihrem Konto auf, und Sie können die Rolle auswählen, die Sie zu diesem Zweck erstellt haben.
Informationen zum Erstellen eines Dienstes finden Sie unterEinen App Runner-Dienst erstellen.