So funktioniert Amazon Elastic Container Service mit IAM - Amazon ECS

So funktioniert Amazon Elastic Container Service mit IAM

Bevor Sie mit IAM den Zugriff auf Amazon ECS verwalten können, sollten Sie sich darüber informieren, welche IAM-Funktionen Sie mit Amazon ECS verwenden können.

Einen Überblick über das Zusammenwirken von Amazon ECS und anderen AWS-Services mit den meisten IAM-Funktionen finden Sie unter AWS-Services, die mit IAM funktionieren im IAM-Benutzerhandbuch.

Identitätsbasierte Richtlinien für Amazon ECS

Unterstützt Richtlinien auf Identititätsbasis.

Ja

Identitätsbasierte Richtlinien sind JSON-Berechtigungsrichtliniendokumente, die Sie einer Identität anfügen können, wie z. B. IAM-Benutzern, -Benutzergruppen oder -Rollen. Diese Richtlinien steuern, welche Aktionen die Benutzer und Rollen für welche Ressourcen und unter welchen Bedingungen ausführen können. Informationen zum Erstellen identitätsbasierter Richtlinien finden Sie unter Erstellen von IAM-Richtlinien im IAM-Benutzerhandbuch.

Mit identitätsbasierten IAM-Richtlinien können Sie angeben, welche Aktionen und Ressourcen zugelassen oder abgelehnt werden. Darüber hinaus können Sie die Bedingungen festlegen, unter denen Aktionen zugelassen oder abgelehnt werden. Sie können den Prinzipal nicht in einer identitätsbasierten Richtlinie angeben, da er für den Benutzer oder die Rolle gilt, dem er zugeordnet ist. Informationen zu sämtlichen Elementen, die Sie in einer JSON-Richtlinie verwenden, finden Sie in der IAM-Referenz für JSON-Richtlinienelemente im IAM-Benutzerhandbuch.

Beispiele für identitätsbasierte Richtlinien für Amazon ECS

Beispiele für identitätsbasierte Amazon ECS-Richtlinien finden Sie unter Beispiele für identitätsbasierte Richtlinien für Amazon Elastic Container Service.

Ressourcenbasierte Richtlinien in Amazon ECS

Unterstützt ressourcenbasierte Richtlinien

Nein

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anfügen. Beispiele für ressourcenbasierte Richtlinien sind IAM-Rollen-Vertrauensrichtlinien und Amazon S3-Bucket-Richtlinien. In Services, die ressourcenbasierte Richtlinien unterstützen, können Service-Administratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource zu steuern. Für die Ressource, an die die Richtlinie angehängt ist, legt die Richtlinie fest, welche Aktionen ein bestimmter Prinzipal unter welchen Bedingungen für diese Ressource ausführen kann. Sie müssen in einer ressourcenbasierten Richtlinie einen Prinzipal angeben. Prinzipale können Konten, Benutzer, Rollen, Verbundbenutzer oder AWS-Services umfassen.

Um kontoübergreifenden Zugriff zu ermöglichen, können Sie ein gesamtes Konto oder IAM-Entitäten in einem anderen Konto als Prinzipal in einer ressourcenbasierten Richtlinie angeben. Durch das Hinzufügen eines kontoübergreifenden Auftraggebers zu einer ressourcenbasierten Richtlinie ist nur die halbe Vertrauensbeziehung eingerichtet. Wenn sich der Prinzipal und die Ressource in unterschiedlichen AWS-Konten befinden, muss ein IAM-Administrator im vertrauenswürdigen Konto auch der Prinzipalentität (Benutzer oder Rolle) die Berechtigung zum Zugriff auf die Ressource erteilen. Sie erteilen Berechtigungen, indem Sie der juristischen Stelle eine identitätsbasierte Richtlinie anfügen. Wenn jedoch eine ressourcenbasierte Richtlinie Zugriff auf einen Prinzipal in demselben Konto gewährt, ist keine zusätzliche identitätsbasierte Richtlinie erforderlich. Weitere Informationen finden Sie unter Wie sich IAM-Rollen von ressourcenbasierten Richtlinien unterscheiden im IAM-Benutzerhandbuch.

Richtlinienaktionen für Amazon ECS

Unterstützt Richtlinienaktionen

Ja

Administratoren können mit AWS-JSON-Richtlinien festlegen, welche Personen zum Zugriff auf welche Ressourcen berechtigt sind. Das bedeutet die Festlegung, welcher Prinzipal Aktionen für welche Ressourcen unter welchen Bedingungen ausführen kann.

Das Element Action 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 die zugehörige AWS-API-Operation. Es gibt einige Ausnahmen, z. B. Aktionen, die nur mit Genehmigung durchgeführt werden können und für die es keinen passenden API-Vorgang gibt. 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.

Eine Liste der Amazon-ECS-Aktionen finden Sie unter Von Amazon Elastic Container Service definierte Aktionen in der Service-Authorization-Referenz.

Richtlinienaktionen in Amazon ECS verwenden das folgende Präfix vor der Aktion:

ecs

Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie mit Kommata:

"Action": [ "ecs:action1", "ecs:action2" ]

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": "ecs:Describe*"

Beispiele für identitätsbasierte Amazon ECS-Richtlinien finden Sie unter Beispiele für identitätsbasierte Richtlinien für Amazon Elastic Container Service.

Richtlinienressourcen für Amazon ECS

Unterstützt Richtlinienressourcen

Teilweise

Administratoren können mit AWS-JSON-Richtlinien festlegen, welche Personen zum Zugriff auf welche Ressourcen berechtigt sind. Das bedeutet die Festlegung, welcher Prinzipal Aktionen für welche Ressourcen unter welchen Bedingungen ausführen kann.

Das JSON-Richtlinienelement Resource gibt die Objekte an, auf die die Aktion angewendet wird. Anweisungen müssen entweder ein Resource- oder ein NotResource-Element enthalten. Als bewährte Methode geben Sie eine Ressource mit dem zugehörigen Amazon-Ressourcennamen (ARN) an. 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": "*"

Eine Liste der Amazon-ECS-Ressourcentypen und ihrer ARNs finden Sie unter Von Amazon Elastic Container Service definierte Ressourcen in der Service-Authorization-Referenz. Sie erfahren, mit welchen Aktionen Sie den ARN einer jeden Ressource angeben können, unter Von Amazon Elastic Container Service definierte Aktionen.

Einige API-Aktionen von Amazon ECS unterstützen mehrere Ressourcen. Beispiel: Beim Aufruf der API-Aktion DescribeClusters kann auf mehrere Cluster verwiesen werden. Um mehrere Ressourcen in einer einzigen Anweisung anzugeben, trennen Sie die ARNs durch Kommata voneinander.

"Resource": [ "EXAMPLE-RESOURCE-1", "EXAMPLE-RESOURCE-2"

Die Amazon-ECS-Cluster-Ressource verfügt zum Beispiel über den folgenden ARN:

arn:${Partition}:ecs:${Region}:${Account}:cluster/${clusterName}

Verwenden Sie die folgenden ARNs, um my-cluster-1- und my-cluster-2-Cluster in Ihrer Anweisung anzugeben:

"Resource": [ "arn:aws:ecs:us-east-1:123456789012:cluster/my-cluster-1", "arn:aws:ecs:us-east-1:123456789012:cluster/my-cluster-2"

Um alle Cluster anzugeben, die zu einem bestimmten Konto gehören, verwenden Sie den Platzhalter (*):

"Resource": "arn:aws:ecs:us-east-1:123456789012:cluster/*"

Für Aufgabendefinitionen können Sie die neueste Revision oder eine bestimmte Revision angeben.

Um die neueste Aufgabendefinition anzugeben, verwenden Sie:

"Resource:arn:${Partition}:ecs:${Region}:${Account}:task-definition/${TaskDefinitionFamilyName}"

Um eine bestimmte Aufgabendefinitions-Revision anzugeben, verwenden Sie ${TaskDefinitionRevisionNumber}:

"Resource:arn:${Partition}:ecs:${Region}:${Account}:task-definition/${TaskDefinitionFamilyName}:${TaskDefinitionRevisionNumber}"

Beispiele für identitätsbasierte Amazon ECS-Richtlinien finden Sie unter Beispiele für identitätsbasierte Richtlinien für Amazon Elastic Container Service.

Richtlinien-Bedingungsschlüssel für Amazon ECS

Unterstützt servicespezifische Richtlinienbedingungsschlüssel

Ja

Administratoren können mit AWS-JSON-Richtlinien festlegen, welche Personen zum Zugriff auf welche Ressourcen berechtigt sind. Das bedeutet die Festlegung, welcher Prinzipal Aktionen für welche Ressourcen unter welchen Bedingungen ausführen kann.

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, wertet AWS die Bedingung mittels 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. Beispielsweise können Sie einem IAM-Benutzer die Berechtigung für den Zugriff auf eine Ressource nur dann gewähren, wenn sie mit dessen IAM-Benutzernamen gekennzeichnet ist. Weitere Informationen finden Sie unter IAM-Richtlinienelemente: Variablen und Tags im IAM-Benutzerhandbuch.

AWS unterstützt globale Bedingungsschlüssel und servicespezifische Bedingungsschlüssel. Eine Liste aller globalen AWS-Bedingungsschlüssel finden Sie unter Globale AWS-Bedingungskontextschlüssel im IAM-Benutzerhandbuch.

Amazon ECS unterstützt die folgenden servicespezifischen Bedingungsschlüssel, die Sie verwenden können, um eine feinabgestimmte Filterung für Ihre IAM-Richtlinien bereitzustellen:

Bedingungsschlüssel

Beschreibung

Bewertungstypen

aws:RequestTag/${TagKey}

Dieser Kontextschlüssel liegt im Format "aws:RequestTag/tag-key":"tag-value" vor. Dabei bezeichnen tag-key und tag-value ein Paar aus Tag-Schlüssel und -Wert.

Prüft, ob das Tag-Schlüssel/Wert-Paar in einer AWS-Anforderung vorhanden ist. Sie können z. B. prüfen, ob die Anforderung den Tag-Schlüssel "Dept" enthält und dieser den Wert "Accounting" hat.

String (Zeichenfolge)

aws:ResourceTag/${TagKey}

Dieser Kontextschlüssel liegt im Format "aws:ResourceTag/tag-key":"tag-value" vor. Dabei bezeichnen tag-key und tag-value ein Paar aus Tag-Schlüssel und -Wert.

Überprüft, ob das an die Identitätsressource (Benutzer oder Rolle) angefügte Tag mit dem angegebenen Schlüsselnamen und Wert übereinstimmt.

String (Zeichenfolge)

aws:TagKeys

Dieser Kontextschlüssel liegt im Format "aws:TagKeys":"tag-key" vor. Dabei ist tag-key eine Liste von Tag-Schlüsseln ohne Werte (z. B. ["Dept","Cost-Center"]).

Prüft die Tag-Schlüssel in einer AWS-Anforderung.

String (Zeichenfolge)

ecs:ResourceTag/${TagKey}

Dieser Kontextschlüssel liegt im Format "ecs:ResourceTag/tag-key":"tag-value" vor. Dabei bezeichnen tag-key und tag-value ein Paar aus Tag-Schlüssel und -Wert.

Überprüft, ob das an die Identitätsressource (Benutzer oder Rolle) angefügte Tag mit dem angegebenen Schlüsselnamen und Wert übereinstimmt.

String (Zeichenfolge)

ecs:cluster

Der Kontextschlüssel liegt im Format "ecs:cluster":"cluster-arn" vor, wobei cluster-arn der ARN für den Amazon ECS-Cluster ist.

ARN, Null

ecs:container-instances

Der Kontextschlüssel liegt im Format "ecs:container-instances":"container-instance-arns" vor, wobei dem container-instance-arns ein oder mehrere Container-Instance-ARNs ist/sind.

ARN, Null

ecs:container-name

Der Kontextschlüssel hat das Format "ecs:container-name":"container-name", wobei container-instance- der Name eines Amazon-ECS-Containers ist, der in der ECS-Aufgabendefinition definiert ist.

String (Zeichenfolge)
ecs:enable-execute-command Der Kontextschlüssel hat das Format "ecs:enable-execute-command":"value", wobei value-true“ oder „false“ ist. String (Zeichenfolge)

ecs:task-definition

Der Kontextschlüssel liegt im Format "ecs:task-definition":"task-definition-arn" vor, wobei task-definition-arn der ARN für die Amazon ECS-Aufgabendefinition ist.

ARN, Null

ecs:service

Der Kontextschlüssel liegt im Format "ecs:service":"service-arn" vor, wobei service-arn der ARN für den Amazon-ECS-Service ist.

ARN, Null

Eine Liste der Amazon-ECS-Bedingungsschlüssel finden Sie unter Bedingungsschlüssel für Amazon Elastic Container Service in der Service-Authorization-Referenz. Um zu erfahren, mit welchen Aktionen und Ressourcen Sie einen Bedingungsschlüssel verwenden können, siehe Von Amazon Elastic Container Service definierte Aktionen.

Beispiele für identitätsbasierte Amazon ECS-Richtlinien finden Sie unter Beispiele für identitätsbasierte Richtlinien für Amazon Elastic Container Service.

Zugriffssteuerungslisten (ACLs) in Amazon ECS

Unterstützt ACLs

Nein

Zugriffskontrolllisten (ACLs) steuern, welche Prinzipale (Kontomitglieder, Benutzer oder Rollen) auf eine Ressource zugreifen können. ACLs sind ähnlich wie ressourcenbasierte Richtlinien, verwenden jedoch nicht das JSON-Richtliniendokumentformat.

Attributbasierte Zugriffssteuerung (ABAC) mit Amazon ECS

Unterstützt ABAC (Tags in Richtlinien)

Ja

Die attributbasierte Zugriffskontrolle (ABAC) ist eine Autorisierungsstrategie, bei der Berechtigungen basierend auf Attributen definiert werden. In AWS werden diese Attribute als Tagsbezeichnet. Sie können Tags an IAM-Entitäten (Benutzer oder Rollen) und mehrere AWS-Ressourcen anfügen. Das Markieren von Entitäten und Ressourcen ist der erste Schritt von ABAC. Anschließend entwerfen Sie ABAC-Richtlinien, um Operationen zuzulassen, wenn das Tag des Prinzipals mit dem Tag der Ressource übereinstimmt, auf die sie zugreifen möchten.

ABAC ist in Umgebungen hilfreich, die schnell wachsen, und unterstützt Sie in Situationen, in denen die Richtlinienverwaltung mühsam wird.

Um den Zugriff auf der Grundlage von Tags zu steuern, geben Sie im Bedingungselement einer Richtlinie Tag-Informationen an, indem Sie die Schlüssel aws:ResourceTag/key-name, aws:RequestTag/key-name, oder aws:TagKeysBedingung verwenden.

Weitere Informationen zu ABAC finden Sie unter Was ist ABAC? im IAM-Benutzerhandbuch. Um ein Tutorial mit Schritten zur Einstellung von ABAC anzuzeigen, siehe Attributbasierte Zugriffskontrolle (ABAC) verwenden im IAM-Benutzerhandbuch.

Weitere Informationen über das Markieren von Amazon ECS-Ressourcen mit Tags finden Sie unter Ressourcen und Tags (Markierungen).

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 Beschreiben von Amazon-ECS-Services auf der Grundlage von Tags.

Verwenden temporärer Anmeldeinformationen mit Amazon ECS

Unterstützt temporäre Anmeldeinformationen

Ja

Einige AWS-Services funktionieren nicht, wenn Sie sich mit temporären Anmeldeinformationen anmelden. Weitere Informationen, darunter welche AWS-Services mit temporären Anmeldeinformationen funktionieren, finden Sie unter AWS-Services, die mit IAM funktionieren im IAM-Benutzerhandbuch.

Sie verwenden temporäre Anmeldeinformationen, wenn Sie sich mit einer anderen Methode als einem Benutzernamen und einem Passwort bei der AWS Management Console anmelden. Wenn Sie beispielsweise über den SSO-Link Ihres Unternehmens auf AWS zugreifen, erstellt dieser Prozess automatisch temporäre Anmeldeinformationen. Sie erstellen auch automatisch temporäre Anmeldeinformationen, wenn Sie sich als Benutzer bei der Konsole anmelden und dann die Rollen wechseln. Weitere Informationen zum Wechseln von Rollen finden Sie unter Wechseln zu einer Rolle (Konsole) im IAM-Benutzerhandbuch.

Sie können mithilfe der AWS CLI- oder AWS-API manuell temporäre Anmeldeinformationen erstellen. Sie können dann diese temporären Anmeldeinformationen verwenden, um auf AWS zuzugreifen. AWS empfiehlt, dass Sie temporäre Anmeldeinformationen dynamisch generieren, anstatt langfristige Zugriffsschlüssel zu verwenden. Weitere Informationen finden Sie unter Temporäre Sicherheitsanmeldeinformationen in IAM.

Serviceübergreifende Hauptberechtigungen für Amazon ECS

Unterstützt Hauptberechtigungen

Ja

Wenn Sie einen IAM-Benutzer oder eine IAM-Rolle zum Ausführen von Aktionen in AWS verwenden, gelten Sie als Prinzipal. Richtlinien erteilen einem Prinzipal Berechtigungen. Bei einigen Services könnte es Aktionen geben, die dann eine andere Aktion in einem anderen Service auslösen. In diesem Fall müssen Sie über Berechtigungen zum Ausführen beider Aktionen verfügen. Informationen dazu, ob eine Aktion zusätzliche abhängige Aktionen in einer Richtlinie erfordert, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Elastic Container Service in der Service-Authorization-Referenz.

Servicerollen für Amazon ECS

Unterstützt Servicerollen

Ja

Eine Servicerolle ist eine IAM-Rolle, die ein Service annimmt, um Aktionen in Ihrem Namen auszuführen. Ein IAM-Administrator kann eine Servicerolle innerhalb von IAM erstellen, ändern und löschen. Weitere Informationen finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service im IAM-Benutzerhandbuch.

Warnung

Das Ändern der Berechtigungen für eine Servicerolle könnte die Amazon-ECS-Funktionalität beeinträchtigen. Bearbeiten Sie Servicerollen nur, wenn Amazon ECS dazu Anleitungen gibt.

Serviceverknüpfte Rollen für Amazon ECS

Unterstützt serviceverknüpfte Rollen

Ja

Eine serviceverknüpfte Rolle ist eine Art von Servicerolle, die mit einem AWS-Service verknüpft ist. Der Service kann die Rolle übernehmen, um eine Aktion in Ihrem Namen auszuführen. Serviceverknüpfte Rollen werden in Ihrem IAM-Konto angezeigt und gehören zum Service. Ein IAM-Administrator kann die Berechtigungen für serviceverknüpfte Rollen anzeigen, aber nicht bearbeiten.

Details zum Erstellen oder Verwalten von serviceverknüpften Amazon ECS-Rollen finden Sie unter Serviceverknüpfte Rolle für Amazon ECS.