Verwenden Sie IAM Tag-basierte Zugriffskontrollrichtlinien - Amazon Athena

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.

Verwenden Sie IAM Tag-basierte Zugriffskontrollrichtlinien

Wenn Sie über Tags verfügen, können Sie eine IAM Richtlinie schreiben, die den Condition Block zur Steuerung des Zugriffs auf eine Ressource anhand ihrer Tags enthält. Dieser Abschnitt enthält Beispiele für Tag-Richtlinien für Arbeitsgruppen- und Datenkatalogressourcen.

Tag-Richtlinienbeispiele für Arbeitsgruppen

Die folgende IAM Richtlinie ermöglicht es Ihnen, Abfragen auszuführen und mit Tags für die angegebene Arbeitsgruppe zu interagieren: workgroupA

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListWorkGroups", "athena:ListEngineVersions", "athena:ListDataCatalogs", "athena:ListDatabases", "athena:GetDatabase", "athena:ListTableMetadata", "athena:GetTableMetadata" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "athena:GetWorkGroup", "athena:TagResource", "athena:UntagResource", "athena:ListTagsForResource", "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:BatchGetQueryExecution", "athena:ListQueryExecutions", "athena:StopQueryExecution", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:CreateNamedQuery", "athena:GetNamedQuery", "athena:BatchGetNamedQuery", "athena:ListNamedQueries", "athena:DeleteNamedQuery", "athena:CreatePreparedStatement", "athena:GetPreparedStatement", "athena:ListPreparedStatements", "athena:UpdatePreparedStatement", "athena:DeletePreparedStatement" ], "Resource": "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA" } ] }

Tags, die einer bestehenden Ressource, beispielsweise einer Arbeitsgruppe, zugeordnet sind, werden als Ressourcen-Tags bezeichnet. Mit Ressourcen-Tags können Sie Richtlinienblöcke wie die folgenden schreiben, die die aufgelisteten Aktionen für jede Arbeitsgruppe ablehnen, die mit einem Schlüssel-Wert-Paar wie stack, production gekennzeichnet sind.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "athena:GetWorkGroup", "athena:UpdateWorkGroup", "athena:DeleteWorkGroup", "athena:TagResource", "athena:UntagResource", "athena:ListTagsForResource", "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:BatchGetQueryExecution", "athena:ListQueryExecutions", "athena:StopQueryExecution", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:CreateNamedQuery", "athena:GetNamedQuery", "athena:BatchGetNamedQuery", "athena:ListNamedQueries", "athena:DeleteNamedQuery", "athena:CreatePreparedStatement", "athena:GetPreparedStatement", "athena:ListPreparedStatements", "athena:UpdatePreparedStatement", "athena:DeletePreparedStatement" ], "Resource": "arn:aws:athena:us-east-1:123456789012:workgroup/*", "Condition": { "StringEquals": { "aws:ResourceTag/stack": "production" } } } ] }

Tags, die als Parameter an Operationen übergeben werden, die Tags ändern (z. B. TagResource, UntagResource oder CreateWorkGroup mit Tags) werden als Anforderungs-Tags bezeichnet. Der folgende Beispielrichtlinienblock erlaubt die CreateWorkGroup-Operation nur, wenn eines der übergebenen Tags den Schlüssel costcenter und den Wert 1, 2 oder 3 hat.

Anmerkung

Wenn Sie einer IAM Rolle erlauben möchten, Tags als Teil eines CreateWorkGroup Vorgangs zu übergeben, stellen Sie sicher, dass Sie der Rolle Berechtigungen für die Aktionen und geben. TagResource CreateWorkGroup

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:CreateWorkGroup", "athena:TagResource" ], "Resource": "arn:aws:athena:us-east-1:123456789012:workgroup/*", "Condition": { "StringEquals": { "aws:RequestTag/costcenter": [ "1", "2", "3" ] } } } ] }

Tag-Richtlinienbeispiele für Datenkataloge

Die folgende IAM Richtlinie ermöglicht es Ihnen, mit Tags für den genannten datacatalogA Datenkatalog zu interagieren:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListWorkGroups", "athena:ListEngineVersions", "athena:ListDataCatalogs", "athena:ListDatabases", "athena:GetDatabase", "athena:ListTableMetadata", "athena:GetTableMetadata" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "athena:GetWorkGroup", "athena:TagResource", "athena:UntagResource", "athena:ListTagsForResource", "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:BatchGetQueryExecution", "athena:ListQueryExecutions", "athena:StopQueryExecution", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:CreateNamedQuery", "athena:GetNamedQuery", "athena:BatchGetNamedQuery", "athena:ListNamedQueries", "athena:DeleteNamedQuery" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/*" ] }, { "Effect": "Allow", "Action": [ "athena:CreateDataCatalog", "athena:GetDataCatalog", "athena:UpdateDataCatalog", "athena:DeleteDataCatalog", "athena:ListDatabases", "athena:GetDatabase", "athena:ListTableMetadata", "athena:GetTableMetadata", "athena:TagResource", "athena:UntagResource", "athena:ListTagsForResource" ], "Resource": "arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA" } ] }

Sie können Ressourcen-Tags verwenden, um Richtlinienblöcke zu schreiben, die bestimmte Aktionen in Datenkatalogen verweigern, die mit bestimmten Tag-Schlüssel-Wert-Paaren markiert sind. In der folgenden Beispielrichtlinie werden Aktionen für Datenkataloge verweigert, die das Tag-Schlüssel-Wert-Paar stack, production haben.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "athena:CreateDataCatalog", "athena:GetDataCatalog", "athena:UpdateDataCatalog", "athena:DeleteDataCatalog", "athena:GetDatabase", "athena:ListDatabases", "athena:GetTableMetadata", "athena:ListTableMetadata", "athena:StartQueryExecution", "athena:TagResource", "athena:UntagResource", "athena:ListTagsForResource" ], "Resource": "arn:aws:athena:us-east-1:123456789012:datacatalog/*", "Condition": { "StringEquals": { "aws:ResourceTag/stack": "production" } } } ] }

Tags, die als Parameter an Operationen übergeben werden, die Tags ändern (z. B. TagResource, UntagResource oder CreateDataCatalog mit Tags) werden als Anforderungs-Tags bezeichnet. Der folgende Beispielrichtlinienblock erlaubt die CreateDataCatalog-Operation nur, wenn eines der übergebenen Tags den Schlüssel costcenter und den Wert 1, 2 oder 3 hat.

Anmerkung

Wenn Sie einer IAM Rolle erlauben möchten, Tags als Teil eines CreateDataCatalog Vorgangs zu übergeben, stellen Sie sicher, dass Sie der Rolle Berechtigungen für die Aktionen und geben. TagResource CreateDataCatalog

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:CreateDataCatalog", "athena:TagResource" ], "Resource": "arn:aws:athena:us-east-1:123456789012:datacatalog/*", "Condition": { "StringEquals": { "aws:RequestTag/costcenter": [ "1", "2", "3" ] } } } ] }