Paramètres d’autorisation - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Paramètres d’autorisation

La commande COPY a besoin de l’autorisation pour accéder aux données dans une autre ressource AWS, y compris Amazon S3, Amazon EMR, Amazon DynamoDB et Amazon EC2. Vous fournissez cette autorisation en référençant un rôle AWS Identity and Access Management (IAM) qui est attaché à votre cluster (contrôle d’accès basé sur le rôle). Vous pouvez chiffrer vos données de chargement sur Amazon S3.

Les rubriques suivantes fournissent plus de détails et des exemples d’options d’authentification:

Utilisez l’un des paramètres suivants pour autoriser la commande COPY :

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

Utilisez le mot clé par défaut pour qu’Amazon Redshift utilise le rôle IAM défini par défaut et associé au cluster lorsque la commande COPY s’exécute.

Utilisez l’Amazon Resource Name (ARN) d’un rôle IAM que votre cluster utilise pour l’authentification et l’autorisation. Si vous spécifiez IAM_ROLE, vous ne pouvez pas utiliser ACCESS_KEY_ID et SECRET_ACCESS_KEY, SESSION_TOKEN ni CREDENTIALS.

L’exemple suivant montre la syntaxe du paramètre IAM_ROLE.

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

Pour plus d'informations, consultez Contrôle d’accès basé sur les rôles.

ACCESS_KEY_ID 'SECRET_KEY_ACCESS_KEY' 'access-key-id secret-access-key

Cette méthode d’autorisation n’est pas recommandée.

Note

Plutôt que de fournir des informations d’identification d’accès sous forme de texte brut, nous vous recommandons vivement d’utiliser l’authentification basée sur les rôles en spécifiant le paramètre IAM_ROLE. Pour plus d'informations, consultez Contrôle d’accès basé sur les rôles.

SESSION_TOKEN ’temporary-token

Le jeton de séance à utiliser avec les informations d’identification d’accès temporaires. Lorsque SESSION_TOKEN est spécifié, vous devez également utiliser ACCESS_KEY_ID et SECRET_ACCESS_KEY afin de fournir des informations d’identification de clé d’accès temporaire. Si vous spécifiez SESSION_TOKEN, vous ne pouvez utiliser ni IAM_ROLE, ni CREDENTIALS. Pour plus d’informations, consultez informations d’identification de sécurité temporaires dans le Guide de l’utilisateur IAM.

Note

Plutôt que de créer des informations d’identification de sécurité temporaires, nous vous recommandons vivement d’utiliser l’authentification basée sur les rôles. Lorsque vous autorisez l’accès à l’aide d’un rôle IAM, Amazon Redshift crée automatiquement des informations d’identification utilisateur temporaires à chaque séance. Pour plus d'informations, consultez Contrôle d’accès basé sur les rôles.

L’exemple suivant illustre la syntaxe du paramètre SESSION_TOKEN avec les paramètres ACCESS_KEY_ID et SECRET_ACCESS_KEY.

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

Si vous spécifiez SESSION_TOKEN, vous ne pouvez utiliser ni IAM_ROLE, ni CREDENTIALS.

[WITH] CREDENTIALS [AS] ’credentials-args

Clause qui indique le mode utilisé par votre cluster lorsqu’il accède à d’autres ressources AWS qui contiennent des fichiers de données ou des fichiers manifestes. Vous ne pouvez pas utiliser le paramètre CREDENTIALS avec IAM_ROLE ou ACCESS_KEY_ID et SECRET_ACCESS_KEY.

Note

Pour une meilleure flexibilité, nous vous recommandons d’utiliser le paramètre IAM_ROLE plutôt que le paramètre CREDENTIALS.

Le cas échéant, si le paramètre ENCRYPTED est utilisé, la chaîne credentials-args fournit également la clé de chiffrement.

La chaîne credentials-args est sensible à la casse et ne doit pas contenir d’espaces.

Les mots-clés WITH et AS sont facultatifs, et ils sont ignorés.

Vous pouvez spécifier role-based access control ou key-based access control. Dans les deux cas, le rôle IAM ou l’utilisateur doit avoir les autorisations nécessaires pour accéder aux ressources AWS spécifiées. Pour plus d'informations, consultez Autorisations IAM pour les commandes COPY, UNLOAD et CREATE LIBRARY.

Note

Pour protéger vos informations d’identification AWS et protéger les données sensibles, nous vous recommandons vivement d’utiliser le contrôle d’accès basé sur les rôles.

Pour spécifier un contrôle d’accès basé sur les rôles, fournissez la chaîne credentials-args au format suivant :

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

Pour utiliser les informations d’identification de jeton temporaires, vous devez fournir l’ID de clé d’accès temporaire, la clé d’accès secrète temporaire et le jeton temporaire. La chaîne credentials-args doit être au format suivant.

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

Pour plus d'informations, consultez informations d’identification de sécurité temporaires.

Si le paramètre ENCRYPTED est utilisé, la chaîne credentials-args est au format suivant, où <root-key> correspond à la valeur de la clé racine qui a été utilisée pour chiffrer les fichiers.

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

Par exemple, la commande COPY suivante utilise le contrôle d’accès basé sur les rôles avec une clé de chiffrement.

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

La commande COPY suivante illustre le contrôle d’accès basé sur le rôle par une clé de chiffrement.

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