Crea funciones con la API

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

En este tema, se explica cómo crear roles personalizados y asignar roles a los usuarios a través del Management de Google. También mostramos cómo probar las asignaciones de roles con la API. (Para obtener una descripción general roles personalizados, consulta Crea roles personalizados en la IU).

Información acerca de la configuración de permisos

Los permisos de rol se establecen en los URIs de la API de administración (no en los URI de la IU de administración). Por ejemplo, si configurar permisos PUT, GET o DELETE en las entidades del desarrollador de apps en Edge de tu organización, deberías establecer permisos en el recurso /developers, ya que de administración de identidades para desarrolladores es https://api.enterprise.apigee.com/v1/organizations/{org_name}/developers (No necesitas incluir la parte de la organización de la ruta cuando defines los permisos, ya que los permisos se limitan a una organización específica, ya que la API de administración llama en este tema illustrate.)

También puedes establecer permisos en entidades específicas. Por ejemplo:

  • Si quieres establecer permisos para un solo desarrollador, configúralos en /developers/steve@example.com
  • Para un producto de API específico, como free-api-product, configúralos. el /apiproducts/free-api-product
  • Para un mapa de par clave-valor en un entorno específico, deberías establecer permisos en algo como /environments/test/keyvaluemaps/fooMap o /environments/test/keyvaluemaps/* para todos los mapas de par clave-valor de la prueba. en un entorno de nube.

Los permisos que estableces con la API son los siguientes:

  • Permitir que los usuarios con un rol personalizado creen API de Management llamadas según sus permisos. Por ejemplo, si un rol permite acceso de solo lectura para todos los proxies de API, un usuario con esa función podría usar la API de List API Proxies, pero no la Crea una API de proxy de API.
  • Determinar qué pueden ver y hacer los usuarios de un rol personalizado en la IU de administración. Por ejemplo: El acceso de solo lectura a los proxies de API inhabilita el acceso a los botones + Proxy de API y Borrar en la API. Página de proxies

Para ver los recursos y las rutas para los que puedes establecer permisos, consulta la referencia de la API de Management en las diferentes URLs de recursos.

Consulta la API de User roles para obtener información de referencia completa sobre lo siguiente: la administración de roles.

Sintaxis y prioridad

Puedes utilizar el comodín de asterisco (*) para indicar “todo lo que sigue”. en una configuración de permisos. Sin embargo, si estableces permisos solo en un recurso superior (como en /developers) sin si estableces permisos más específicos (como /developers/*), el permiso se aplicará a desde /developers y después.

PUT también funciona como POST en los permisos.

Puedes combinar permisos generales con permisos más detallados sobre los recursos. La configuración más detallada tienen prioridad cuando hay una superposición de permisos. Por ejemplo, supongamos lo siguiente los permisos se configuran en un "administrador de desarrolladores" rol:

  • PUT en /developers
  • GET en /developers/*

Esto significa que el administrador de desarrollo puede hacer lo siguiente:

  • Crear un desarrollador, pero no actualizar ningún desarrollador específico ni ninguna subentidad (debido a el permiso GET más específico para esa ruta).
  • Obtener cualquier desarrollador o subentidad, pero no obtener una lista de todos los desarrolladores

Consulta la Referencia de permisos para obtener una lista completa de los permisos que puedes configurar con la API.

Crea un nuevo rol personalizado llamado “development”

Crea un “desarrollo” para permitir que los desarrolladores vean, creen y actualicen los proxies de API.

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "development" } ] }'

Agrega permisos a la función de desarrollo

Los permisos que se pueden establecer en un grupo completo de artefactos de Edge (como todos los elementos /apps, /apis, /apiproducts, etc.), así como en artefactos individuales (como una app específica, una API o producto de API) son GET, PUT y DELETE.

GET permite a los usuarios ver cualquier API, incluidos los archivos de configuración de proxy de API, asociados políticas, JavaScript, archivos XSLT, etcétera. El permiso PUT en las APIs permite a los desarrolladores crear, modificar, importar, exportar, implementar y anular la implementación de proxies de API.

El atributo de la ruta de acceso especifica el artefacto en el que configuraste los permisos. Por ejemplo: /apps, /apps, /apiproducts, /developers o /reports.

curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/development/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "put", "get" ]}'

Crea un rol: pruebas

Crea una prueba rol que permite a los ingenieros de calidad ver los proxies de API y su contenido (incluidas, por ejemplo, las políticas).

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "testing" } ] }'

Agrega permisos a la función de prueba

GET permite a los usuarios ver cualquier API, incluidos sus archivos de configuración, así como cualquier políticas asociadas, JavaScript, archivos XSLT, etcétera. Al agregar este permiso "testing" permitimos que los ingenieros de calidad vean el contenido de las APIs y pruebas. Sin embargo, los usuarios que tengan este rol no podrán crear, modificar, importar, exportar ni implementar y anular la implementación de proxies de API.

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/testing/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "get" ]}'

Para una instalación local de Edge, el conjunto mínimo de permisos que se deben establecer como que permiten que el usuario acceda a la IU de Edge:

{"path" : "/","permissions" : [ "get" ]}
{"path" : "/*","permissions" : [ ]}
{"path" : "/environments","permissions" : [ "get" ]}
{"path" : "/userroles","permissions" : [ "get" ]}

Usa el siguiente comando de cURL para establecer estos permisos:

curl -H "Content-Type:application/json" -u email:password \
-X POST \
http://<ms-IP>:8080/v1/organizations/{org_name}/userroles/testing/resourcepermissions  \
-d '{
 "resourcePermission" : [ 
   {
    "path" : "/",
    "permissions" : [ "get" ]
   }, 
{
    "path" : "/*",
    "permissions" : []
   },
{
    "path" : "/environments",
    "permissions" : [ "get" ]
   },
   {
    "path" : "/userroles",
    "permissions" : [ "get"]
   }
  ]
}'

donde &lt;ms-IP&gt; es la dirección IP o el nombre de DNS del servidor de administración perimetral.

Agrega un usuario a la función de prueba

Para aprovisionar a un usuario con un rol del usuario, sigue estos pasos:

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "testing"} ] }'

Ver APIs como usuario

Suplantar la identidad del usuario y realizar una solicitud a la API Servicios para ver proxies de API. El usuario debería poder ver las APIs junto con su contenido.
$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis
$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/policies

Crear una API como un usuario en la función de prueba

Suplantar la identidad del usuario y realizar una solicitud a los servicios de API para crear un proxy de API La solicitud serán rechazados por los servicios de API, ya que el rol “prueba” no permite que el usuario cree APIs

$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'

Agregar usuario a la función de desarrollo

Ahora, proporciona al usuario el rol de desarrollo en el área de la seguridad en la nube.

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "development"} ] }'

Crear API como usuario en el rol de desarrollo

Suplantar la identidad del usuario y repetir la solicitud a la plataforma de APIs para crear un proxy de API El solicitud será exitosa, ya que el rol “desarrollo” permite al usuario crear APIs.

$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'

Cómo obtener roles para un usuario

Como administrador de la organización, puedes verificar la lista de roles de un usuario (en todas organizaciones) en cualquier momento:

$ curl -u email:password -X GET https://api.enterprise.apigee.com/v1/users/justauser@apigee.com/userroles