L'intégration étroite entre Hologres et DataWorks peut entraîner des erreurs d'autorisation lors du développement. Cette rubrique explique comment résoudre plusieurs problèmes courants.
Problèmes courants
Les liens suivants proposent des solutions aux problèmes d'autorisation fréquents.
Le bouton + Bind HologresDB est grisé dans la configuration de l'espace de travail
Échec de l'initialisation de l'environnement lors de la liaison d'une base de données Hologres
Erreur « permission denied » lors d'une requête dans DataService Studio
Erreur « permission denied for schema xxx » dans l'environnement de production DataWorks
Le bouton Bind HologresDB est grisé
-
Symptôme
Lorsque vous tentez de lier une base de données Hologres depuis l'onglet Compute Engine Information de la page workspace configuration de la console DataWorks, le bouton + Bind HologresDB apparaît grisé.
-
Cause
L'utilisateur RAM ne dispose pas des autorisations d'administration pour l'espace de travail.
L'utilisateur RAM ne possède pas les autorisations de développement pour l'instance.
-
Solution
Si l'utilisateur RAM n'a pas les droits d'administration de l'espace de travail, accordez-lui les autorisations requises depuis la page Member Management. Pour plus d'informations, consultez la rubrique Gérer les autorisations sur les services au niveau de l'espace de travail.
-
Si l'utilisateur RAM manque d'autorisations de développement pour l'instance, accordez-les dans Hologres selon le modèle d'autorisation utilisé.
Pour attribuer des droits dans le modèle d'autorisation simplifié, reportez-vous à la section Ajouter un utilisateur.
Pour attribuer des droits selon le modèle d'autorisation PostgreSQL standard, consultez la rubrique Accorder des autorisations dans le modèle d'autorisation PostgreSQL standard.
Échec de l'initialisation de l'environnement lors de la liaison
-
Symptôme
Après avoir configuré les paramètres dans la boîte de dialogue Bind HologresDB de la console DataWorks, un message indique l'échec de l'opération binding and environment initialization.
-
Cause
Une fois le moteur de calcul lié, vous devez initialiser son environnement réseau, c'est-à-dire le groupe de ressources exclusif qu'il utilisera pour la planification. Cette étape établit la connectivité réseau entre l'instance Hologres et le groupe de ressources DataWorks, condition indispensable à l'exécution des tâches.
RemarqueCertains types d'instances Hologres ne nécessitent pas d'initialisation. Si l'interface indique que cette étape n'est pas requise, vous pouvez immédiatement commencer à utiliser le moteur pour le développement des données.
-
Solution
-
Accordez les autorisations d'initialisation.
Sans les autorisations nécessaires, vous ne pouvez pas vérifier l'environnement réseau et le système vous demandera une autorisation. Accordez donc les stratégies suivantes avant de procéder à la vérification.
-
Stratégie 1 : AliyunHologresFullAccess
Cette stratégie donne accès aux informations détaillées sur l'instance Hologres et son réseau. Pour en savoir plus, consultez la section Accorder la stratégie AliyunHologresFullAccess.
-
Stratégie 2 : Créez la stratégie personnalisée suivante.
Elle permet de connecter les réseaux Hologres et DataWorks, de gérer les groupes de ressources et de finaliser la liaison. Pour plus de détails, reportez-vous à la rubrique Créer une stratégie personnalisée. La stratégie contient le contenu suivant.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "dataworks:*ResourceGroup", "Resource": "acs:dataworks:*:*:exclusive_resource_group/*" }, { "Effect": "Allow", "Action": "dataworks:Get*", "Resource": "acs:dataworks:*:*:*" }, { "Effect": "Allow", "Action": "ecs:DescribeSecurityGroups", "Resource": "acs:ecs:*:*:securitygroup/*" }, { "Effect": "Allow", "Action": "vpc:DescribeVpcs", "Resource": "acs:vpc:*:*:vpc/*" }, { "Effect": "Allow", "Action": "vpc:DescribeVSwitches", "Resource": "acs:vpc:*:*:vswitch/*" } ] }
-
-
Vérifiez et initialisez l'environnement réseau.
Sélectionnez le groupe de ressources exclusif destiné à la planification des tâches du moteur, puis lancez l'initialisation. Si le groupe de ressources requis n'est pas disponible, créez-en un en suivant les instructions de la rubrique Ajouter et utiliser un groupe de ressources exclusif pour la planification. L'interface affiche les Hologres instance network information, qui incluent le nom de l'instance, le VPC et le vSwitch pour les environnements de production et de développement. Dans la liste déroulante DataWorks exclusive resource group for scheduling, sélectionnez un groupe de ressources et vérifiez que l'état de l'initialisation est Completed.
-
Échec de la liaison en raison d'un nom d'instance dupliqué
-
Symptôme
Après avoir configuré les paramètres dans la boîte de dialogue Bind HologresDB et cliqué sur OK, le message d'erreur suivant s'affiche : « A compute engine instance with the same name already exists » ou « Internal tenant system error ».
-
Cause
Le Instance Display Name de l'instance Hologres entre en conflit avec celui d'une instance existante.
-
Solution
Modifiez le Instance Display Name et cliquez de nouveau sur OK.
Erreur « Permission denied » dans DataService Studio
-
Symptôme
Lorsque vous interrogez une table sur la page DataService Studio de la console DataWorks, l'erreur « Execution failed: ERROR: permission denied for table xxxx » s'affiche.
-
Cause
Le compte utilisateur configuré pour DataService Studio ne dispose pas des autorisations de lecture sur la table.
-
Solution
-
Vérifiez que le compte correct est configuré pour la source de données Hologres dans DataService Studio.
Connectez-vous à la console DataWorks, accédez à la page Data Source Management et vérifiez la configuration du compte utilisateur pour la source de données. Pour plus d'informations, consultez la rubrique Configurer une source de données Hologres.
-
Assurez-vous que le compte configuré pour la source de données Hologres possède les autorisations nécessaires pour afficher la table.
Connectez-vous à la console DataWorks, accédez à la page Data Source Management et vérifiez la configuration des autorisations du compte de la source de données. Pour en savoir plus, reportez-vous à la rubrique Configurer une source de données à l'aide de l'autorisation basée sur les rôles RAM.
Pour plus d'informations sur les autorisations et l'attribution de droits dans DataWorks, consultez la rubrique Annexe : Liste des rôles prédéfinis et des autorisations (niveau espace de travail).
-
Erreur dans l'environnement de production : permission denied for schema xxx
-
Symptôme
Lorsque vous publiez une tâche SQL pour qu'elle s'exécute dans l'environnement de production de DataWorks, l'erreur
permission denied for schema xxxs'affiche. -
Cause
Le compte de l'environnement de production ne dispose pas des autorisations d'accès au schéma de l'instance.
-
Solution
Accédez à la page de configuration de l'espace de travail DataWorks pour identifier le compte lié à l'environnement de production. Pour plus de détails, consultez la rubrique Créer et gérer un espace de travail. Vous trouverez cette configuration dans l'onglet Hologres de la section Compute Engine Information, sous le paramètre Access Identity de l'instance cible.
Connectez-vous à HoloWeb et accédez à la page Security Center. Sur la page Users ou Database Authorization, consultez les autorisations du compte de l'environnement de production.
Si le compte ne dispose pas des autorisations requises, accordez-les depuis la page Users ou Database Authorization. Pour plus d'informations, reportez-vous à la rubrique Gérer les bases de données.