Administración de usuarios, roles y permisos

Edge para nube privada v. 4.17.09

El sitio de documentación de Apigee tiene información extensa sobre la administración de roles y permisos de los usuarios. Los usuarios se pueden administrar con la IU de Edge y la API de Management. Los roles y los permisos solo se pueden administrar con la API de Management.

Para obtener información sobre los usuarios y cómo crearlos, consulta los siguientes vínculos:

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

Agrega 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 de Edge, consulta Crea usuarios globales.

Después de crear el usuario en una organización, debes asignarle un rol. Los roles 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>'

O usa el siguiente comando de Edge para crear un usuario:

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

Donde 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

Asigna el usuario a un rol en una organización

Antes de que un usuario nuevo pueda realizar cualquier 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 a un rol personalizado definido en la organización.

Cuando asignas un usuario a un rol en una organización, se agrega automáticamente a ese usuario a la organización. Asigna un usuario a varias organizaciones asignándole un rol en cada organización.

Usa el siguiente comando para asignar el 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 todos los roles asignados al usuario. Si deseas agregar al 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 los roles del usuario con el siguiente comando:

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

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

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

Agrega un administrador del sistema

Un administrador del sistema puede hacer lo siguiente:

  • Crea organizaciones
  • Agrega routers, Message Processors y otros componentes a una instalación de Edge
  • Configurar TLS/SSL
  • Crea administradores del sistema adicionales
  • Realizar todas las tareas administrativas de Edge

Si bien solo un usuario es el predeterminado para las tareas administrativas, puede haber más de un administrador del sistema. Cualquier usuario que sea miembro del rol sysadmin tiene permisos completos para 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 el rol de sysadmin. No se puede asignar un usuario al rol de sysadmin en la IU de Edge.

Para agregar un administrador del sistema, sigue estos pasos:

  1. Crea un usuario en la IU o la API de Edge.
  2. Agrega un usuario al rol 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 el rol de administrador del sistema:
    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

    Returns:
    {
    "resourcePermission" : [ {
    "path" : "/",
    "permissions" : [ "get", "put", "delete" ]
    } ]
    }
  5. Después de agregar al nuevo administrador del sistema, puedes agregar al usuario a cualquier organización.
    Nota: El nuevo usuario administrador del sistema no puede acceder a la IU de Edge hasta que lo agregues a, al menos, una organización.
  6. Si más adelante deseas quitar al usuario del rol 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 del rol, no lo borra.

Cambia el usuario administrador del sistema predeterminado

Cuando instalas Edge, especificas la dirección de correo electrónico del administrador del sistema. Edge crea un usuario con esa dirección de correo electrónico y lo configura como el administrador del sistema predeterminado. Más adelante, puedes agregar administradores del sistema adicionales como se describió anteriormente.

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 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 el administrador del sistema predeterminado actual, consulta 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 otro usuario, haz lo siguiente:

  1. Crea un administrador del sistema nuevo como se describió anteriormente o asegúrate de que la cuenta de usuario del administrador del sistema nuevo ya esté configurada como administrador del sistema.
  2. Edita /opt/apigee/customer/defaults.sh para establecer 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=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y
    Ten en cuenta que debes incluir las propiedades de SMTP porque todas las propiedades de la IU se restablecen.
  4. Vuelve a configurar 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 establecer la nueva dirección de correo electrónico y, luego, cambia la dirección de correo electrónico del administrador del sistema predeterminado:

  1. Actualiza la cuenta de usuario del usuario administrador del sistema predeterminado actual con una dirección de correo electrónico nueva:
    > 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. Repite los pasos 2, 3 y 4 del procedimiento anterior para actualizar el archivo /opt/apigee/customer/defaults.sh y actualizar 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 de Edge. Cuando agregas un administrador del sistema, si la dirección de correo electrónico del usuario no está en el dominio especificado, no se puede agregar al usuario al rol de sysadmin.

De forma predeterminada, el dominio requerido está vacío, lo que significa que puedes agregar cualquier dirección de correo electrónico al rol de sysadmin.

Para establecer el dominio de correo electrónico, sigue estos pasos:

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

    Si este archivo no existe, créalo.
  2. Establece 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 ahora intentas agregar un usuario al rol de administrador del sistema y la dirección de correo electrónico del usuario no está en uno de los dominios especificados, el proceso fallará.

Borra un usuario

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

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

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

Usa el siguiente comando de cURL para borrar un usuario:

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