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.
Themen
- Datenkatalog ARNs
- ARNsfür Objekte, die nicht zum Katalog gehören, in AWS Glue
- Zugriffskontrolle für singuläre Operationen, die AWS Glue nicht im Katalog enthalten API sind
- Zugriffskontrolle für API Vorgänge, die AWS Glue nicht im Katalog enthalten sind und bei denen mehrere Artikel abgerufen werden
- Zugriffskontrolle für Vorgänge, die AWS Glue nicht BatchGet API im Katalog enthalten sind
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 |
Zum Beispiel: |
Datenbank |
Zum Beispiel: |
Tabelle |
Zum Beispiel: |
Benutzerdefinierte Funktion |
Zum Beispiel: |
Verbindung |
Zum Beispiel: |
Interactive Session |
Zum Beispiel: |
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 |
Zum Beispiel: |
Aufgabe |
Zum Beispiel: |
Auslöser |
Zum Beispiel: |
Entwicklungsendpunkt |
Zum Beispiel: |
Machine-Learning-Transformation |
Zum Beispiel: |
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 AWS Glue.