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.
Angeben von AWS Glue Ressourcen-ARN
In AWS Glue können Sie den Zugriff auf Ressourcen mithilfe einer AWS Identity and Access Management-Richtlinie (IAM) steuern. In einer Richtlinie identifizieren Sie die Ressource, für welche die Richtlinie gilt, mithilfe eines Amazon-Ressourcennamens (ARN). Nicht alle Ressourcen in AWS Glue unterstützen ARN.
Themen
- Data-Catalog-ARNs
- ARNs für nicht katalogisierte Objekte in AWS Glue
- Zugriffskontrolle für nicht katalogisierte singuläre AWS Glue-API-Operationen
- Zugriffskontrolle für nichtt katalogisierte AWS Glue-API-Operationen, die mehrere Elemente abrufen
- Zugriffskontrolle für nicht katalogisierte AWS Glue-Batch-Get-API-Operationen
Data-Catalog-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 Data Catalog in einer AWS-Region mit der 12-stelligen Konto-ID als Katalog-ID. Den Ressourcen sind eindeutige ARNs zugeordnet, die in der folgenden Tabelle aufgeführt werden.
Ressourcentyp | ARN-Format |
---|---|
Katalog |
Beispiel: |
Datenbank |
Beispiel: |
Tabelle |
Beispiel: |
Benutzerdefinierte Funktion |
Beispiel: |
Verbindung |
Beispiel: |
Interactive Session |
Beispiel: |
Um eine fein abgestufte Zugriffskontrolle zu ermöglichen, können Sie diesen ARN in Ihren IAM-Richtlinien und Ressourcenrichtlinien zur Gewährung und Verweigerung des Zugangs zu bestimmten Ressourcen verwenden. Platzhalter sind in den Richtlinien zulässig. Der folgende ARN stimmt beispielsweise mit allen Tabellen in der Datenbank default
überein.
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.
ARNs für nicht katalogisierte Objekte in AWS Glue
Einige AWS Glue-Ressourcen ermöglichen Zugriffsrechte auf Ressourcenebene, um den Zugriff über einen ARN zu steuern. Sie können diese ARN in Ihren IAM-Richtlinien verwenden, um eine fein abgestimmte Zugriffskontrolle zu ermöglichen. Die folgende Tabelle listet die Ressourcen auf, die Ressourcen-ARN enthalten können.
Ressourcentyp | ARN-Format |
---|---|
Crawler |
Beispiel: |
Aufgabe |
Beispiel: |
Auslöser |
Beispiel: |
Entwicklungsendpunkt |
Beispiel: |
Machine-Learning-Transformation |
Beispiel: |
Zugriffskontrolle für nicht katalogisierte singuläre AWS Glue-API-Operationen
Nicht katalogisierte singuläre AWS Glue-API-Operationen wirken auf ein einzelnes Element (Entwicklungsendpunkt). Beispiele sind GetDevEndpoint
, CreateUpdateDevEndpoint
und UpdateDevEndpoint
. Für diese Operationen muss eine Richtlinie den API-Namen in den Block "action"
und den Ressourcen-ARN in den Block "resource"
setzen.
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 nichtt katalogisierte AWS Glue-API-Operationen, die mehrere Elemente abrufen
Einige AWS Glue-API-Operationen rufen mehrere Elemente ab (z. B. mehrere Entwicklungsendpunkte), z. B. GetDevEndpoints
. Für diesen Vorgang können Sie nur eine Platzhalterressource (*) und keine bestimmten ARNs angeben.
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 nicht katalogisierte AWS Glue-Batch-Get-API-Operationen
Einige AWS Glue-API-Operationen rufen mehrere Elemente ab (z. B. mehrere Entwicklungsendpunkte), z. B. BatchGetDevEndpoints
. Für diese Operation können Sie einen ARN angeben, um den Umfang der Ressourcen einzuschränken, auf die zugegriffen werden kann.
Um beispielsweise den Zugriff auf einen bestimmten Entwicklungsendpunkt zu gewähren, fügen Sie in die Richtlinie mit dem zugehörigen Ressourcen-ARN BatchGetDevEndpoints
ein.
{ "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 zum Einrichten von IAM-Richtlinien, wie z. B. die Verwendung der API-Operationen List
und BatchGet
, finden Sie unter Beispiele für identitätsbasierte Richtlinien für AWS Glue.