Tagbasierte IAM-Zugriffssteuerungsrichtlinien - 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.

Tagbasierte IAM-Zugriffssteuerungsrichtlinien

Mit Tags können Sie eine IAM-Richtlinie schreiben, die den Condition-Block enthält, um den Zugriff auf eine Ressource basierend auf ihren Tags zu steuern.

Tag-Richtlinienbeispiele für Arbeitsgruppen

Beispiel 1. Grundlegende Markierungsrichtlinie

Die folgende IAM-Richtlinie ermöglicht Ihnen das Ausführen von Abfragen und die Interaktion mit Tags für die Arbeitsgruppe mit dem Namen 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" } ] }
Beispiel 2: Richtlinienblock, der Aktionen auf einer Arbeitsgruppe auf der Grundlage eines Tagschlüssel-/Tagwert-Paares verweigert

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" } } } ] }
Beispiel 3. Richtlinienblock, der Tags ändernde Aktionsanfragen auf die angegebenen Tags beschränkt

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 zulassen möchten, dass eine IAM-Rolle Tags als Teil einer CreateWorkGroup-Operation weitergibt, stellen Sie sicher, dass Sie der Rolle Berechtigungen für die TagResource- und CreateWorkGroup-Aktionen erteilen.

{ "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

Beispiel 1. Grundlegende Markierungsrichtlinie

Mit der folgenden IAM-Richtlinie können Sie mit Tags für den Datenkatalog mit dem Namen datacatalogA 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" } ] }
Beispiel 2: Richtlinienblock, der Aktionen in einem Datenkatalog auf der Grundlage eines Tag-Schlüssel-/Tag-Wert-Paares verweigert

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" } } } ] }
Beispiel 3. Richtlinienblock, der Tags ändernde Aktionsanfragen auf die angegebenen Tags beschränkt

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 zulassen möchten, dass eine IAM-Rolle Tags als Teil einer CreateDataCatalog-Operation weitergibt, stellen Sie sicher, dass Sie der Rolle Berechtigungen für die TagResource- und CreateDataCatalog-Aktionen erteilen.

{ "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" ] } } } ] }