Partager via


Gérer les utilisateurs dans Azure Data Manager for Energy

Dans cet article, vous apprenez à gérer les utilisateurs et leurs appartenances à des groupes OSDU dans Azure Data Manager for Energy. Les API de droits d’utilisation sont utilisées pour ajouter ou supprimer des utilisateurs à des groupes OSDU et pour vérifier les droits d’utilisation lorsque l’utilisateur tente d’accéder aux services ou données OSDU. Pour plus d’informations sur les concepts de groupe OSDU, consultez Droits d’utilisation.

Prérequis

Récupérer object-id

L’ID d’objet Azure (OID) est l’OID utilisateur Microsoft Entra.

  1. Commencez par recherche l’OID des utilisateurs. Si vous gérez l’accès d’une application, vous devez rechercher et utiliser l’ID d’application (ou l’ID client) au lieu de l’OID.

  2. Entrez l’OID des utilisateurs (ou l’ID client ou d’application si vous gérez l’accès pour une application) en tant que paramètres dans les appels à l’API de droits d’utilisation de votre instance Azure Data Manager for Energy. Vous devez utiliser l’identifiant d’objet, par l’identifiant de messagerie de l’utilisateur dans le paramètre.

    Capture d’écran montrant la recherche de l’identifiant d’objet à partir de Microsoft Entra ID.

    Capture d’écran montrant la recherche de l’OID à partir du profil.

Premier ajout d’utilisateurs dans une nouvelle partition de données

  1. Pour ajouter le premier administrateur à une nouvelle partition de données d’une instance Azure Data Manager for Energy, utilisez le jeton d’accès de l’OID utilisé pour approvisionner l’instance.

  2. Obtenez le jeton d’accès client-id à l’aide de Générer le jeton d’accès client-id.

    Si vous essayez d’utiliser directement votre propre jeton d’accès pour ajouter des droits d’utilisation, une erreur 401 est générée. Le jeton d’accès client-id doit être utilisé pour ajouter le premier ensemble d’utilisateurs dans le système. Ces utilisateurs (disposant d’un accès administrateur) peuvent ensuite gérer d’autres utilisateurs avec leur propre jeton d’accès.

  3. Utilisez le jeton d’accès client-id pour effectuer les étapes suivantes à l’aide des commandes décrites dans les sections suivantes :

    1. Ajoutez l’utilisateur au groupe OSDU users@<data-partition-id>.<domain> avec le rôle OWNER (PROPRIÉTAIRE).
    2. Ajoutez l’utilisateur au groupe OSDU users.datalake.ops@<data-partition-id>.<domain> avec le rôle OWNER (PROPRIÉTAIRE) pour lui octroyer l’accès à tous les groupes de services.
  4. L’utilisateur devient l’administrateur de la partition de données. L’administrateur peut ensuite ajouter ou supprimer d’autres utilisateurs aux groupes de droits d’utilisation requis :

    1. Obtenez le jeton d’authentification de l’administrateur en utilisant Générer le jeton d’accès de l’utilisateur et les mêmes valeurs client-id et client-secret.
    2. Obtenez le groupe OSDU, tel que service.legal.editor@<data-partition-id>.<domain>, auquel vous souhaitez ajouter d’autres utilisateurs à l’aide du jeton d’accès de l’administrateur.
    3. Ajoutez d’autres utilisateurs à ce groupe OSDU à l’aide du jeton d’accès de l’administrateur.
  5. users.data.root est le PROPRIÉTAIRE par défaut et permanent de tous les enregistrements de données lorsqu’ils sont créés automatiquement dans le système. Par conséquent, si l’utilisateur qui a créé l’enregistrement et en est le PROPRIÉTAIRE quitte l’organisation, les membres de users.data.root ont toujours accès à tous les enregistrements de données. Pour obtenir plus des informations détaillées, consultez Groupe racine de données.

  6. Lorsque vous ajoutez d’autres membres à un groupe OSDU donné, il existe une limite de 5 000 appartenances pour une identité spécifique, comme défini par la communauté OSDU.

Pour en savoir plus sur les groupes de démarrage OSDU, consultez cet article.

Obtenir la liste de tous les groupes auxquels vous avez accès dans une partition de données

Exécutez la commande curl suivante dans Azure Cloud Shell pour obtenir tous les groupes disponibles ou auxquels vous avez accès dans la partition de données spécifique de l’instance Azure Data Manager for Energy.

    curl --location --request GET "https://<adme-url>/api/entitlements/v2/groups/" \
    --header 'data-partition-id: <data-partition>' \
    --header 'Authorization: Bearer <access_token>'

Ajouter des membres à un groupe OSDU dans une partition de données

  1. Exécutez la commande curl suivante dans Azure Cloud Shell pour ajouter les utilisateurs au groupe d’utilisateurs à l’aide du service de droits d’utilisation.

  2. La valeur à envoyer pour le paramètre email est l’OID de l’utilisateur et non l’adresse e-mail de l’utilisateur.

        curl --location --request POST 'https://<adme-url>/api/entitlements/v2/groups/<group-name>@<data-partition-id>.<domain>/members' \
        --header 'data-partition-id: <data-partition-id>' \
        --header 'Authorization: Bearer <access_token>' \
        --header 'Content-Type: application/json' \
        --data-raw '{
                        "email": "<Object_ID_1>",
                        "role": "MEMBER"
                    },
                   {
                        "email": "<Object_ID_2>",
                        "role": "MEMBER"
                    }
                   '
    

    Exemple de demande pour le groupe OSDU d’utilisateurs

    Considérez une instance Azure Data Manager for Energy nommée medstest avec une partition de données nommée dp1.

        curl --location --request POST 'https://medstest.energy.azure.com/api/entitlements/v2/groups/users@medstest-dp1.dataservices.energy/members' \
        --header 'data-partition-id: medstest-dp1' \
        --header 'Authorization: Bearer abcdefgh123456.............' \
        --header 'Content-Type: application/json' \
        --data-raw '{
                        "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX",
                        "role": "MEMBER"
                    }'
    

    Exemple de réponse

        {
            "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX",
            "role": "MEMBER"
        }
    

    Exemple de demande pour le groupe OSDU de l’éditeur de services juridiques

        curl --location --request POST 'https://medstest.energy.azure.com/api/entitlements/v2/groups/service.legal.editor@medstest-dp1.dataservices.energy/members' \
        --header 'data-partition-id: medstest-dp1' \
        --header 'Authorization: Bearer abcdefgh123456.............' \
        --header 'Content-Type: application/json' \
        --data-raw '{
                        "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX",
                        "role": "MEMBER"
                    }'
    

    Important

    L’ID d’application est le propriétaire (OWNER) par défaut de tous les groupes.

    Capture d’écran montrant l’identifiant d’application dans Microsoft Entra ID.

Obtenir les groupes OSDU pour un utilisateur donné dans une partition de données

  1. Exécutez la commande curl ci-dessous dans Azure Cloud Bash pour obtenir tous les groupes associés à l’utilisateur.

        curl --location --request GET 'https://<adme-url>/api/entitlements/v2/members/<obejct-id>/groups?type=none' \
        --header 'data-partition-id: <data-partition-id>' \
        --header 'Authorization: Bearer <access_token>'
    

    Exemple de requête

    Considérez une instance Azure Data Manager for Energy nommée medstest avec une partition de données nommée dp1.

        curl --location --request GET 'https://medstest.energy.azure.com/api/entitlements/v2/members/90e0d063-2f8e-4244-860a-XXXXXXXXXX/groups?type=none' \
        --header 'data-partition-id: medstest-dp1' \
        --header 'Authorization: Bearer abcdefgh123456.............'
    

    Exemple de réponse

        {
        "desId": "90e0d063-2f8e-4244-860a-XXXXXXXXXX",
        "memberEmail": "90e0d063-2f8e-4244-860a-XXXXXXXXXX",
        "groups": [
            {
            "name": "users",
            "description": "Datalake users",
            "email": "users@medstest-dp1.dataservices.energy"
            },
            {
            "name": "service.search.user",
            "description": "Datalake Search users",
            "email": "service.search.user@medstest-dp1.dataservices.energy"
            }
        ]
        }
    

Supprimer un membre d’un groupe dans une partition de données

  1. Exécutez la commande curl suivante dans Azure Cloud Shell pour supprimer un membre spécifique d’un groupe.

  2. Si l’API tente de supprimer un membre du groupe users@, mais que le membre fait déjà partie d’autres groupes, la requête d’API échoue. Pour supprimer un membre du groupe users@ et ainsi de la partition de données, vous pouvez utiliser la commande Delete.

        curl --location --request DELETE 'https://<adme-url>/api/entitlements/v2/groups/<group-id>/members/<object-id>' \
        --header 'data-partition-id: <data-partition-id>' \
        --header 'Authorization: Bearer <access_token>'
    

Supprimer un utilisateur spécifique de tous les groupes d’une partition de données

  1. Exécutez la commande curl suivante dans Azure Cloud Shell pour supprimer un utilisateur spécifique d’une partition de données spécifique.

  2. Ne supprimez pas le propriétaire d’un groupe, sauf si vous disposez d’un autre propriétaire qui peut gérer les utilisateurs de ce groupe. Bien que users.data.root soit le propriétaire par défaut et permanent de tous les enregistrements de données.

        curl --location --request DELETE 'https://<adme-url>/api/entitlements/v2/members/<object-id>' \
        --header 'data-partition-id: <data-partition-id>' \
        --header 'Authorization: Bearer <access_token>'
    

    Exemple de requête

    Considérez une instance Azure Data Manager for Energy nommée medstest avec une partition de données nommée dp1.

        curl --location --request DELETE 'https://medstest.energy.azure.com/api/entitlements/v2/members/90e0d063-2f8e-4244-860a-XXXXXXXXXX' \
        --header 'data-partition-id: medstest-dp1' \
        --header 'Authorization: Bearer abcdefgh123456.............'
    

    Exemple de réponse

    Pas de sortie pour une réponse réussie.

Étapes suivantes

Après avoir ajouté des utilisateurs aux groupes, vous pouvez :

Vous pouvez également ingérer les données dans votre instance Azure Data Manager pour Energy :