Parametri di autorizzazione - Amazon Redshift

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

Parametri di autorizzazione

Il comando COPY richiede l'autorizzazione per accedere ai dati in un'altra AWS risorsa, tra cui Amazon S3, Amazon EMR, Amazon DynamoDB e Amazon EC2. Per concedere questa autorizzazione, è necessario fare riferimento a un ruolo (IAM)AWS Identity and Access Management associato al cluster (controllo degli accessi basato sul ruolo). Puoi crittografare i dati di caricamento su Amazon S3.

I seguenti argomenti forniscono ulteriori dettagli ed esempi di opzioni di autenticazione:

Utilizza una delle seguenti opzioni per fornire l'autorizzazione per il comando COPY:

IAM_ROLE {default | 'arn:aws:iam::<Account AWS-id>:ruolo/<role-name>' }

Utilizzare la parola chiave predefinita per fare in modo che Amazon Redshift utilizzi il ruolo IAM impostato come predefinito e associato al cluster quando viene eseguito il comando COPY.

L'Amazon Resource Name (ARN) per un ruolo IAM utilizzato dal cluster per l'autenticazione e l'autorizzazione. Se specifichi IAM_ROLE, non è possibile utilizzare ACCESS_KEY_ID e SECRET_ACCESS_KEY, SESSION_TOKEN o CREDENTIALS.

Di seguito è mostrata la sintassi del parametro IAM_ROLE.

IAM_ROLE { default | 'arn:aws:iam::<Account AWS-id>:role/<role-name>' }

Per ulteriori informazioni, consulta Controllo degli accessi basato sui ruoli.

ACCESS_KEY_ID '' SECRET_ACCESS_KEY 'chiave di accesso segreta' access-key-id

Questo metodo di autorizzazione non è raccomandato.

Nota

Invece di fornire le credenziali di accesso come testo in chiaro, consigliamo vivamente di utilizzare l'autenticazione basata sui ruoli specificando il parametro IAM_ROLE. Per ulteriori informazioni, consulta Controllo degli accessi basato sui ruoli.

SESSION_TOKEN 'temporary-token'

Il token di sessione da utilizzare con le credenziali di accesso temporaneo. Quando è specificato SESSION_TOKEN, devi utilizzare anche ACCESS_KEY_ID e SECRET_ACCESS_KEY per fornire credenziali di chiave di accesso temporanee. Se specifichi SESSION_TOKEN, non è possibile utilizzare IAM_ROLE o CREDENTIALS. Per ulteriori informazioni, consultare Credenziali di sicurezza temporanee nella Guida per l'utente di IAM.

Nota

Invece di creare credenziali di sicurezza temporanee, consigliamo vivamente di utilizzare l'autenticazione basata su ruoli. Quando si autorizza l'uso di un ruolo IAM, Amazon Redshift crea automaticamente credenziali utente temporanee per ogni sessione. Per ulteriori informazioni, consulta Controllo degli accessi basato sui ruoli.

Di seguito è riportata la sintassi del parametro SESSION_TOKEN con i parametri ACCESS_KEY_ID e SECRET_ACCESS_KEY.

ACCESS_KEY_ID '<access-key-id>' SECRET_ACCESS_KEY '<secret-access-key>' SESSION_TOKEN '<temporary-token>';

Se specifichi SESSION_TOKEN, non è possibile utilizzare CREDENTIALS o IAM_ROLE.

[WITH] CREDENTIALS [AS] 'credentials-args'

Una clausola che indica il metodo che il cluster utilizzerà per accedere ad altre risorse che contengono file di dati o file manifest. AWS Non è possibile utilizzare il parametro CREDENTIALS con IAM_ROLE o ACCESS_KEY_ID e SECRET_ACCESS_KEY.

Nota

Per una maggiore flessibilità, consigliamo di utilizzare il parametro IAM_ROLE invece del parametro CREDENTIALS.

Facoltativamente, se utilizzi il parametro ENCRYPTED, la stringa credentials-args fornisce anche la chiave di crittografia.

La stringa credentials-args prevede la distinzione tra maiuscole e minuscole e non deve contenere spazi.

Le parole chiave WITH e AS sono opzionali e vengono ignorate.

È possibile specificare role-based access control o key-based access control. In entrambi i casi, l'utente o il ruolo IAM deve disporre delle autorizzazioni necessarie per accedere alle risorse AWS specificate. Per ulteriori informazioni, consulta Autorizzazioni IAM per COPY, UNLOAD e CREATE LIBRARY.

Nota

Per salvaguardare le AWS credenziali e proteggere i dati sensibili, consigliamo vivamente di utilizzare il controllo degli accessi basato sui ruoli.

Per specificare il controllo degli accessi basato su ruoli, fornisci la stringa credentials-args nel seguente formato.

'aws_iam_role=arn:aws:iam::<aws-account-id>:role/<role-name>'

Per utilizzare le credenziali del token temporanee, devi fornire l'ID chiave di accesso, la chiave di accesso segreta e il token temporanei. La stringa credentials-args è nel seguente formato.

CREDENTIALS 'aws_access_key_id=<temporary-access-key-id>;aws_secret_access_key=<temporary-secret-access-key>;token=<temporary-token>'

Per ulteriori informazioni, consulta Credenziali di sicurezza temporanee.

Se utilizzi il parametro ENCRYPTED, la stringa credentials-args è nel seguente formato, dove <master-key> è il valore della chiave master che è stata usata per crittare i file.

CREDENTIALS '<credentials-args>;master_symmetric_key=<root-key>'

Ad esempio, il seguente comando COPY utilizza un controllo di accesso basato su ruoli con una chiave di crittografia.

copy customer from 's3://mybucket/mydata' credentials 'aws_iam_role=arn:aws:iam::<account-id>:role/<role-name>;master_symmetric_key=<root-key>'

Il seguente comando COPY mostra il controllo di accesso basato sul ruolo con una chiave di crittografia.

copy customer from 's3://mybucket/mydata' credentials 'aws_iam_role=arn:aws:iam::<aws-account-id>:role/<role-name>;master_symmetric_key=<root-key>'