SHOW DATABASES - 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.

SHOW DATABASES

Affiche les bases de données à partir d’un ID de compte spécifié.

Syntaxe

SHOW DATABASES FROM DATA CATALOG [ ACCOUNT '<id1>', '<id2>', ... ] [ LIKE '<expression>' ] [ IAM_ROLE default | 'SESSION' | 'arn:aws:iam::<account-id>:role/<role-name>' ]

Paramètres

ACCOUNT ’<id1>’, ’<id2>’, ...

Les AWS Glue Data Catalog comptes à partir desquels répertorier les bases de données. L’omission de ce paramètre signifie qu’Amazon Redshift doit afficher les bases de données du compte qui possède le cluster.

LIKE ’<expression>’

Filtre la liste des bases de données sur celles qui correspondent à l’expression que vous spécifiez. Ce paramètre prend en charge les modèles qui utilisent les caractères génériques % (pourcentage) et _ (trait de soulignement).

IAM_ROLE default | ’SESSION’ | ’arn:aws:iam::<account-id>:role/<role-name>’

Si vous spécifiez un rôle IAM qui est associé au cluster pendant l’exécution de la commande SHOW DATABASES, Amazon Redshift utilise les informations d’identification du rôle lorsque vous exécutez des requêtes sur la base de données.

Si le mot clé default est spécifié, le rôle IAM défini par défaut et qui est associé au cluster est alors utilisé.

Utilisez 'SESSION' si vous vous connectez à votre cluster Amazon Redshift à l’aide d’une identité fédérée et que vous accédez aux tables à partir de la base de données externe créée à l’aide de la commande CREATE DATABASE. Pour voir un exemple d’utilisation d’une identité fédéré, consultez Utilisation d’une identité fédérée pour gérer l’accès d’Amazon Redshift aux ressources locales et aux tables externes Amazon Redshift Spectrum, qui explique comment configurer l’identité fédérée.

Utilisez l’Amazon Resource Name (ARN) d’un rôle IAM que votre cluster utilise pour l’authentification et l’autorisation. Au minimum, le rôle IAM doit être autorisé à exécuter une opération LIST sur le compartiment Amazon S3 devant être accessible et une opération GET sur les objets Amazon S3 contenus dans le compartiment. Pour en savoir plus sur les bases de données créées à partir de AWS Glue Data Catalog for datashares et à l'aide de IAM_ROLE, consultez la section Utilisation de partages de données gérés par Lake Formation en tant que consommateur.

Le code suivant montre la syntaxe de la chaîne de paramètre IAM_ROLE pour un seul ARN.

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

Vous pouvez créer des chaînes de rôles pour permettre à votre cluster d’endosser un autre rôle IAM, y compris un rôle appartenant à un autre compte. Les chaînes ainsi créées peuvent inclure jusqu’à 10 rôles. Pour plus d'informations, consultez Créer des rôles IAM dans Amazon Redshift Spectrum.

Attachez à ce rôle IAM une politique d’autorisations IAM similaire à la suivante.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": "arn:aws:secretsmanager:us-west-2:123456789012:secret:my-rds-secret-VNenFy" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*" } ] }

Pour connaître les étapes à suivre afin de créer un rôle IAM à utiliser avec une requête fédérée, consultez Création d’un secret et d’un rôle IAM pour utiliser des requêtes fédérées.

Note

N’incluez pas d’espaces dans la liste des rôles chaînés.

L’exemple suivant montre la syntaxe d’une chaîne de trois rôles.

IAM_ROLE 'arn:aws:iam::<aws-account-id>:role/<role-1-name>,arn:aws:iam::<aws-account-id>:role/<role-2-name>,arn:aws:iam::<aws-account-id>:role/<role-3-name>'

Exemples

L’exemple suivant affiche toutes les bases de données du catalogue de données à partir de l’ID de compte 123456789012.

SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012' catalog_id | database_name | database_arn | type | target_database | location | parameters --------------+---------------+--------------------------------------------------------+--------------+--------------------------------------------------------------------------------------------------+----------+------------ 123456789012 | database1 | arn:aws:glue:us-east-1:123456789012:database/database1 | Data Catalog | | | 123456789012 | database2 | arn:aws:glue:us-east-1:123456789012:database/database2 | Data Catalog | arn:aws:redshift:us-east-1:123456789012:datashare:035c45ea-61ce-86f0-8b75-19ac6102c3b7/database2 | |

Les exemples suivants montrent comment afficher toutes les bases de données du catalogue de données à partir de l’ID de compte 123456789012 en utilisant les informations d’identification d’un rôle IAM.

SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012' IAM_ROLE default;
SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012' IAM_ROLE <iam-role-arn>;