Pour accéder à un projet MaxCompute ou Hologres appartenant à un autre compte Alibaba Cloud, ajoutez-le en tant que source de données dans votre compte actuel.
Limitations
Les sources de données intercomptes ne sont pas compatibles avec le développement de données ni la planification. Pour ces opérations, créez une source de données au sein de votre propre compte. Pour plus d'informations, consultez les rubriques Lier un moteur de calcul MaxCompute et Lier un moteur de calcul Hologres.
Lors de la création d'une source de données intercomptes, l'accès au projet s'effectue exclusivement via un rôle RAM.
Prérequis
-
Deux comptes Alibaba Cloud sont créés, désignés ci-après par Compte A et Compte B. Pour savoir comment créer un compte, consultez la rubrique Inscription à un compte Alibaba Cloud.
Compte Alibaba Cloud A : le consommateur qui crée la source de données intercomptes en utilisant les identifiants du Compte B.
Compte Alibaba Cloud B : le fournisseur de ressources qui fournit les identifiants au Compte A, lui permettant ainsi de créer la source de données intercomptes.
-
Assurez-vous que les ressources de données à partager sont prêtes dans le Compte B. Par exemple, un projet MaxCompute ou une instance et une base de données Hologres doivent avoir été créés.
Scénario 1 (Accès à MaxCompute) : Dans le compte Alibaba Cloud B, un projet MaxCompute a été créé pour servir de projet cible à la source de données intercomptes. Pour créer un projet MaxCompute, consultez la rubrique Créer un projet MaxCompute.
Scénario 2 (Accès à Hologres) : Dans le compte Alibaba Cloud B, vous avez acheté une instance Hologres et créé une base de données.
Étape 1 : Créer et autoriser un rôle RAM
Créer un rôle RAM et une politique d'approbation
Connectez-vous à la console RAM avec le Compte B pour créer un rôle RAM et ajouter le Compte A en tant que compte de confiance. Le Compte A pourra alors assumer ce rôle pour accéder aux ressources autorisées.
-
Créez un rôle RAM.
Pour plus de détails, consultez la rubrique Créer un rôle RAM pour un compte Alibaba Cloud de confiance.
RemarqueLe rôle RAM créé ici est utilisé par le Compte A pour accéder à DataWorks dans le Compte B. Si ce rôle RAM est également requis pour accéder à DataWorks dans le Compte A, vous devez redéfinir sa politique d'autorisation. Pour plus d'informations, consultez la rubrique Définir une politique d'autorisation pour un rôle RAM.
Configurez les paramètres clés comme suit :
Principal Type : Compte Alibaba Cloud.
Principal : Autre compte Alibaba Cloud. Saisissez l'UID du Compte A. Vous pouvez obtenir l'UID en vous connectant à la console avec le Compte A et en plaçant le pointeur de la souris sur l'image de profil dans la barre de navigation supérieure.
Role Name : testRole.
Une fois configuré, le Compte A peut assumer le rôle testRole pour accéder aux ressources autorisées.
-
Modifiez la politique d'approbation.
Après avoir créé le rôle, accédez à l'onglet Trust Policy, cliquez sur Edit Trust Policy et remplacez le contenu de la politique par le code suivant. Cela permet au service DataWorks du Compte A d'assumer ce rôle. Pour plus d'informations, consultez la rubrique Modifier la politique d'approbation d'un rôle RAM.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "UID of Account A@engine.dataworks.aliyuncs.com" ] } } ], "Version": "1" }Remplacez
UID of Account Apar l'UID réel du Compte A.
Configurer une politique d'autorisation pour le rôle RAM
Scénario 1 : Autoriser l'accès à MaxCompute
-
Dans le Compte B, accédez au projet MaxCompute cible.
Vous pouvez utiliser la fonctionnalité d'analyse SQL dans la console MaxCompute pour accéder rapidement au projet MaxCompute.
Pour plus d'informations sur les outils de connexion, consultez la rubrique Sélectionner un outil de connexion.
-
Ajoutez le rôle RAM au projet MaxCompute.
-
Ajoutez le rôle testRole créé à l'étape 1 au projet MaxCompute. Le format de l'instruction SQL est le suivant :
-- Add the RAM role to the MaxCompute project. add user `RAM$<account_name>:role/<ram_role_name>`; -- View all users in the project. list users; -- View the permissions granted to the RAM role. show grants for `RAM$<account_name>:role/<ram_role_name>`;Paramètres :
<account_name> : Le nom du Compte B.
<ram_role_name> : Le nom du rôle créé à l'étape 1, soit testRole.
-
Accordez les autorisations au rôle selon vos besoins. Pour plus d'informations, consultez la rubrique Autorisation.
RemarqueVous pouvez accorder des autorisations au rôle RAM à l'avance en fonction de la manière dont l'espace de travail du Compte A utilisera la source de données. Par exemple, si vous souhaitez interroger une table dans la source de données du Compte B depuis l'espace de travail du Compte A, assurez-vous que le rôle RAM configuré pour la source de données dispose de l'autorisation SELECT sur la table.
-
Scénario 2 : Autoriser l'accès à Hologres
-
Modifier la politique d'autorisation du rôle (Hologres uniquement)
-
Dans la console RAM du Compte B, créez une politique personnalisée pour accorder les autorisations requises pour accéder à l'instance Hologres. Le contenu de la politique est le suivant :
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "hologram:GetInstance", "hologram:DescribeInstance", "hologram:ListDatabases", "hologram:ListWarehouses", "hologram:ListInstances" ], "Resource": "*" } ] } Attachez cette politique au rôle testRole. Pour plus d'informations, consultez la rubrique Gérer les autorisations d'un rôle RAM.
-
-
Ajoutez le rôle RAM à la base de données Hologres.
Ajouter et autoriser le rôle dans Hologres. Connectez-vous à la console de gestion Hologres en utilisant le Compte B et ouvrez l'interface HoloWeb pour l'instance cible.
-
Sur la page Security Center > User Management, ajoutez le rôle RAM créé en tant qu'utilisateur de base de données.
Dans la boîte de dialogue Add User, sélectionnez le rôle RAM créé, tel que testRole, dans la section Select Organization Members. Dans la section Select Member Role, sélectionnez Regular User et cliquez sur Confirm.
-
Si le rôle est un utilisateur standard, vous devez accorder des autorisations au niveau de la base de données à l'utilisateur sur la page Security Center > DB Authorization.
Cliquez sur Add Authorization. Dans la boîte de dialogue qui s'affiche, sélectionnez le rôle cible, tel que
role/testRole, pour User, sélectionnez Developer pour User Group, puis cliquez sur Confirm.
Pour plus d'informations, consultez la rubrique Guide de démarrage rapide pour l'autorisation des utilisateurs RAM.
-
Étape 2 : Créer une source de données pour le Compte A en utilisant les informations utilisateur du Compte B
-
Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to Management Center.
Sur la page de gestion de l'espace de travail, cliquez sur Data Sources dans le volet de navigation de gauche pour ouvrir la page des sources de données.
Cliquez sur Add Data Source et sélectionnez le type de source de données (MaxCompute ou Hologres).
-
Sur la page de configuration de la source de données, configurez les paramètres clés suivants :
Alibaba Cloud Account : Autre compte Alibaba Cloud.
Region : La région où se trouve le projet MaxCompute ou l'instance Hologres.
UID of Alibaba Cloud Account : Saisissez l'UID du Compte B.
MaxCompute Project Name/Other Hologres Instance : Saisissez le nom ou l'ID de la ressource cible dans le Compte B.
RAM Role : Saisissez le nom du rôle RAM que vous avez créé dans le Compte B, tel que testRole.
-
Configurez la connectivité du groupe de ressources.
Sélectionnez un groupe de ressources et testez sa connectivité. Pour plus d'informations sur les configurations réseau, consultez la rubrique Se connecter à une source de données appartenant à un autre compte Alibaba Cloud.
Un statut Connected vert dans la colonne Connection Status indique que le réseau du groupe de ressources est correctement configuré.
Cliquez sur Complete Creation pour créer la source de données intercomptes.
Étapes suivantes
Après avoir créé la source de données, vous pouvez :
Synchroniser les données en utilisant Data Integration.
Accéder à Data Map pour afficher plus de détails sur la source de données.