Administra usuarios, roles y permisos

El sitio de documentación de Apigee tiene información detallada sobre la administración de roles y permisos de usuarios. Los usuarios se pueden administrar con la IU de New 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 lo siguiente:

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 como administrador del sistema. En una instalación de Edge para la nube privada, tu 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 New 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 New Edge, consulta Cómo crear 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 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>'

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 crea el usuario, como se muestra en el siguiente ejemplo:

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

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com

Cómo asignar el usuario a un rol en una organización

Antes de que un usuario nuevo pueda hacer algo, debe asignarse a un rol en una organización. Puedes asignar el usuario a diferentes roles, incluidos: orgadmin, businessuser, opsadmin, user, o a un rol personalizado definido en la organización.

Si asignas un usuario a un rol en una organización, se agrega automáticamente ese usuario a la organización. Para asignar un usuario a varias organizaciones, asígnale 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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

Esta llamada muestra todos los roles asignados 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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

Puedes ver los roles del usuario con el siguiente comando:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/userroles

Para quitar un usuario de una organización, quita todos los roles de esa organización del usuario. Usa el siguiente comando para quitar un rol de un usuario:

curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
  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
  • Agregar routers, procesadores de mensajes y otros componentes a una instalación de Edge
  • Configurar TLS/SSL
  • Crear administradores del sistema adicionales
  • Realizar 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 del rol "sysadmin" tiene permisos completos para todos los recursos.

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

Para agregar un administrador del sistema, haz lo siguiente:

  1. Crea un usuario en la IU de New Edge o en la API.
  2. Agrega el usuario al rol "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. Asegúrate de que el usuario nuevo esté en el rol "sysadmin":
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD 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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/permissions

    Se muestra lo siguiente:

    {
      "resourcePermission" : [ {
      "path" : "/",
        "permissions" : [ "get", "put", "delete" ]
      } ]
    }
  5. Después de agregar el nuevo administrador del sistema, puedes agregar el usuario a cualquier organización.
  6. Si más adelante deseas quitar el usuario del rol de administrador del sistema, puedes usar la siguiente API:
    curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/userroles/sysadmin/users/foo@bar.com

    Ten en cuenta que esta llamada solo quita el usuario del rol, no lo borra.

Cómo cambiar 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 establece 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 actualmente como administradores del sistema, usa la siguiente llamada a la API:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/userroles/sysadmin/users

Para determinar el administrador del sistema predeterminado actual, consulta el /opt/apigee/customer/defaults.sh archivo. 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 para que sea un usuario diferente, haz lo siguiente:

  1. Crea un administrador del sistema nuevo como se describió anteriormente o asegúrate de que la cuenta de usuario de el nuevo administrador del sistema 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 New Edge para establecer las siguientes propiedades:
    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

    Ten en cuenta que debes incluir las propiedades de SMTP porque se restablecen todas las propiedades en la IU de New Edge.

  4. Vuelve a configurar la IU de New Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui start

Si solo deseas 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 administrador del sistema predeterminado actual con una dirección de correo electrónico nueva:
    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. Repite los pasos 2, 3 y 4 del procedimiento anterior para actualizar el /opt/apigee/customer/defaults.sh archivo y la IU de New Edge.

Cómo especificar 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 podrá agregar el usuario al rol "sysadmin".

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

Para establecer el dominio de correo electrónico, haz lo siguiente:

  1. Abre el archivo management-server.properties en un editor:
    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 separada por comas de los dominios permitidos. 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 "sysadmin" y la dirección de correo electrónico del usuario 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 New 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 curl comando:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms-IP:8080/v1/users

Usa el siguiente comando curl para borrar un usuario:

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