Kebijakan kontrol akses IAM berbasis tag - Amazon Athena

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kebijakan kontrol akses IAM berbasis tag

Memiliki tag memungkinkan Anda untuk menulis kebijakan IAM yang mencakupConditionblok untuk mengontrol akses ke sumber daya berdasarkan tag-nya.

Contoh kebijakan tag untuk kelompok kerja

contoh 1. kebijakan penandaan dasar

Kebijakan IAM berikut memungkinkan Anda menjalankan kueri dan berinteraksi dengan tag untuk grup kerja bernamaworkgroupA:

{ "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" } ] }
contoh 2: Blok kebijakan yang menolak tindakan pada grup kerja berdasarkan kunci tag dan pasangan nilai tag

Tag yang terkait dengan sumber daya seperti workgroup disebut sebagai tag sumber daya. Tag sumber daya memungkinkan Anda menulis blok kebijakan seperti berikut ini yang menolak tindakan yang tercantum pada grup kerja apa pun yang ditandai dengan pasangan kunci-nilai sepertistack,production.

{ "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" } } } ] }
contoh 3. blok kebijakan yang membatasi permintaan aksi pengubahan tag ke tag tertentu

Tag yang diteruskan sebagai parameter ke operasi yang mengubah tag (misalnya,TagResource,UntagResource, atauCreateWorkGroupdengan tag) disebut sebagai tag permintaan. Berikut blok kebijakan contoh memungkinkanCreateWorkGroupoperasi hanya jika salah satu tag berlalu memiliki kuncicostcenterdan nilainya1,2, atau3.

catatan

Jika Anda ingin mengizinkan peran IAM untuk meneruskan tag sebagai bagian dariCreateWorkGroupoperasi, pastikan Anda memberikan izin peran keTagResourcedanCreateWorkGrouptindakan.

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

Contoh kebijakan tag untuk katalog data

contoh 1. kebijakan penandaan dasar

Kebijakan IAM berikut ini memungkinkan Anda berinteraksi dengan tag untuk katalog data bernamadatacatalogA:

{ "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" } ] }
contoh 2: Pemblokiran kebijakan yang menolak tindakan pada Katalog Data berdasarkan kunci tag dan pasangan nilai tag

Anda dapat menggunakan tag sumber daya untuk menulis blok kebijakan yang menolak tindakan tertentu pada katalog data yang ditandai dengan pasangan kunci-nilai tag tertentu. Kebijakan contoh berikut menolak tindakan pada katalog data yang memiliki pasangan nilai kunci tagstack,production.

{ "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" } } } ] }
contoh 3. blok kebijakan yang membatasi permintaan aksi pengubahan tag ke tag tertentu

Tag yang diteruskan sebagai parameter ke operasi yang mengubah tag (misalnya,TagResource,UntagResource, atauCreateDataCatalogdengan tag) disebut sebagai tag permintaan. Berikut blok kebijakan contoh memungkinkanCreateDataCatalogoperasi hanya jika salah satu tag berlalu memiliki kuncicostcenterdan nilainya1,2, atau3.

catatan

Jika Anda ingin mengizinkan peran IAM untuk meneruskan tag sebagai bagian dariCreateDataCatalogoperasi, pastikan Anda memberikan izin peran keTagResourcedanCreateDataCatalogtindakan.

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