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

Application Azure
- Ouvrez l’option d’enregistrement de l’application et cliquez sur Nouvelle inscription

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://

Détails à ajouter

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
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
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
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
- 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
- Créer un groupe et ajouter des utilisateurs

Créer un nouveau groupe dans Azure
- Ajouter l’accès aux applications à ce groupe et à ses membres

Autorisation de groupe
- Obtenez votre identifiant d’identité et toutes les informations requises à partir de l’option manifeste

Application Menifest
- Collecter les détails requis pour configurer le fournisseur d’identité dans Redshift
Paramètres requis | Valeur de l’application |
Émetteur | |
ID_client | |
Client_secret | |
Public | URI de l’identifiant de l’application |
ÉTAPES À EXÉCUTER SUR L’ÉDITEUR SQL REDSHIFT
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
Mesures | Instruction | Images de référence |
1 | Accédez à DBeaver et ouvrez un nouvel onglet de pilote | ![]() Nouveau pilote |
2 | Ajouter les informations requises pour Drive | ![]() Valeurs des propriétés du pilote |
3 | Ajouter 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. | ![]() Bibliothèques |
4 | Ajouter des propriétés de pilote Référence – Nous avons collecté toutes les valeurs de paramètres requises dans notre blog. | ![]() Valeurs |
5 | Créez une nouvelle connexion à la base de données à l’aide de ce pilote et vérifiez votre connexion | ![]() Nouvelle connexion |
6 | Testez votre 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