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

Edge for Private Cloud v. 4.17.05

Le site de documentation Apigee contient 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 pages suivantes :

De nombreuses opérations que vous effectuez pour gérer les utilisateurs nécessitent des droits d'administrateur système. Dans une installation d'Edge basée sur le cloud, Apigee joue le rôle d'administrateur système. Dans une installation Edge for Private Cloud, 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 en savoir plus sur la création d'utilisateurs dans l'interface utilisateur Edge, consultez Créer des utilisateurs globaux.

Après avoir 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

Où configFile contient les informations nécessaires pour créer 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

Attribuer un rôle à l'utilisateur dans une organisation

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

L'attribution d'un rôle à un utilisateur dans une organisation l'ajoute automatiquement à l'organisation. Attribuez un utilisateur à plusieurs organisations en lui 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 cet utilisateur dans cette organisation. Utilisez 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 :

  • 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 d'autorisations complètes sur toutes les ressources.

Vous pouvez créer l'utilisateur pour l'administrateur système dans l'interface utilisateur ou l'API Edge. Toutefois, vous devez utiliser l'API Edge pour attribuer à l'utilisateur le rôle d'sysadmin. L'attribution d'un utilisateur au rôle sysadmin ne peut pas être effectuée dans l'interface utilisateur d'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 d'administrateur système :
    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

    Résultat :
    {
    "resourcePermission" : [ {
    "path" : "/",
    "permissions" : [ "get", "put", "delete" ]
    } ]
    }
  5. Après avoir ajouté le nouvel administrateur système, vous pouvez l'ajouter à 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 ultérieurement 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 ne supprime que l'utilisateur du rôle, il ne supprime pas l'utilisateur.

Modifier l'utilisateur 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 le définit comme administrateur système par défaut. Vous pourrez ajouter d'autres administrateurs système ultérieurement, comme décrit ci-dessus.

Cette section explique comment remplacer l'administrateur système par défaut par un autre utilisateur et comment modifier l'adresse e-mail du compte utilisateur de 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, qui indique 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 silencieux que vous avez utilisé pour installer l'interface utilisateur Edge afin de définir les propriétés suivantes :
    ADMIN_EMAIL=emailAddressOfNewSysAdmin
    APIGEE_ADMINPW=pwOfNewSysAdmin

    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y
    Notez que vous devez inclure les propriétés SMTP, car toutes les propriétés de l'interface utilisateur sont réinitialisées.
  4. Reconfigurez l'UI Edge :
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui start

Si vous souhaitez simplement modifier l'adresse e-mail du compte utilisateur de 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 avec une nouvelle adresse e-mail :
    > curl -H content-type:application/json -X PUT /
    -u currentSysAdminEmail:passwd /
    http://<ms_IP>:8080/v1/users/currentSysAdminEmail /
    -d '{"emailId": "newSysAdminEmail", "lastName": "admin", "firstName": "admin"}'
  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 d'un administrateur système Edge. Lorsque vous ajoutez 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 management-server.properties dans un éditeur :
    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. Par 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 d'ajouter un utilisateur au rôle d'administrateur système et que l'adresse e-mail de l'utilisateur ne figure 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

Utilisez la commande cURL suivante pour supprimer un utilisateur :

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