AWS GlueRessource angeben ARNs - AWS Glue

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.

AWS GlueRessource angeben ARNs

In AWS Glue können Sie den Zugriff auf Ressourcen mithilfe einer AWS Identity and Access Management (IAM) -Richtlinie steuern. In einer Richtlinie verwenden Sie einen Amazon-Ressourcennamen (ARN), um die Ressource zu identifizieren, für die die Richtlinie gilt. Nicht alle Ressourcen werden AWS Glue unterstütztARNs.

Datenkatalog ARNs

Data-Catalog-Ressourcen haben eine hierarchische Struktur, mit catalog als Stamm:

arn:aws:glue:region:account-id:catalog

Jedes AWS Konto hat einen einzigen Datenkatalog in einer AWS Region mit der 12-stelligen Konto-ID als Katalog-ID. Ressourcen sind eindeutig ARNs zugeordnet, wie in der folgenden Tabelle dargestellt.

Ressourcentyp ARNFormat

Katalog

arn:aws:glue:region:account-id:catalog

Zum Beispiel: arn:aws:glue:us-east-1:123456789012:catalog

Datenbank

arn:aws:glue:region:account-id:database/database name

Zum Beispiel: arn:aws:glue:us-east-1:123456789012:database/db1

Tabelle

arn:aws:glue:region:account-id:table/database name/table name

Zum Beispiel: arn:aws:glue:us-east-1:123456789012:table/db1/tbl1

Benutzerdefinierte Funktion

arn:aws:glue:region:account-id:userDefinedFunction/database name/user-defined function name

Zum Beispiel: arn:aws:glue:us-east-1:123456789012:userDefinedFunction/db1/func1

Verbindung

arn:aws:glue:region:account-id:connection/connection name

Zum Beispiel: arn:aws:glue:us-east-1:123456789012:connection/connection1

Interactive Session

arn:aws:glue:region:account-id:session/interactive session id

Zum Beispiel: arn:aws:glue:us-east-1:123456789012:session/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Um eine differenzierte Zugriffskontrolle zu ermöglichen, können Sie diese ARNs in Ihren IAM Richtlinien und Ressourcenrichtlinien verwenden, um den Zugriff auf bestimmte Ressourcen zu gewähren oder zu verweigern. Platzhalter sind in den Richtlinien zulässig. Das Folgende ARN entspricht beispielsweise allen Tabellen in der Datenbank. default

arn:aws:glue:us-east-1:123456789012:table/default/*
Wichtig

Alle Operationen, die auf einer Data-Catalog-Ressource ausgeführt werden, benötigen die Berechtigung für die Ressource und alle Vorfahren dieser Ressource. Um beispielsweise eine Partition für eine Tabelle zu erstellen, ist eine Berechtigung für die Tabelle, die Datenbank und den Katalog erforderlich, in der bzw. dem sich die Tabelle befindet. Das folgende Beispiel zeigt die Berechtigung, die erforderlich ist, um Partitionen auf der Tabelle PrivateTable in der Datenbank PrivateDatabase im Data Catalog zu erstellen.

{ "Sid": "GrantCreatePartitions", "Effect": "Allow", "Action": [ "glue:BatchCreatePartitions" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:table/PrivateDatabase/PrivateTable", "arn:aws:glue:us-east-1:123456789012:database/PrivateDatabase", "arn:aws:glue:us-east-1:123456789012:catalog" ] }

Zusätzlich zur Berechtigung für die Ressource und alle ihre Vorfahren benötigen alle Löschvorgänge die Berechtigung für alle untergeordneten Elemente dieser Ressource. Zum Beispiel erfordert das Löschen einer Datenbank die Berechtigung für alle Tabellen und benutzerdefinierten Funktionen in der Datenbank sowie für die Datenbank und den Katalog, in dem sich die Datenbank befindet. Das folgende Beispiel zeigt die Berechtigung zum Löschen der Datenbank PrivateDatabase im Data Catalog.

{ "Sid": "GrantDeleteDatabase", "Effect": "Allow", "Action": [ "glue:DeleteDatabase" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:table/PrivateDatabase/*", "arn:aws:glue:us-east-1:123456789012:userDefinedFunction/PrivateDatabase/*", "arn:aws:glue:us-east-1:123456789012:database/PrivateDatabase", "arn:aws:glue:us-east-1:123456789012:catalog" ] }

Zusammenfassend: Aktionen für Data-Catalog-Ressourcen folgen diesen Berechtigungsregeln:

  • Für Katalogaktionen sind nur Berechtigungen für den Katalog erforderlich.

  • Aktionen in einer Datenbank erfordern eine Berechtigung für die Datenbank und den Katalog.

  • Löschaktionen in einer Datenbank erfordern eine Berechtigung für die Datenbank und den Katalog sowie alle Tabellen und benutzerdefinierten Funktionen in der Datenbank.

  • Aktionen in einer Tabelle, Partition oder Tabellenversion erfordern eine Berechtigung für die Tabelle, die Datenbank und den Katalog.

  • Aktionen für eine benutzerdefinierte Funktion erfordern eine Berechtigung für die benutzerdefinierte Funktion, die Datenbank und den Katalog.

  • Aktionen für eine Verbindung erfordern eine Berechtigung für die Verbindung und den Katalog.

ARNsfür Objekte, die nicht zum Katalog gehören, in AWS Glue

Einige AWS Glue Ressourcen ermöglichen Berechtigungen auf Ressourcenebene, um den Zugriff mithilfe eines zu steuern. ARN Sie können diese ARNs in Ihren IAM Richtlinien verwenden, um eine differenzierte Zugriffskontrolle zu ermöglichen. In der folgenden Tabelle sind die Ressourcen aufgeführt, die Ressourcen enthalten können. ARNs

Ressourcentyp ARNFormat

Crawler

arn:aws:glue:region:account-id:crawler/crawler-name

Zum Beispiel: arn:aws:glue:us-east-1:123456789012:crawler/mycrawler

Aufgabe

arn:aws:glue:region:account-id:job/job-name

Zum Beispiel: arn:aws:glue:us-east-1:123456789012:job/testjob

Auslöser

arn:aws:glue:region:account-id:trigger/trigger-name

Zum Beispiel: arn:aws:glue:us-east-1:123456789012:trigger/sampletrigger

Entwicklungsendpunkt

arn:aws:glue:region:account-id:devEndpoint/development-endpoint-name

Zum Beispiel: arn:aws:glue:us-east-1:123456789012:devEndpoint/temporarydevendpoint

Machine-Learning-Transformation

arn:aws:glue:region:account-id:mlTransform/transform-id

Zum Beispiel: arn:aws:glue:us-east-1:123456789012:mlTransform/tfm-1234567890

Zugriffskontrolle für singuläre Operationen, die AWS Glue nicht im Katalog enthalten API sind

AWS GlueSinguläre API Operationen, die nicht im Katalog enthalten sind, beziehen sich auf ein einzelnes Objekt (Entwicklungsendpunkt). Beispiele sind GetDevEndpoint, CreateUpdateDevEndpoint und UpdateDevEndpoint. Für diese Operationen muss eine Richtlinie den API Namen in den "action" Block und die Ressource ARN in den "resource" Block einfügen.

Angenommen, Sie möchten einem Benutzer erlauben, die Operation GetDevEndpoint aufzurufen. Die folgende Richtlinie gewährt die minimal erforderlichen Berechtigungen für einen Endpunkt namens myDevEndpoint-1.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "MinimumPermissions", "Effect": "Allow", "Action": "glue:GetDevEndpoint", "Resource": "arn:aws:glue:us-east-1:123456789012:devEndpoint/myDevEndpoint-1" } ] }

Die folgende Richtlinie erlaubt UpdateDevEndpoint Zugriff auf Ressourcen, die mit myDevEndpoint- übereinstimmen, mit einem Platzhalter (*).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PermissionWithWildcard", "Effect": "Allow", "Action": "glue:UpdateDevEndpoint", "Resource": "arn:aws:glue:us-east-1:123456789012:devEndpoint/myDevEndpoint-*" } ] }

Sie können die beiden Richtlinien wie im folgenden Beispiel kombinieren. Möglicherweise wird EntityNotFoundException für Entwicklungsendpunkte angezeigt, deren Name mit A beginnt. Allerdings wird ein Zugriffsfehler zurückgegeben, wenn Sie versuchen, auf andere Entwicklungsendpunkte zuzugreifen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CombinedPermissions", "Effect": "Allow", "Action": [ "glue:UpdateDevEndpoint", "glue:GetDevEndpoint" ], "Resource": "arn:aws:glue:us-east-1:123456789012:devEndpoint/A*" } ] }

Zugriffskontrolle für API Vorgänge, die AWS Glue nicht im Katalog enthalten sind und bei denen mehrere Artikel abgerufen werden

Bei einigen AWS Glue API Vorgängen werden mehrere Elemente abgerufen (z. B. mehrere Entwicklungsendpunkte), z. B. GetDevEndpoints Für diesen Vorgang können Sie nur eine Platzhalterressource (*) und keine spezifische Ressource angeben. ARNs

Wenn Sie beispielsweise GetDevEndpoints in die Richtlinie aufnehmen, muss die Ressource auf den Platzhalter (*) angewendet werden. Die einzelnen Operationen (GetDevEndpoint, CreateDevEndpoint und DeleteDevendpoint) werden auch auf alle (*) Ressourcen im Beispiel bezogen.

{ "Sid": "PluralAPIIncluded", "Effect": "Allow", "Action": [ "glue:GetDevEndpoints", "glue:GetDevEndpoint", "glue:CreateDevEndpoint", "glue:UpdateDevEndpoint" ], "Resource": [ "*" ] }

Zugriffskontrolle für Vorgänge, die AWS Glue nicht BatchGet API im Katalog enthalten sind

Bei einigen AWS Glue API Vorgängen werden mehrere Elemente abgerufen (z. B. mehrere Entwicklungsendpunkte), z. B. BatchGetDevEndpoints Für diesen Vorgang können Sie eine angeben, ARN um den Umfang der Ressourcen einzuschränken, auf die zugegriffen werden kann.

Um beispielsweise den Zugriff auf einen bestimmten Entwicklungsendpunkt zu ermöglichen, nehmen Sie ihn zusammen mit der zugehörigen Ressource BatchGetDevEndpoints in die Richtlinie aufARN.

{ "Sid": "BatchGetAPIIncluded", "Effect": "Allow", "Action": [ "glue:BatchGetDevEndpoints" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:devEndpoint/de1" ] }

Mit dieser Richtlinie können Sie erfolgreich auf den Entwicklungsendpunkt mit dem Namen de1 zugreifen. Wenn Sie jedoch versuchen, auf den Entwicklungsendpunkt mit dem Namen de2 zuzugreifen, wird ein Fehler zurückgegeben.

An error occurred (AccessDeniedException) when calling the BatchGetDevEndpoints operation: No access to any requested resource.
Wichtig

Alternative Ansätze zur Festlegung von IAM Richtlinien, wie z. B. Nutzung List und BatchGet API Betrieb, finden Sie unterBeispiele für identitätsbasierte Richtlinien für Glue AWS.