El sitio de documentación de Apigee contiene mucha información sobre la administración de roles y permisos de usuarios. Los usuarios se pueden administrar mediante la IU de Edge y la API de Management. Las funciones y los permisos solo se pueden administrar con la API de Management.
Para obtener información sobre los usuarios y cómo crear usuarios, 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 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 mediante 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. 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 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>'
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
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
Asignar al 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
y user
, o a un rol personalizado definido en la organización.
Cuando se asigna un usuario a un rol en una organización, se agrega automáticamente a ese usuario a la organización. Puedes asignar un usuario a varias organizaciones mediante un rol en cada una de ellas.
Usa el siguiente comando para asignar al usuario 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
En esta llamada, se muestran todos los roles asignados al usuario. Si deseas agregar el usuario y mostrar solo la función nueva, 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 a un usuario de una organización, quítale todos los roles de esa organización. Usa el siguiente comando para quitarle un rol a 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
Agrega un administrador del sistema
Un administrador del sistema puede hacer lo siguiente:
- Crear organizaciones
- Cómo agregar routers, procesadores de mensajes y otros componentes a una instalación de Edge
- Configurar TLS/SSL
- Cómo 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 para todos los recursos.
Puedes crear el usuario para el administrador del sistema en la API o la IU de Edge. Sin embargo, debes usar la API de Edge para asignar al usuario la función de “administrador del sistema”. No se puede asignar un usuario a la función “sysadmin” en la IU de Edge.
Para agregar un administrador del sistema, haz lo siguiente:
- Crea un usuario en la API o la IU de Edge.
- Agrega un usuario a la función “sysadmin”:
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \ -X POST http://ms_IP:8080/v1/userroles/sysadmin/users -d 'id=foo@bar.com'
- Asegúrate de que el usuario nuevo tenga el rol “administrador del sistema”:
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 " ]
- 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" ] } ] }
- Después de agregar al nuevo administrador del sistema, podrás agregar al usuario a cualquier organización.
- Si más adelante quieres quitar al 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 al usuario del rol, no lo borra.
Cambia el usuario administrador del sistema predeterminado
Cuando instalas Edge, debes especificar 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 administrador del sistema predeterminado. Luego, 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 para el 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 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 y usar otro usuario, haz lo siguiente:
- Crea un nuevo administrador del sistema como se describió anteriormente o asegúrate de que la cuenta de usuario del nuevo administrador del sistema ya esté configurada como administrador del sistema.
- Edita
/opt/apigee/customer/defaults.sh
para establecerADMIN_EMAIL
en la dirección de correo electrónico del nuevo administrador del sistema. - Edita el archivo de configuración silencioso que usaste para instalar la IU de Edge a fin de 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 todas las propiedades en la IU se restablecen.
- 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 deseas cambiar la dirección de correo electrónico de la cuenta de usuario del administrador del sistema predeterminado actual, primero debes actualizar la cuenta de usuario para establecer la nueva dirección de correo electrónico y, luego, cambiar la dirección de correo electrónico predeterminada del administrador del sistema:
- Actualiza la cuenta de usuario del usuario administrador del sistema predeterminado actual con una nueva dirección de correo electrónico:
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"}'
- Repite los pasos 2, 3 y 4 del procedimiento anterior para actualizar el archivo
/opt/apigee/customer/defaults.sh
y la IU de Edge.
Especificación del dominio de correo electrónico de un administrador del sistema
Como nivel adicional de seguridad, puedes especificar el dominio de correo electrónico requerido de un administrador del sistema Edge. Cuando se agrega un administrador del sistema, si la dirección de correo electrónico del usuario no está en el dominio especificado, falla el proceso de agregar el usuario a la función “sysadmin”.
De forma predeterminada, el dominio requerido está vacío, lo que significa que puedes agregar cualquier dirección de correo electrónico a la función “sysadmin”.
Para configurar el dominio del correo electrónico, haz lo siguiente:
- Abre el archivo
management-server.properties
en un editor:vi /opt/apigee/customer/application/management-server.properties
Si el archivo no existe, créalo.
- 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
. - Guarda los cambios.
- Reinicia el servidor de administración perimetral:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Si ahora intentas agregar un usuario a la función “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 mediante la API de Edge o la IU de Edge. Sin embargo, solo puedes borrar usuarios con la API.
Para ver la lista de usuarios actuales, incluida la dirección de correo electrónico, usa el siguiente comando curl
:
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms-IP:8080/v1/users
Usa el siguiente comando de curl
para borrar un usuario:
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD -X DELETE http://ms_IP:8080/v1/users/USER_EMAIL