Gérer les utilisateurs, les rôles et les autorisations

Edge pour Private Cloud version 4.17.01

Le site de documentation Apigee offre des informations détaillées sur la gestion des rôles et des autorisations des utilisateurs. Les utilisateurs peuvent être gérés à l'aide de l'interface utilisateur Edge et de l'API Management ; les rôles et les autorisations ne peuvent être gérés qu'avec l'API Management.

Pour en savoir plus sur les utilisateurs et leur création, consultez les articles suivants:

De nombreuses opérations de gestion des utilisateurs nécessitent des droits d'administrateur système. Dans une installation Edge basée sur le cloud, Apigee fonctionne en tant qu'administrateur système. Dans une installation Edge pour le cloud privé, votre administrateur système doit effectuer ces tâches comme décrit ci-dessous.

Ajouter un utilisateur

Vous pouvez créer un utilisateur à l'aide de l'API Edge, de l'interface utilisateur Edge ou des commandes Edge. Cette section explique comment utiliser l'API Edge et les commandes Edge. Pour plus d'informations sur la création d'utilisateurs dans l'interface utilisateur Edge, voir Création d'utilisateurs globaux.

Une fois que vous avez créé l'utilisateur dans une organisation, vous devez lui attribuer un rôle. Les rôles déterminent les droits d'accès de l'utilisateur sur Edge.

Utilisez la commande suivante pour créer un utilisateur avec l'API Edge:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<passwd> \
-X POST http://<ms_IP>:8080/v1/users \
-d '<User> \
   <FirstName>New</FirstName> \
   <LastName>User</LastName> \
   <Password>newUserPWord</Password> \
   <EmailId>foo@bar.com</EmailId> \
</User>'

Vous pouvez également utiliser la commande Edge suivante pour créer un utilisateur:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-user -f configFile

configFile contient les informations nécessaires à la création de l'utilisateur:

APIGEE_ADMINPW=sysAdminPW    # If omitted, you will be prompted.
USER_NAME=foo@bar.com
FIRST_NAME=New
LAST_NAME=User
USER_PWD="newUserPWord"
ORG_NAME=myorg  

Vous pouvez ensuite utiliser cet appel pour afficher des informations sur l'utilisateur:

curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com

Attribution de l'utilisateur à un rôle dans une organisation

Pour qu'un nouvel utilisateur puisse effectuer une action, il doit lui être attribué un rôle dans l'organisation. Vous pouvez attribuer différents rôles à l'utilisateur (orgadmin, businessuser, opsadmin, user, etc.) ou à un rôle personnalisé défini dans l'organisation.

Lorsque vous attribuez un rôle à un utilisateur dans une organisation, celui-ci est automatiquement ajouté à l'organisation. Attribuez un utilisateur à plusieurs organisations en l'attribuant à un rôle dans chaque organisation.

Utilisez la commande suivante pour attribuer un rôle à l'utilisateur dans une organisation:

curl -X POST -H "Content-Type:application/x-www-form-urlencoded" /
http://<ms_IP>:8080/v1/o/<org_name>/userroles/<role>/users?id=foo@bar.com /
-u <sysAdminEmail>:<passwd> 

Cet appel affiche tous les rôles attribués à l'utilisateur. Si vous souhaitez ajouter l'utilisateur, mais n'afficher que le nouveau rôle, utilisez l'appel suivant:

curl -X POST -H "Content-Type: application/xml" /
http://<ms_IP>:8080/v1/o/<org_name>/users/foo@bar.com/userroles /
-d '<Roles><Role name="role"/></Roles>' /
-u <sysAdminEmail>:<passwd>

Vous pouvez afficher les rôles de l'utilisateur à l'aide de la commande suivante:

curl -u <sysAdminEmail>:<passwd> /
http://<ms_IP>:8080/v1/users/foo@bar.com/userroles

Pour supprimer un utilisateur d'une organisation, supprimez tous les rôles de cette organisation pour l'utilisateur. Exécutez la commande suivante pour supprimer un rôle d'un utilisateur:

curl -X DELETE -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/o/<org_name>/userroles/<role>/users/foo@bar.com

Ajouter un administrateur système

Un administrateur système peut effectuer les opérations suivantes:

  • Créer des organisations
  • Ajouter des routeurs, des processeurs de messages et d'autres composants à une installation Edge
  • configurer TLS/SSL ;
  • créer des administrateurs système supplémentaires ;
  • Effectuer toutes les tâches d'administration Edge

Bien qu'un seul utilisateur soit l'utilisateur par défaut pour les tâches d'administration, il peut y avoir plusieurs administrateurs système. Tout utilisateur membre du rôle sysadmin dispose de toutes les autorisations sur toutes les ressources.

Vous pouvez créer l'utilisateur pour l'administrateur système dans l'interface utilisateur Edge ou dans l'API. Cependant, vous devez utiliser l'API Edge pour attribuer à l'utilisateur le rôle d'administrateur système. L'attribution d'un utilisateur au rôle sysadmin ne peut être effectuée dans l'interface utilisateur Edge.

Pour ajouter un administrateur système:

  1. Créez un utilisateur dans l'interface utilisateur ou l'API Edge.
  2. Ajoutez l'utilisateur au rôle sysadmin:
    curl -u <sysAdminEmail>:<passwd> \
    -X POST http://<ms_IP>:8080/v1/userroles/sysadmin/users \
    -d 'id=foo@bar.com'
  3. Assurez-vous que le nouvel utilisateur dispose du rôle "sysadmin" :
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/userroles/sysadmin/users

    Renvoie l'adresse e-mail de l'utilisateur:
    [ " foo@bar.com " ]
  4. Vérifiez les autorisations du nouvel utilisateur:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com/permissions

    Renvoie:
    {
    "resourcePermission" : [ {
    "path" : "/",
    "permissions" : [ "get", "put", "delete"


  5. Une fois le nouvel administrateur système ajouté, vous pouvez ajouter l'utilisateur à n'importe quelle organisation.
    Remarque: Le nouvel administrateur système ne peut pas se connecter à l'interface utilisateur Edge tant que vous ne l'avez pas ajouté à au moins une organisation.
  6. Si vous souhaitez par la suite supprimer l'utilisateur du rôle d'administrateur système, vous pouvez utiliser l'API suivante:
    curl -X DELETE -u <sysadminEmail:pword>
    http://<ms_IP>:8080/v1/userroles/sysadmin/users/foo@bar.com


    Notez que cet appel supprime uniquement l'utilisateur du rôle.

Modification de l'administrateur système par défaut

Lorsque vous installez Edge, vous spécifiez l'adresse e-mail de l'administrateur système. Edge crée un utilisateur avec cette adresse e-mail et définit cet utilisateur comme administrateur système par défaut. Vous pouvez ensuite ajouter des administrateurs système supplémentaires, comme indiqué ci-dessus.

Cette section explique comment remplacer l'administrateur système par défaut par un autre utilisateur et modifier l'adresse e-mail du compte utilisateur pour l'administrateur système par défaut actuel.

Pour afficher la liste des utilisateurs actuellement configurés en tant qu'administrateurs système, utilisez l'appel d'API suivant:

curl -u sysAdminEmail:passwd http://<ms_IP>:8080/v1/userroles/sysadmin/users

Pour déterminer l'administrateur système par défaut actuel, consultez le fichier /opt/apigee/customer/defaults.sh. Le fichier contient la ligne suivante indiquant l'adresse e-mail de l'administrateur système par défaut actuel:

ADMIN_EMAIL=foo@bar.com

Pour remplacer l'administrateur système par défaut par un autre utilisateur:

  1. Créez un administrateur système comme décrit ci-dessus ou assurez-vous que le compte utilisateur du nouvel administrateur système est déjà configuré en tant qu'administrateur système.
  2. Modifiez /opt/apigee/customer/defaults.sh pour définir ADMIN_EMAIL sur l'adresse e-mail du nouvel administrateur système.
  3. Modifiez le fichier de configuration silencieuse que vous avez utilisé pour installer l'interface utilisateur Edge pour définir les propriétés suivantes:
    ADMIN_EMAIL=emailAddressOfNewSysAdmin
    APIGEE_ADMINPW=pwOfNewSysAdmin

    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    les propriétés de l'interface utilisateur SMTP=SMTP.


  4. Reconfigurez l'interface utilisateur Edge:
    > /opt/apigee/apigee-service/bin/apigee-service

    configFile

Si vous souhaitez uniquement modifier l'adresse e-mail du compte utilisateur pour l'administrateur système par défaut actuel, vous devez d'abord mettre à jour le compte utilisateur pour définir la nouvelle adresse e-mail, puis modifier l'adresse e-mail de l'administrateur système par défaut:

  1. Mettez à jour le compte utilisateur de l'administrateur système par défaut actuel en lui attribuant une nouvelle adresse e-mail :
    > curl -H content-type:application/json -X PUT /
    -u currentSysAdminEmail:passwd /
    http://<ms_IP>:8080/v1/users/currentAdminEmail / "
    "currentAdminEmail"
  2. Répétez les étapes 2, 3. et 4 de la procédure précédente pour mettre à jour le fichier /opt/apigee/customer/defaults.sh et l'interface utilisateur Edge.

Spécifier le domaine de messagerie d'un administrateur système

Pour renforcer la sécurité, vous pouvez spécifier le domaine de messagerie requis pour un administrateur système Edge. Lors de l'ajout d'un administrateur système, si l'adresse e-mail de l'utilisateur ne se trouve pas dans le domaine spécifié, l'ajout de l'utilisateur au rôle sysadmin échoue.

Par défaut, le domaine requis est vide, ce qui signifie que vous pouvez ajouter n'importe quelle adresse e-mail au rôle sysadmin.

Pour définir le domaine de messagerie:

  1. Ouvrez l'éditeur management-server.properties:
    vi /opt/apigee/customer/application/management-server.properties

    Si ce fichier n'existe pas, créez-le.
  2. Définissez la propriété conf_security_rbac.global.roles.allowed.domains sur la liste des domaines autorisés séparés par une virgule. Exemple:
    conf_security_rbac.global.roles.allowed.domains=myCo.com,yourCo.com
  3. Enregistrez les modifications.
  4. Redémarrez le serveur de gestion Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

    Si vous tentez maintenant d'ajouter un utilisateur au rôle "sysadmin" et que l'adresse e-mail de cet utilisateur ne se trouve pas dans l'un des domaines spécifiés, l'ajout échoue.

Supprimer un compte utilisateur

Vous pouvez créer un utilisateur à l'aide de l'API Edge ou de l'interface utilisateur Edge. Toutefois, vous ne pouvez supprimer un utilisateur qu'à l'aide de l'API.

Pour afficher la liste des utilisateurs actuels, y compris leur adresse e-mail, utilisez la commande cURL suivante:

curl -u <sysAdminEmail>:<passwd> http://<ms-IP>:8080/v1/users

Exécutez la commande cURL suivante pour supprimer un utilisateur:

curl -u <sysAdminEmail>:<passwd> -X DELETE http://<ms-IP>:8080/v1/users/<userEmail>