Fase 3: Collegamento di una policy agli utenti o ai gruppi che accedono a AWS Glue - AWS Aderenza

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à.

Fase 3: Collegamento di una policy agli utenti o ai gruppi che accedono a AWS Glue

L'amministratore deve assegnare le autorizzazioni a qualsiasi utente, gruppo o ruolo utilizzando la console AWS Glue o la AWS Command Line Interface (AWS CLI). Puoi fornire queste autorizzazioni usando AWS Identity and Access Management (IAM), tramite le policy. Questa fase descrive l'assegnazione di autorizzazioni a utenti o gruppi.

Una volta completata questa fase, all'utente o al gruppo sono collegate le policy seguenti:

  • La policy gestita da AWS AWSGlueConsoleFullAccess o la policy personalizzata GlueConsoleAccessPolicy

  • AWSGlueConsoleSageMakerNotebookFullAccess

  • CloudWatchLogsReadOnlyAccess

  • AWSCloudFormationReadOnlyAccess

  • AmazonAthenaFullAccess

Per collegare una policy inline e incorporarla in un utente o in un gruppo

Puoi collegare una policy gestita da AWS o una policy inline a un utente o a un gruppo per accedere alla console AWS Glue. Alcune delle risorse specificate nella policy fanno riferimento a nomi predefiniti usati da AWS Glue per i bucket Amazon S3, gli script ETL Amazon S3, le voci di CloudWatch Logs, AWS CloudFormation e le risorse Amazon EC2. Per semplicità, AWS Glue scrive alcuni oggetti Amazon S3 nei bucket nell'account con il prefisso aws-glue-* per impostazione predefinita.

Nota

Puoi ignorare questa fase se usi la policy gestita da AWS AWSGlueConsoleFullAccess.

Importante

AWS Glue richiede l'autorizzazione per assumere un ruolo usato per eseguire il lavoro per tuo conto. A tale scopo, aggiungi le autorizzazioni iam:PassRole agli utenti o ai gruppi AWS Glue. Questa policy concede l'autorizzazione ai ruoli che iniziano con AWSGlueServiceRole per i ruoli di servizio AWS Glue e AWSGlueServiceNotebookRole per i ruoli necessari al momento della creazione di un server notebook. Puoi anche creare una policy per le autorizzazioni iam:PassRole che segue la convenzione per la denominazione.

In base alle best practice di sicurezza, si consiglia di limitare l'accesso rafforzando le policy per limitare ulteriormente l'accesso al bucket Amazon S3 e ai gruppi di log Amazon CloudWatch. Per un esempio di policy Amazon S3, consulta la pagina relativa alla scrittura di policy IAM per concedere l'accesso a un bucket Amazon S3.

In questa fase, crei una policy simile a AWSGlueConsoleFullAccess. Puoi trovare la versione più recente di AWSGlueConsoleFullAccess nella console IAM.

  1. Accedi alla AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, scegli Utenti o Gruppi di utenti.

  3. Nell'elenco, scegli il nome dell'utente o del gruppo in cui integrare una policy.

  4. Scegliere la scheda Permissions (Autorizzazioni) e, se necessario, espandere la sezione Permissions policies (Policy autorizzazioni).

  5. Scegli il collegamento Add Inline policy (Aggiungi policy inline).

  6. Nella schermata Create Policy (Crea policy), passa alla scheda per modificare JSON. Crea un documento di policy con le seguenti istruzioni JSON, quindi scegli Review policy (Verifica policy).

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:*", "redshift:DescribeClusters", "redshift:DescribeClusterSubnetGroups", "iam:ListRoles", "iam:ListUsers", "iam:ListGroups", "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeVpcEndpoints", "ec2:DescribeRouteTables", "ec2:DescribeVpcAttribute", "ec2:DescribeKeyPairs", "ec2:DescribeInstances", "rds:DescribeDBInstances", "rds:DescribeDBClusters", "rds:DescribeDBSubnetGroups", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation", "cloudformation:DescribeStacks", "cloudformation:GetTemplateSummary", "dynamodb:ListTables", "kms:ListAliases", "kms:DescribeKey", "cloudwatch:GetMetricData", "cloudwatch:ListDashboards" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::*/*aws-glue-*/*", "arn:aws:s3:::aws-glue-*" ] }, { "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPublicAccessBlock" ], "Resource": [ "arn:aws:s3:::aws-glue-*" ] }, { "Effect": "Allow", "Action": [ "logs:GetLogEvents" ], "Resource": [ "arn:aws:logs:*:*:/aws-glue/*" ] }, { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack" ], "Resource": "arn:aws:cloudformation:*:*:stack/aws-glue*/*" }, { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:image/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/AWSGlueServiceRole*", "Condition": { "StringLike": { "iam:PassedToService": [ "glue.amazonaws.com" ] } } }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/AWSGlueServiceNotebookRole*", "Condition": { "StringLike": { "iam:PassedToService": [ "ec2.amazonaws.com" ] } } }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:iam::*:role/service-role/AWSGlueServiceRole*" ], "Condition": { "StringLike": { "iam:PassedToService": [ "glue.amazonaws.com" ] } } } ] }

    La tabella seguente descrive le autorizzazioni concesse dalla policy.

    Action Resource (Risorsa) Descrizione

    "glue:*"

    "*"

    Concede l'autorizzazione per eseguire tutte le operazioni API AWS Glue.

    Se in precedenza la policy è stata creata senza l'operazione "glue:*", è necessario aggiungere le seguenti autorizzazioni individuali alla policy:

    • "glue:ListCrawlers"

    • "glue:BatchGetCrawlers"

    • "glue:ListTriggers"

    • "glue:BatchGetTriggers"

    • "glue:ListDevEndpoints"

    • "glue:BatchGetDevEndpoints"

    • "glue:ListJobs"

    • "glue:BatchGetJobs"

    "redshift:DescribeClusters", "redshift:DescribeClusterSubnetGroups"

    "*"

    Permette la creazione di connessioni ad Amazon Redshift.

    "iam:ListRoles", "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies"

    "*"

    Consente l'elenco dei ruoli IAM quando si utilizzano crawler, processi, endpoint di sviluppo e server notebook.

    "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeVpcEndpoints", "ec2:DescribeRouteTables", "ec2:DescribeVpcAttribute", "ec2:DescribeKeyPairs", "ec2:DescribeInstances"

    "*"

    Permette la configurazione degli elementi di rete Amazon EC2, ad esempio i VPC, quando vengono eseguiti processi, crawler ed endpoint di sviluppo.

    "rds:DescribeDBInstances"

    "*"

    Consente la creazione di connessioni ad Amazon RDS.

    "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation"

    "*"

    Permette di elencare i bucket Amazon S3 quando vengono usati crawler, processi, endpoint di sviluppo e server notebook.

    "dynamodb:ListTables"

    "*"

    Permette di elencare tabelle DynamoDB.

    "kms:ListAliases", "kms:DescribeKey"

    "*"

    Permette di usare le chiavi KMS.

    "cloudwatch:GetMetricData", "cloudwatch:ListDashboards"

    "*"

    Permette di usare i parametri CloudWatch.

    "s3:GetObject", "s3:PutObject"

    "arn:aws:s3::: aws-glue-*/*", "arn:aws:s3::: */*aws-glue-*/*", "arn:aws:s3::: aws-glue-*"

    Permette di ottenere e inserire oggetti Amazon S3 nell'account quando vengono archiviati oggetti come script ETL e posizioni dei server notebook.

    Convenzione per la denominazione: concede l'autorizzazione alle cartelle o ai bucket Amazon S3 i cui nomi hanno il prefisso aws-glue-.

    "tag:GetResources"

    "*"

    Consente il recupero di tag AWS.

    "s3:CreateBucket", "s3:PutBucketPublicAccessBlock"

    "arn:aws:s3::: aws-glue-*"

    Permette di creare un bucket Amazon S3 nell'account quando vengono archiviati oggetti come script ETL e posizioni dei server notebook.

    Convenzione per la denominazione: concede l'autorizzazione alle cartelle o ai bucket Amazon S3 i cui nomi hanno il prefisso aws-glue-.

    Consente ad AWS Glue di creare i bucket che bloccano l'accesso pubblico.

    "logs:GetLogEvents"

    "arn:aws:logs:*:*: /aws-glue/*"

    Consente il recupero di CloudWatch Logs.

    Convenzione di denominazione: AWS Glue scrive i log in gruppi di log i cui nomi iniziano con aws-glue-.

    "cloudformation:CreateStack", "cloudformation:DeleteStack"

    "arn:aws:cloudformation:*:*:stack/ aws-glue*/*"

    Permette la gestione di stack AWS CloudFormation quando vengono usati server notebook.

    Convenzione di denominazione: AWS Glue crea stack i cui nomi iniziano con aws-glue.

    "ec2:RunInstances"

    "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:image/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:volume/*"

    Consente l'esecuzione di endpoint di sviluppo e server notebook.

    "iam:PassRole"

    "arn:aws:iam::*:role/ AWSGlueServiceRole*"

    Permette a AWS Glue di usare l'autorizzazione PassRole per i ruoli che iniziano con AWSGlueServiceRole.

    "iam:PassRole"

    "arn:aws:iam::*:role/ AWSGlueServiceNotebookRole*"

    Permette ad Amazon EC2 di usare l'autorizzazione PassRole per i ruoli che iniziano con AWSGlueServiceNotebookRole.

    "iam:PassRole"

    "arn:aws:iam::*:role/service-role/ AWSGlueServiceRole*"

    Permette a AWS Glue di usare l'autorizzazione PassRole per i ruoli che iniziano con service-role/AWSGlueServiceRole.

  7. Nella schermata Review policy (Esamina policy), immettere il nome della policy, ad esempio GlueConsoleAccessPolicy. Al termine, scegliere Create policy (Crea policy). Assicurati che non siano presenti errori in una casella rossa nella parte superiore dello schermo. Correggi gli eventuali errori segnalati.

    Nota

    Se Use autoformatting (Usa formattazione automatica) è selezionato, la policy viene riformattata ogni volta che pari una policy oppure scegli Validate Policy (Convalida policy).

Per collegare la policy gestita AWSGlueConsoleFullAccess

Puoi collegare la policy AWSGlueConsoleFullAccess per fornire le autorizzazioni necessarie all'utente della console AWS Glue.

Nota

Puoi ignorare questa fase se hai creato una policy personalizzata per l'accesso alla console AWS Glue.

  1. Accedi alla AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, seleziona Policies (Policy).

  3. Nell'elenco delle policy, seleziona la casella di controllo accanto a AWSGlueConsoleFullAccess. Puoi usare il menu Filter (Filtro) e la casella di ricerca per filtrare l'elenco di policy.

  4. Scegli Policy actions (Operazioni di policy), quindi Attach (Collega).

  5. Sceglie l'utente a cui collegare la policy. Puoi usare il menu Filter (Filtro) e la casella di ricerca per filtrare l'elenco delle entità principali. Dopo aver scelto l'utente a cui collegare la policy, scegli Attach policy (Collega policy).

Per collegare la policy gestita AWSGlueConsoleSageMakerNotebookFullAccess.

Puoi collegare la policy AWSGlueConsoleSageMakerNotebookFullAccess a un utente per gestire i notebook SageMaker creati nella console AWS Glue. Oltre alle altre richieste di autorizzazioni della console AWS Glue, questa policy concede l'accesso alle risorse necessarie per gestire i notebook SageMaker .

  1. Accedi alla AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, seleziona Policies (Policy).

  3. Nell'elenco delle policy, seleziona la casella di controllo accanto ad AWSGlueConsoleSageMakerNotebookFullAccess. Puoi usare il menu Filter (Filtro) e la casella di ricerca per filtrare l'elenco di policy.

  4. Scegli Policy actions (Operazioni di policy), quindi Attach (Collega).

  5. Sceglie l'utente a cui collegare la policy. Puoi usare il menu Filter (Filtro) e la casella di ricerca per filtrare l'elenco delle entità principali. Dopo aver scelto l'utente a cui collegare la policy, scegli Attach policy (Collega policy).

Per collegare la policy gestita CloudWatchLogsReadOnlyAccess

Puoi collegare la policy CloudWatchLogsReadOnlyAccess a un utente per visualizzare i log creati da AWS Glue nella console CloudWatch Logs.

  1. Accedi alla AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, seleziona Policies (Policy).

  3. Nell'elenco delle policy, seleziona la casella di controllo accanto a CloudWatchLogsReadOnlyAccess. Puoi usare il menu Filter (Filtro) e la casella di ricerca per filtrare l'elenco di policy.

  4. Scegli Policy actions (Operazioni di policy), quindi Attach (Collega).

  5. Sceglie l'utente a cui collegare la policy. Puoi usare il menu Filter (Filtro) e la casella di ricerca per filtrare l'elenco delle entità principali. Dopo aver scelto l'utente a cui collegare la policy, scegli Attach policy (Collega policy).

Per collegare la policy gestita AWSCloudFormationReadOnlyAccess

Puoi collegare la policy AWSCloudFormationReadOnlyAccess a un utente per visualizzare gli stack AWS CloudFormation usati da AWS Glue nella console AWS CloudFormation.

  1. Accedi alla AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, seleziona Policies (Policy).

  3. Nell'elenco delle policy, seleziona la casella di controllo accanto a AWSCloudFormationReadOnlyAccess. Puoi usare il menu Filter (Filtro) e la casella di ricerca per filtrare l'elenco di policy.

  4. Scegli Policy actions (Operazioni di policy), quindi Attach (Collega).

  5. Sceglie l'utente a cui collegare la policy. Puoi usare il menu Filter (Filtro) e la casella di ricerca per filtrare l'elenco delle entità principali. Dopo aver scelto l'utente a cui collegare la policy, scegli Attach policy (Collega policy).

Per collegare la policy gestita AmazonAthenaFullAccess

Puoi collegare la policy AmazonAthenaFullAccess a un utente per visualizzare i dati Amazon S3 nella console Athena.

  1. Accedi alla AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, seleziona Policies (Policy).

  3. Nell'elenco delle policy, seleziona la casella di controllo accanto a AmazonAthenaFullAccess. Puoi usare il menu Filter (Filtro) e la casella di ricerca per filtrare l'elenco di policy.

  4. Scegli Policy actions (Operazioni di policy), quindi Attach (Collega).

  5. Sceglie l'utente a cui collegare la policy. Puoi usare il menu Filter (Filtro) e la casella di ricerca per filtrare l'elenco delle entità principali. Dopo aver scelto l'utente a cui collegare la policy, scegli Attach policy (Collega policy).