Esempi di politiche per gruppi di lavoro - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di politiche per gruppi di lavoro

Questa sezione include policy di esempio che puoi utilizzare per abilitare varie operazioni sui gruppi di lavoro. Ogni volta che utilizzi IAM le politiche, assicurati di seguire le IAM migliori pratiche. Per ulteriori informazioni, consulta le migliori pratiche di sicurezza IAM nella Guida IAM per l'utente.

Un gruppo di lavoro è una IAM risorsa gestita da Athena. Pertanto, se la politica del gruppo di lavoro utilizza azioni che prendono workgroup come input, è necessario specificare quelle del gruppo di lavoro nel modo seguente: ARN

"Resource": [arn:aws:athena:<region>:<user-account>:workgroup/<workgroup-name>]

Dove <workgroup-name> è il nome del gruppo di lavoro. Ad esempio, per un gruppo di lavoro denominato test_workgroup, deve essere specificato come risorsa nel modo seguente:

"Resource": ["arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"]

Per un elenco completo delle azioni di Amazon Athena, consulta i nomi delle azioni in Amazon API API Athena Reference. Per ulteriori informazioni sulle IAM politiche, consulta Creazione di politiche con l'editor visivo nella Guida per l'IAMutente. Per ulteriori informazioni sulla creazione di IAM politiche per i gruppi di lavoro, consultaUsa IAM le policy per controllare l'accesso ai gruppi di lavoro.

Esempio di policy per l'accesso completo a tutti i gruppi di lavoro

La policy seguente consente l'accesso completo a tutte le risorse gruppo di lavoro che potrebbero essere presenti nell'account. È consigliabile utilizzare questa policy per gli utenti nell'account che devono amministrare e gestire gruppi di lavoro per tutti gli altri utenti.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:*" ], "Resource": [ "*" ] } ] }
Esempio di policy per l'accesso completo a un determinato gruppo di lavoro

La policy seguente consente l'accesso completo a una specifica risorsa gruppo di lavoro denominata workgroupA. È possibile usare questa policy per gli utenti con controllo completo su un determinato gruppo di lavoro.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListEngineVersions", "athena:ListWorkGroups", "athena:ListDataCatalogs", "athena:ListDatabases", "athena:GetDatabase", "athena:ListTableMetadata", "athena:GetTableMetadata" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "athena:BatchGetQueryExecution", "athena:GetQueryExecution", "athena:ListQueryExecutions", "athena:StartQueryExecution", "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" ] }, { "Effect": "Allow", "Action": [ "athena:DeleteWorkGroup", "athena:UpdateWorkGroup", "athena:GetWorkGroup", "athena:CreateWorkGroup" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA" ] } ] }
Esempio di policy per l'esecuzione di query in un determinato gruppo di lavoro

Nella policy seguente, a un utente è consentito eseguire query nel gruppo workgroupA specificato e visualizzarle. All'utente non è consentito eseguire attività di gestione per il gruppo di lavoro, ad esempio l'aggiornamento o l'eliminazione. Tieni presente che la politica di esempio non limita gli utenti solo a questo gruppo di lavoro né nega l'accesso ad altri gruppi di lavoro.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListEngineVersions", "athena:ListWorkGroups", "athena:ListDataCatalogs", "athena:ListDatabases", "athena:GetDatabase", "athena:ListTableMetadata", "athena:GetTableMetadata" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "athena:GetWorkGroup", "athena:BatchGetQueryExecution", "athena:GetQueryExecution", "athena:ListQueryExecutions", "athena:StartQueryExecution", "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" ] } ] }
Esempio di policy per l'esecuzione di query nel gruppo di lavoro principale

È possibile modificare l'esempio precedente per consentire a un determinato utente di eseguire query anche nel gruppo di lavoro principale.

Nota

È consigliabile aggiungere la risorsa principale dei gruppi di lavoro a tutti gli utenti, che altrimenti sono configurati per l'esecuzione di query nei rispettivi gruppi di lavoro designati. L'aggiunta di questa risorsa alle policy degli utenti del gruppo di lavoro è utile in caso di eliminazione o disabilitazione dei rispettivi gruppi di lavoro designati. In questo caso, possono continuare a eseguire query nel gruppo di lavoro principale.

Per consentire agli utenti del tuo account di eseguire query nel gruppo di lavoro principale, aggiungi una riga che contiene il gruppo ARN di lavoro principale alla sezione delle risorse diExample policy for running queries in a specified workgroup, come nell'esempio seguente.

arn:aws:athena:us-east-1:123456789012:workgroup/primary"
Esempio di policy per le operazioni di gestione in un determinato gruppo di lavoro

Nel policy seguente, un utente può creare, eliminare, ottenere i dettagli e aggiornare un gruppo di lavoro test_workgroup.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListEngineVersions" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "athena:CreateWorkGroup", "athena:GetWorkGroup", "athena:DeleteWorkGroup", "athena:UpdateWorkGroup" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup" ] } ] }
Esempio di policy per elencare i gruppi di lavoro

La policy seguente consente a tutti gli utenti per elencare tutti i gruppi di lavoro:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListWorkGroups" ], "Resource": "*" } ] }
Esempio di policy per l'esecuzione e l'interruzione di query in un determinato gruppo di lavoro

In questa policy, a un utente è consentito eseguire query nel gruppo di lavoro:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:StartQueryExecution", "athena:StopQueryExecution" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup" ] } ] }
Esempio di policy per l'utilizzo delle query denominate in un determinato gruppo di lavoro

Nel seguente policy, un utente dispone delle autorizzazioni per creare, eliminare e ottenere informazioni sulle query denominate nel gruppo di lavoro specificato:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:CreateNamedQuery", "athena:GetNamedQuery", "athena:DeleteNamedQuery" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup" ] } ] }
Esempio di policy per l'utilizzo dei notebook Spark in Athena

Utilizza una policy come la seguente per lavorare con i notebook Spark in Athena.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreatingWorkGroupWithDefaults", "Action": [ "athena:CreateWorkGroup", "s3:CreateBucket", "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "s3:GetBucketLocation", "athena:ImportNotebook" ], "Effect": "Allow", "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/Demo*", "arn:aws:s3:::123456789012-us-east-1-athena-results-bucket-*", "arn:aws:iam::123456789012:role/service-role/AWSAthenaSparkExecutionRole-*", "arn:aws:iam::123456789012:policy/service-role/AWSAthenaSparkRolePolicy-*" ] }, { "Sid": "AllowRunningCalculations", "Action": [ "athena:ListWorkGroups", "athena:GetWorkGroup", "athena:StartSession", "athena:CreateNotebook", "athena:ListNotebookMetadata", "athena:ListNotebookSessions", "athena:GetSessionStatus", "athena:GetSession", "athena:GetNotebookMetadata", "athena:CreatePresignedNotebookUrl" ], "Effect": "Allow", "Resource": "arn:aws:athena:us-east-1:123456789012:workgroup/Demo*" }, { "Sid": "AllowListWorkGroupAndEngineVersions", "Action": [ "athena:ListWorkGroups", "athena:ListEngineVersions" ], "Effect": "Allow", "Resource": "*" } ] }