Administración de usuarios, roles y permisos

Edge para la nube privada v4.18.01

El sitio de documentación de Apigee ofrece una gran cantidad de información sobre cómo administrar las funciones y los permisos de los usuarios. Los usuarios se pueden administrar con la IU de Edge y la API de Management. Solo se pueden administrar funciones y permisos con la API de Management.

Para obtener más información sobre los usuarios y la creación de usuarios, consulta:

Muchas de las operaciones que realizas para administrar a los usuarios requieren privilegios de administrador del sistema. En una instalación de Edge basada en la nube, Apigee funciona como administrador de sistemas. En un perímetro para la instalación de nube privada, el administrador del sistema debe realizar estas tareas como se describe a continuación.

Cómo agregar un usuario

Puedes crear un usuario con la API de Edge, la IU de Edge o los comandos de Edge. En esta sección, se describe cómo usar la API de Edge y los comandos de Edge. Para obtener información sobre cómo crear usuarios en la IU perimetral, consulta Crea usuarios globales.

Después de crear el usuario en una organización, debes asignarle un rol. Las funciones determinan los derechos de acceso del usuario en Edge.

Usa el siguiente comando para crear un usuario con la API de 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>'

También puedes usar el siguiente comando de Edge para crear un usuario:

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

configFile contiene la información necesaria para crear el usuario:

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  

Luego, puedes usar esta llamada para ver información sobre el usuario:

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

Asignar al usuario a un rol en una organización

Para que un usuario nuevo pueda realizar una acción, se le debe asignar un rol en una organización. Puedes asignar al usuario a diferentes roles, incluidos orgadmin, businessuser, opsadmin, user, o un rol personalizado definido en la organización.

Cuando se asigna un usuario a un rol en una organización, se lo agrega automáticamente a la organización. Asigna un usuario a varias organizaciones mediante la asignación de un rol en cada organización.

Usa el siguiente comando para asignar al usuario a un rol en una organización:

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> 

Esta llamada muestra todas las funciones asignadas al usuario. Si deseas agregar el usuario, pero mostrar solo el rol nuevo, usa la siguiente llamada:

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>

Puedes ver las funciones del usuario con el siguiente comando:

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

Para quitar un usuario de una organización, quita todos los roles que tenga en ella. Usa el siguiente comando para quitar una función a un usuario:

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

Cómo agregar un administrador del sistema

Un administrador del sistema puede hacer lo siguiente:

  • Crear organizaciones
  • Agrega routers, procesadores de mensajes y otros componentes a una instalación de Edge
  • Configurar TLS/SSL
  • Crear administradores del sistema adicionales
  • Realiza todas las tareas administrativas de Edge

Si bien solo un usuario es el usuario predeterminado para las tareas administrativas, puede haber más de un administrador del sistema. Cualquier usuario que sea miembro de la función sysadmin tiene permisos completos de todos los recursos.

Puedes crear el usuario para el administrador del sistema en la IU o la API de Edge. Sin embargo, debes usar la API de Edge para asignar al usuario la función de sysadmin. La asignación de un usuario a la función sysadmin no se puede realizar en la IU perimetral.

Para agregar un administrador del sistema, sigue estos pasos:

  1. Crear un usuario en la IU o API de Edge
  2. Agregar usuario a la función de sysadmin:
    curl -u <sysAdminEmail>:<passwd> \
    -X POST http://<ms_IP>:8080/v1/userroles/sysadmin/users \
    -d 'id=foo@bar.com'
  3. Asegúrate de que el usuario nuevo tenga la función de administrador de sistemas:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/userroles/sysadmin/users

    Muestra la dirección de correo electrónico del usuario:
    [ " foo@bar.com " ]
  4. Verifica los permisos del usuario nuevo:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com/permissions

    Muestra:
    {
    "resourcePermission" : [ {
    "path" : "/",
    "permissions" : [ "get ] "

  5. Después de agregar el nuevo administrador del sistema, puede agregar el usuario a cualquier organización.
    Nota: El nuevo usuario administrador de sistemas no puede acceder a la IU de Edge hasta que agregues al usuario a al menos una organización.
  6. Si luego deseas quitar al usuario de la función de administrador del sistema, puedes usar la siguiente API:
    curl -X DELETE -u <sysadminEmail:pword>
    http://<ms_IP>:8080/v1/userroles/sysadmin/users/foo@bar.com


    Ten en cuenta que esta llamada solo quita al usuario de la función.

Cómo cambiar el usuario del administrador del sistema predeterminado

Cuando instales Edge, deberás especificar la dirección de correo electrónico del administrador del sistema. Edge creará un usuario con esa dirección de correo electrónico y lo configurará como el administrador de sistemas predeterminado. Luego, podrás agregar administradores de sistemas adicionales, como se describe más arriba.

En esta sección, se describe cómo cambiar el administrador del sistema predeterminado para que sea un usuario diferente y cómo cambiar la dirección de correo electrónico de la cuenta de usuario del administrador del sistema predeterminado actual.

Para ver la lista de usuarios configurados actualmente como administradores del sistema, usa la siguiente llamada a la API:

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

Para determinar cuál es el administrador del sistema predeterminado actual, consulte el archivo /opt/apigee/customer/defaults.sh. El archivo contiene la siguiente línea que muestra la dirección de correo electrónico del administrador del sistema predeterminado actual:

ADMIN_EMAIL=foo@bar.com

Para cambiar el administrador del sistema predeterminado por uno diferente:

  1. Crea un nuevo administrador del sistema como se describió anteriormente o asegúrate de que la cuenta de usuario del nuevo administrador ya esté configurada como administrador del sistema.
  2. Edita /opt/apigee/customer/defaults.sh para configurar ADMIN_EMAIL en la dirección de correo electrónico del nuevo administrador del sistema.
  3. Edita el archivo de configuración silenciosa que usaste para instalar la IU de Edge a fin de establecer las siguientes propiedades:
    ADMIN_EMAIL=emailAddressOfNewSysAdmin
    APIGEE_ADMINPW=pwOfNewSysAdmin

    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=SMSM


  4. Reconfigure la IU de 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 solo quieres cambiar la dirección de correo electrónico de la cuenta de usuario del administrador del sistema predeterminado actual, primero actualiza la cuenta de usuario para configurar la nueva dirección de correo electrónico y, luego, cambia la dirección predeterminada:

  1. Actualiza la cuenta de usuario del administrador de sistema predeterminado actual con una nueva dirección de correo electrónico:
    > curl -H content-type:application/json -X PUT /
    -u currentSysAdminEmail:passwd /
    http://<ms_IP>:8080/v1/users/currentSysAdminEmail """"""""""""""""
  2. Repite los pasos 2, 3 y 4 del procedimiento anterior para actualizar el archivo /opt/apigee/customer/defaults.sh y la IU de Edge.

Especifica el dominio de correo electrónico de un administrador del sistema

Como nivel de seguridad adicional, puedes especificar el dominio de correo electrónico requerido de un administrador del sistema perimetral. Cuando se agrega un administrador del sistema, si la dirección de correo electrónico del usuario no está en el dominio especificado, se produce una falla en la adición del usuario a la función sysadmin.

De forma predeterminada, el dominio obligatorio está vacío, por lo que puedes agregar cualquier dirección de correo electrónico a la función sysadmin.

Para configurar el dominio de correo electrónico, siga estos pasos:

  1. Abre en un editor management-server.properties:
    vi /opt/apigee/customer/application/management-server.properties

    Si no existe el archivo, créalo.
  2. Configura la propiedad conf_security_rbac.global.roles.allowed.domains en la lista de dominios permitidos, separados por comas. Por ejemplo:
    conf_security_rbac.global.roles.allowed.domains=myCo.com,yourCo.com
  3. Guarda los cambios.
  4. Reinicia el servidor de administración de Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

    Si intentas agregar un usuario a la función sysadmin y la dirección de correo electrónico no está en uno de los dominios especificados, la adición falla.

Borra un usuario

Puedes crear un usuario con la API de Edge o la IU de Edge. Sin embargo, solo puedes borrar un usuario mediante la API.

Para ver la lista de usuarios actuales, incluida la dirección de correo electrónico, usa el siguiente comando cURL:

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

Usa el siguiente comando cURL para borrar un usuario:

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