

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 policy basate sulle risorse per Glue AWS
<a name="security_iam_resource-based-policy-examples"></a>

Questa sezione contiene le policy di esempio basate su risorse, tra cui le policy che concedono l'accesso multi-account.

Gli esempi utilizzano il AWS Command Line Interface (AWS CLI) per interagire con le operazioni dell'API di AWS Glue servizio. È possibile eseguire le stesse operazioni sulla AWS Glue console o utilizzando una delle AWS SDKs.

**Importante**  
Modificando una policy della risorsa AWS Glue, potresti accidentalmente revocare le autorizzazioni per gli utenti AWS Glue esistenti nel tuo account e provocare interruzioni impreviste. Prova questi esempi solo con gli account di sviluppo o di test e verifica che non interrompano nessun flusso di lavoro esistente prima di apportare le modifiche.

**Topics**
+ [Considerazioni sull'utilizzo di politiche basate sulle risorse con Glue AWS](#security_iam_resource-based-policy-examples-considerations)
+ [Utilizza una policy della risorsa per controllare gli accessi nello stesso account](#glue-policy-resource-policies-example-same-account)

## Considerazioni sull'utilizzo di politiche basate sulle risorse con Glue AWS
<a name="security_iam_resource-based-policy-examples-considerations"></a>

**Nota**  
Sia le policy IAM che una policy della risorsa AWS Glue richiedono pochi secondi, per la propagazione. Dopo aver collegato una nuova policy, potresti anche notare che la policy precedente è ancora in vigore finché la nuova policy non viene propagata attraverso il sistema.

È possibile utilizzare un documento di policy scritte in formato JSON per creare o modificare una policy della risorsa. La sintassi della policy è la stessa di una policy IAM basata sulle identità (consulta la [documentazione di riferimento sulle policy JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)), con le seguenti eccezioni:
+ Un blocco `"Principal"` o `"NotPrincipal"` è obbligatorio per ogni istruzione di policy.
+ Il `"Principal"` o il `"NotPrincipal"` deve identificare principali esistenti validi. I modelli dei caratteri jolly (ad esempio `arn:aws:iam::account-id:user/*`) non sono consentiti.
+ Il `"Resource"` blocco della policy richiede che tutte le risorse corrispondano ARNs alla seguente sintassi delle espressioni regolari (dove la prima `%s` è la e la seconda è *region* la): `%s` *account-id*

  ```
  *arn:aws:glue:%s:%s:(\*|[a-zA-Z\*]+\/?.*)
  ```

  Ad esempio, sia `arn:aws:glue:us-west-2:account-id:*` che `arn:aws:glue:us-west-2:account-id:database/default` sono consentiti, ma non è consentito `*`.
+ A differenza delle politiche basate sull'identità, una policy relativa alle AWS Glue risorse deve contenere solo Amazon Resource Names (ARNs) di risorse che appartengono al catalogo a cui è allegata la policy. Queste iniziano ARNs sempre con. `arn:aws:glue:`
+ Una policy non può impedire l'ulteriore creazione o modifica dell'identità che la crea.
+ La dimensione di un documento JSON di policy della risorsa non può superare 10 KB.

## Utilizza una policy della risorsa per controllare gli accessi nello stesso account
<a name="glue-policy-resource-policies-example-same-account"></a>

In questo esempio, un utente admin nell'account A crea una policy della risorsa che concede all'utente IAM `Alice` dell'account A l'accesso completo al catalogo. Alice non ha alcuna policy IAM collegata.

Per fare ciò, l'utente amministratore esegue il seguente AWS CLI comando.

```
# Run as admin of Account A
$ aws glue put-resource-policy --profile administrator-name --region us-west-2 --policy-in-json '{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Principal": {
        "AWS": [
          "arn:aws:iam::account-A-id:user/Alice"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:*"
      ],
      "Resource": [
        "arn:aws:glue:us-west-2:account-A-id:*"
      ]
    }
  ]
}'
```

Invece di inserire il documento di policy JSON come parte del AWS CLI comando, potete salvare un documento di policy in un file e fare riferimento al percorso del file nel AWS CLI comando, preceduto da. `file://` Di seguito è riportato un esempio di come svolgere questa operazione.

```
$ echo '{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Principal": {
        "AWS": [
          "arn:aws:iam::account-A-id:user/Alice"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:*"
      ],
      "Resource": [
        "arn:aws:glue:us-west-2:account-A-id:*"
      ]
    }
  ]
}' > /temp/policy.json

$ aws glue put-resource-policy --profile admin1 \
    --region us-west-2 --policy-in-json file:///temp/policy.json
```

Dopo la propagazione di questa policy basata sulle risorse, Alice può accedere a tutte le risorse di AWS Glue nell'account A, come segue.

```
# Run as user Alice
$ aws glue create-database --profile alice --region us-west-2 --database-input '{
    "Name": "new_database",
    "Description": "A new database created by Alice",
    "LocationUri": "s3://amzn-s3-demo-bucket"
}'

$ aws glue get-table --profile alice --region us-west-2 --database-name "default" --table-name "tbl1"}
```

in risposta alla chiamata `get-table` di Alice, il servizio AWS Glue restituisce quanto segue.

```
{
  "Table": {
    "Name": "tbl1",
    "PartitionKeys": [],
    "StorageDescriptor": {
        ......
    },
    ......
  }
}
```