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

Edge for Private Cloud v4.19.01

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 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

Où 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

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 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 cet utilisateur dans cette organisation. Utilisez 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 :

  • 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'administrateur système. Il n'est pas possible d'attribuer le rôle "sysadmin" à un utilisateur 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 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érifiez 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. Après avoir ajouté le nouvel administrateur système, vous pouvez l'ajouter à n'importe quelle 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 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, mais 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 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, 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=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 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 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 d'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 essayez d'ajouter un utilisateur au rôle "sysadmin" et que l'adresse e-mail de l'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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms-IP:8080/v1/users

Utilisez 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