Fermer

août 27, 2024

Configuration de l’authentification Redshift IdP à l’aide d’Azure Active Directory

Configuration de l’authentification Redshift IdP à l’aide d’Azure Active Directory


Introduction

Récemment, nous avons aidé une grande entreprise cliente à configurer son entrepôt de données sur Amazon Redshift à l’aide d’Azure AD pour les informations d’identification de l’entreprise. Cela a permis aux utilisateurs de se connecter avec leurs identifiants d’entreprise, améliorant ainsi l’expérience utilisateur et simplifiant la maintenance. Nous y sommes parvenus en configurant un accès fédéré Azure AD à Amazon Redshift.

Cet article explique comment configurer une fédération à l’aide d’Azure AD et d’AWS IAM. Azure AD gère les utilisateurs et fournit un accès fédéré à Amazon Redshift via IAM, éliminant ainsi le besoin de créer des utilisateurs de base de données distincts dans Amazon Redshift.

  • Nous avons joint ici une image d’AWS qui permet une meilleure compréhension de cette architecture.
    Cette image montre la configuration de l'authentification Redshift à l'aide d'Azure IdP

    Graphique AWS

    Graphique AWS

ÉTAPES À EFFECTUER

  • Créer une application OAuth à utiliser

Pour configurer votre application Azure, vous devez créer à la fois une application OAuth et une application client Redshift. L’application OAuth est utilisée pour authentifier l’utilisateur et fournir un jeton de connexion. L’application Redshift Client est utilisée pour récupérer les informations sur les utilisateurs et les groupes.

  • Ouvrez votre console Azure et sélectionnez Microsoft Entra ID ou Azure Active Directory
Console Azure

Console Azure

Application Azure

Application Azure

  • Ouvrez l’option d’enregistrement de l’application et cliquez sur Nouvelle inscription
Créer une application

Créer une application

  • Fournissez tous les détails ici

Pour Nom, saisissez un nom pour votre application. Exemple : testez Redshift OAuth pour l’URI de redirection, choisissez Client public/natif (mobile et ordinateur) et entrez l’URL de redirection https:// Conservez les paramètres par défaut pour les champs restants.

Détails à ajouter

Détails à ajouter

Présentation de l'application

Présentation de l’application

  • Collectez les détails requis à partir de la page de présentation de l’application
Présentation de l'application

Présentation de l’application

Rassemblez les informations ci-dessous dans l’aperçu de votre candidature.

Application (client) ID - referred to as <OAUTH_CLIENT_ID>
Directory (tenant) ID - referred to as <OAUTH_TENANT_ID>

L’application est créée, sélectionnez Exposer une API dans le volet de navigation de gauche. S’il s’agit de votre première configuration, Set apparaît à droite de l’URI de l’ID d’application. L’URI de l’ID d’application doit être unique dans l’annuaire de votre organisation, tel que https://your.company.com/1az3ds2b-5tf3-ed6g-1qzn733t.

Exposition API

Exposition API

Ajouter l’URI de l’application Ajouter un nom de portée comme. Session : rôle-n’importe quel Fournissez des détails sur le consentement, comme qui peut consentir, nom d’affichage Ajouter une portée

Ajouter une portée

Ajouter une portée

Sélectionnez Authentification dans le volet de navigation de gauche et sous Web, spécifiez l’URI de redirection en utilisant le format suivant :

<https://<public url of your Redshift instance>
Authentification des applications

Authentification des applications

  • Détails du certificat et du secret

Sélectionnez Certificat et secret dans le panneau latéral de gauche, puis sélectionnez Nouveau secret client. Fournissez les détails requis tels que la description et le délai d’expiration (par défaut – 6 mois). Copiez cette valeur dans votre bloc-notes car elle sera appelée .

Autorisation API

Autorisation API

  • Créer un groupe et ajouter des utilisateurs
Créer un nouveau groupe dans Azure

Créer un nouveau groupe dans Azure

  • Ajouter l’accès aux applications à ce groupe et à ses membres
Autorisation de groupe

Autorisation de groupe

  • Obtenez votre identifiant d’identité et toutes les informations requises à partir de l’option manifeste
Application Menifest

Application Menifest

  • Collecter les détails requis pour configurer le fournisseur d’identité dans Redshift
Paramètres requisValeur de l’application
Émetteur
ID_client
Client_secret
PublicURI de l’identifiant de l’application

ÉTAPES À EXÉCUTER SUR L’ÉDITEUR SQL REDSHIFT

  1. Configurer les détails du fournisseur d’identité dans Redshift

  • Exécuter l’instruction ci-dessous dans l’éditeur de requête Redshift
CREATE IDENTITY PROVIDER <idp_name> TYPE azure

NAMESPACE '<namespace_name>'

PARAMETERS '{

"issuer":"<Microsoft_Azure_issuer_value>",

"audience":["<Microsoft_Azure_token_audience_value>"],

"client_id":"<Microsoft_Azure_clientid_value>",

"client_secret":"<Microsoft_Azure_client_secret_value>"

}';

2. Pour obtenir tous les détails de l’IDP enregistré

select * from svv_identity_providers;

3.Créez un utilisateur et un rôle dans Redshift, fournissez l’accès et vérifiez les autorisations

  • Créez un rôle dans Redshift avec la configuration Oauth et accordez l’autorisation de sélection sur le schéma.
CREATE ROLE “oauth_aad:TEST_ROLE_RO_GROUP”;

GRANT USAGE ON SCHEMA public to role “oauth_aad:TEST_ROLE_RO_GROUP”;

Grant select on all tables in schema public to role “oauth_aad:TEST_ROLE_RO_GROUP”;

Example -

GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | REFERENCES } [,...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO "<namespace_name>:<Azure AD username>";
  • Assurez-vous que l’adresse e-mail de cet utilisateur est ajoutée au groupe AD que nous avons créé à partir de la console Azure.
  • Créez un utilisateur, attribuez un rôle à cet utilisateur et vérifiez les autorisations d’accès.
CREATE USER “oauth_aad:test@testemail.com” PASSWORD DISABLE;

GRANT ROLE “oauth_aad:TEST_ROLE_RO_GROUP” to “oauth_aad:test@testemail.com”;

Set session authorization “oauth_aad:test@testemail.com”

Select * from public.tablename;
  • Vous pouvez vérifier les autorisations de n’importe quel utilisateur et quel rôle a été attribué à quel utilisateur.
SELECT * FROM SVV_USER_GRANTS;

Configuration de la connexion dans DBeaver pour Redshift Access

MesuresInstructionImages de référence
1Accédez à DBeaver et ouvrez un nouvel onglet de pilote
Nouveau pilote

Nouveau pilote

2Ajouter les informations requises pour Drive
Valeurs des propriétés du pilote

Valeurs des propriétés du pilote

3Ajouter de nouvelles bibliothèques

Téléchargez le pilote JDBC version 2.1 ou supérieure pour la prise en charge de l’authentification AD.

Ajouter des bibliothèques

Bibliothèques

4Ajouter des propriétés de pilote

Référence – Nous avons collecté toutes les valeurs de paramètres requises dans notre blog.

Valeurs

Valeurs

5Créez une nouvelle connexion à la base de données à l’aide de ce pilote et vérifiez votre connexion
Nouvelle connexion

Nouvelle connexion

6 Testez votre connexion
Configuration de la connexion

Configuration de la connexion

Conclusion

Dans ce blog, nous avons configuré l’authentification AD avec Azure Active Directory pour Redshift, ce qui nous aide à minimiser la charge administrative pour créer des utilisateurs et gérer les mots de passe.

VOUS TROUVEZ CECI UTILE ? PARTAGEZ-LE






Source link