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

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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD -X POST http://ms_IP:8080/v1/users \
  -d '<User> \
    <FirstName>New</FirstName> \
    <LastName>User</LastName> \
    <Password>NEW_USER_PASSWORD</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 crée l'utilisateur, comme le montre l'exemple suivant:

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

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD 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, y compris orgadmin, businessuser, opsadmin ou user, 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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD 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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
  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. Ajouter l'utilisateur au rôle "sysadmin" :
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      -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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/userroles/sysadmin/users

    Renvoie l'adresse e-mail de l'utilisateur:

    [ " foo@bar.com " ]
  4. Vérifier les autorisations du nouvel utilisateur :
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD 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.
  6. Si vous souhaitez par la suite supprimer le rôle d'administrateur système pour l'utilisateur, vous pouvez utiliser l'API suivante :
    curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/userroles/sysadmin/users/foo@bar.com

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

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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD 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 afin de définir les propriétés suivantes :
    ADMIN_EMAIL=NEW_SYS_ADMIN_EMAIL
    APIGEE_ADMINPW=NEW_SYS_ADMIN_PASSWORD
    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'interface utilisateur 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 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 avec une nouvelle adresse e-mail :
    curl -H content-type:application/json -X PUT -u CURRENT_SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/users/CURRENT_SYS_ADMIN_EMAIL \
      -d '{"emailId": "NEW_SYS_ADMIN_EMAIL", "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 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 le fichier 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. 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 son adresse e-mail 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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms-IP:8080/v1/users

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD -X DELETE http://ms_IP:8080/v1/users/USER_EMAIL