Conditions préalables - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le billet de blog .

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.

Conditions préalables

Exigences de la politique IAM pour la configuration des autorisations fédérées Amazon Redshift

Les autorisations fédérées Amazon Redshift vous permettent de gérer de manière centralisée l'accès aux données pour l'ensemble de vos charges de travail d'analyse, les autorisations étant gérées directement par l'entrepôt Redshift.

Pour activer les autorisations fédérées Amazon Redshift, des autorisations IAM spécifiques sont requises en plus des autorisations standard requises pour créer des clusters provisionnés par Redshift et des espaces de noms sans serveur.

Pour que l'entrepôt provisionné par Redshift active les autorisations fédérées Redshift :

  • redshift:ModifyLakehouseConfiguration

  • redshift:RegisterNamespace

Pour que Redshift Serverless Warehouse active les autorisations fédérées Redshift :

  • redshift-serverless:UpdateLakehouseConfiguration

  • redshift:RegisterNamespace

Pour AWS Glue Data Catalog l'intégration afin de créer un catalogue avec les autorisations fédérées Redshift :

  • glue:CreateCatalog

  • glue:GetCatalog

Pour l'enregistrement des ressources de Lake Formation sous forme d'enregistrement unique afin d'activer la fédération d'autorisations Redshift depuis un entrepôt distant avec des autorisations fédérées :

  • lakeformation:RegisterResource

  • lakeformation:RegisterResourceWithPrivilegedAccess

Configuration de l'application IAM Identity Center pour l'entrepôt Redshift avec autorisations fédérées

Amazon Redshift prend en charge la propagation des identités des centres d'identité afin de transmettre facilement les identités des utilisateurs entre les instances Redshift et les services. AWS Lake Formation AWS Glue Cette fonctionnalité nécessite la configuration d'applications iDC dédiées.

Autorisations IAM nécessaires

Pour créer et gérer l'application du centre d'identité pour la propagation des identités du centre d'identité, assurez-vous que vos autorisations IAM incluent les autorisations suivantes :

Pour la gestion des applications Amazon Redshift iDC :

  • redshift:CreateRedshiftIdcApplication

  • redshift:ModifyRedshiftIdcApplication

  • redshift:DescribeRedshiftIdcApplications

Pour la gestion des applications Lake Formation iDC :

  • lakeformation:CreateLakeFormationIdentityCenterConfiguration

  • lakeformation:DescribeLakeFormationIdentityCenterConfiguration

  • lakeformation:UpdateLakeFormationIdentityCenterConfiguration

Création des applications et de la configuration iDC correspondantes

Pour établir la propagation des identités pour vos charges de travail d'analyse, créez une application Amazon Redshift iDC de type Lakehouse. Il gère les autorisations sans exiger d'assignations d'utilisateurs explicites. Les entrepôts Redshift liés à cette application nécessitent des privilèges CONNECT pour que les utilisateurs d'iDC puissent authentifier les connexions.

Vous ne pouvez créer qu'une seule application Amazon Redshift iDC de type Lakehouse par. Compte AWS Cette application gère la propagation des identités dans tous les entrepôts Redshift intégrés à Lake Formation et AWS Glue aux services. L'application ne peut être utilisée qu'avec les entrepôts Redshift enregistrés auprès du. AWS Glue Data Catalog

Préparer le rôle IAM assumé par Redshift et utilisé par la propagation des identités iDC

La création d'une application Redshift Lakehouse iDC nécessite un rôle IAM sur votre compte avec certaines autorisations IAM. Votre rôle IAM utilisé dans vos applications Redshift iDC doit avoir la relation de confiance suivante pour permettre à Redshift de l'assumer et de définir le contexte de propagation de l'identité iDC.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "Service": [ "redshift-serverless.amazonaws.com", "redshift.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] } ] }

Et ci-dessous, les autorisations permettant à votre rôle iAM iDC de prendre en charge la propagation de l'identité iDC.

  • AmazonRedshiftFederatedAuthorization— Cette politique permet à Amazon Redshift d'interroger les AWS Glue Data Catalog bases de données via des autorisations fédérées.

  • AWSIDC Définir une politique contextuelle

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:SetContext" ], "Resource": "*" } ] }
  • Configuration de Redshift en tant qu'application AWS gérée avec. AWS IAM Identity Center

  • AWSIDC politique SSO IAM du centre d'identité :

    • sso:DescribeApplication : requise pour créer une entrée de fournisseur d’identité (IdP) dans le catalogue.

    • sso:DescribeInstance : sert à créer manuellement des rôles ou des utilisateurs fédérés par le fournisseur d’identité.

      { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "sso:DescribeApplication", "sso:DescribeInstance" ], "Resource": [ "arn:aws:sso:::instance/<IAM Identity Center Instance ID>", "arn:aws:sso::<AWS-account-id>:application/<IAM Identity Center Instance ID>/*" ] }

Créez une nouvelle application Redshift iDC de type Lakehouse

CLI

Créez votre application Lakehouse iDC en spécifiant le type d'application Lakehouse dans la create-redshift-idc-application demande, ce qui élimine le besoin d'assignations d'utilisateurs explicites dans Identity Center tout en activant les CONNECT privilèges requis pour l'authentification des utilisateurs iDC :

aws redshift create-redshift-idc-application \ --idc-instance-arn <your_idc_instance_arn> \ --idc-display-name '<name_of_idc_application_display_on_idc_console>' \ --iam-role-arn <idc_carrier_role_arn> \ --application-type Lakehouse \ --redshift-idc-application-name '<name_of_idc_display_on_redshift_console>' \ --service-integrations '[ { "LakeFormation":[ { "LakeFormationQuery":{"Authorization": "Enabled"} } ] }, { "Redshift":[ { "Connect" : { "Authorization": "Enabled" } } ] } ]'

Cette configuration permet une propagation d'identité fiable entre Redshift et Lake Formation, permettant aux utilisateurs d'accéder aux données de différents services à l'aide de leurs informations d'identification Identity Center sans attribution d'autorisations supplémentaires.

Console
  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/redshiftv2/

  2. Accédez à la page de connexions IAM Identity Center et sélectionnez Créer une application.

  3. Configurez les paramètres généraux de votre application IDC.

  4. Sélectionnez Configurer les autorisations fédérées Amazon Redshift à l'aide de AWS IAM Identity Center (recommandé) pour définir le type d'application.

  5. Les intégrations de propagation d'identité de Lake Formation et Redshift Connect sont activées par défaut.

  6. Complétez les paramètres de cluster restants et choisissez Create application.

Modifier une application Redshift iDC existante

Si vous possédez une application Redshift iDC existante sur laquelle les intégrations de services requises ne sont pas activées, vous pouvez la mettre à jour pour prendre en charge la propagation des identités entre les services et les clusters/espaces de noms.

CLI

Utilisez la modify-redshift-idc-application commande pour activer à la fois LakeFormation:query l'autorisation et Redshift:Connect l'autorisation. Ces intégrations sont essentielles pour la propagation des identités iDC entre services et entre clusters :

aws redshift modify-redshift-idc-application \ --redshift-idc-application-arn '<arn_of_the_target_redshift_idc_application>' \ --service-integrations '[ { "LakeFormation":[ { "LakeFormationQuery":{"Authorization": "Enabled"} } ] }, { "Redshift":[ { "Connect" : { "Authorization": "Enabled" } } ] } ]'
Console
  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/redshiftv2/

  2. Accédez à la page des connexions IAM Identity Center et choisissez une application IDC existante que vous souhaitez modifier.

  3. Choisissez Identity Propagation Integrations pour activer et configurer d'autres paramètres, puis sélectionnez Enregistrer les modifications.

Créer la configuration du centre d'identité de Lake Formation

Votre service Lake Formation nécessite une application iDC dédiée si aucune n'a encore été créée. Vous devez également activer Redshift:Connect l'autorisation pour que la configuration fonctionne correctement.

CLI

Utilisez la create-lake-formation-identity-center-configuration commande pour activer Redshift:Connect l'autorisation. Ces intégrations sont essentielles pour que Lake Formation propage l'identité iDC aux clusters Redshift et aux espaces de noms Redshift Serverless.

aws lakeformation create-lake-formation-identity-center-configuration \ --instance-arn <your_idc_instance_arn> \ --service-integrations '[{ "Redshift": [{ "RedshiftConnect": { "Authorization": "ENABLED" } }] }]'
Console
  1. Connectez-vous à la AWS Management Console console Lake Formation et ouvrez-la à l'adresse https://console.aws.amazon.com/lakeformation/.

  2. Dans le volet de navigation de gauche, sélectionnez Intégration à IAM Identity Center.

  3. Sur la page d'intégration d'IAM Identity Center, vous pouvez activer la propagation d'identité fiable pour Amazon Redshift Connect. Lake Formation propage l'identité vers l'aval en fonction des autorisations effectives, afin que les applications autorisées puissent accéder aux données au nom des utilisateurs.

Mettre à jour la configuration du centre d'identité de Lake Formation

Si vous avez configuré l'application Lake Formation iDC sur laquelle les intégrations de services requises ne sont pas activées, vous pouvez la mettre à jour pour prendre en charge la propagation des identités entre les services et les clusters/espaces de noms.

CLI

Utilisez la update-lake-formation-identity-center-configuration commande pour activer Redshift:Connect l'autorisation. Ces intégrations sont essentielles pour la propagation des identités iDC entre services et entre clusters :

aws lakeformation update-lake-formation-identity-center-configuration \ --service-integrations '[{ "Redshift": [{ "RedshiftConnect": { "Authorization": "ENABLED" } }] }]'
Console
  1. Connectez-vous à la AWS Management Console console Lake Formation et ouvrez-la à l'adresse https://console.aws.amazon.com/lakeformation/.

  2. Dans le volet de navigation de gauche, sélectionnez Intégration à IAM Identity Center.

  3. Sur la page d'intégration d'IAM Identity Center, vous pouvez activer la propagation d'identité fiable pour Amazon Redshift Connect. Lake Formation propage l'identité vers l'aval en fonction des autorisations effectives, afin que les applications autorisées puissent accéder aux données au nom des utilisateurs.

Conditions préalables à la formation du lac

Le client a besoin CREATE_CATALOG des autorisations Lake Formation pour activer AWS Glue Data Catalog les autorisations fédérées Amazon Redshift.

  1. Si le compte appartient à un client existant de Lake Formation, l'administrateur de Lake Formation doit explicitement accorder l'autorisation CREATE_CATALOG à chaque créateur de cluster. Utilisez l'exemple de commande CLI suivant :

    aws lakeformation grant-permissions \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier": "<PrincipalArn>" }, "Resource": { "Catalog": {} }, "Permissions": [ "CREATE_CATALOG" ] }'
  2. Si le compte n'a jamais utilisé Lake Formation, vérifiez que Catalog Creators est défini sur IAMAllowed Principaux sur la page Rôles et tâches administratifs de la console Lake Formation. S'il n'est pas configuré, configurez un administrateur de lac de données en suivant la section Créer un administrateur de lac de données. Vous pouvez également créer un administrateur de lac de données avec les politiques minimales requises si vous ne l'utilisez qu' AWS Glue Data Catalog avec les autorisations fédérées Amazon Redshift.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "lakeformation:PutDataLakeSettings", "lakeformation:GrantPermissions", "lakeformation:GetDataLakeSettings", "lakeformation:BatchGrantPermissions", "lakeformation:ListPermissions" ], "Resource": [ "*" ] } ] }
  3. Demandez à l' DataLake administrateur d'autoriser les IAMAllowed directeurs à créer un catalogue. L'accès peut être accordé via le bouton Accorder pour les créateurs de catalogues sur la page Rôle et tâches administratifs.

Privilèges Connect

Dans le cadre des autorisations fédérées Amazon Redshift, Amazon Redshift a introduit les privilèges CONNECT pour gérer l' AWS IAM Identity Center accès des utilisateurs fédérés aux groupes de travail ou aux clusters Amazon Redshift. Cette fonctionnalité est disponible lorsque les autorisations fédérées Amazon Redshift sont activées sur le groupe de travail ou le cluster.

Ce privilège permet aux administrateurs de contrôler l'accès des utilisateurs par le biais d'autorisations détaillées dans chaque groupe de travail ou cluster Amazon Redshift où les autorisations fédérées Amazon Redshift sont activées. L'administrateur Amazon Redshift peut spécifier quels utilisateurs ou groupes AWS IAM Identity Center fédérés ont accès pour se connecter directement au groupe de travail ou au cluster Amazon Redshift, ce qui permet de contrôler avec précision l'accès des utilisateurs à chaque groupe de travail ou cluster. AWS IAM Identity Center

Syntaxe

GRANT CONNECT [ON WORKGROUP] TO [USER] <prefix>:<username> | ROLE <prefix>:<rolename> | PUBLIC;
SE CONNECTER [SUR UN GROUPE DE TRAVAIL]

Accorde l'autorisation de se connecter à un groupe de travail. L'autorisation CONNECT s'applique uniquement aux AWS IAM Identity Center identités (utilisateurs et rôles).

POUR <prefix>: <username>

Indique l'utilisateur AWS IAM Identity Center fédéré qui reçoit les autorisations.

AU RÔLE <prefix>: <rolename>

Indique le groupe AWS IAM Identity Center fédéré qui reçoit les autorisations.

PUBLIC

Accorde les autorisations CONNECT à tous les utilisateurs AWS IAM Identity Center fédérés, y compris les utilisateurs créés ultérieurement.