Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
En este tema, se describe cómo crear y administrar recursos de API en un espacio. Puedes crear proxies de API, flujos compartidos y productos de API en un espacio. Los recursos creados en el espacio heredan los mismos permisos que el espacio.
Crear recursos en un espacio es lo mismo que crear recursos en una organización de Apigee, excepto que puedes seleccionar un espacio cuando creas el recurso. Puedes crear recursos de API desde la línea de comandos con las APIs de Apigee o con Apigee en la consola de Cloud.
En esta guía, se describen los pasos necesarios para hacer lo siguiente:
- Crea proxies de API en un espacio
- Crea flujos compartidos en un espacio
- Crea productos de API en un espacio
- Enumera todos los recursos de API en un espacio
Para obtener una descripción general de los espacios de Apigee, consulta Espacios de Apigee.
Para obtener más información sobre los tipos de recursos de la API de Apigee, consulta los siguientes artículos:
Antes de comenzar
Antes de comenzar a crear recursos de API en Apigee Spaces, asegúrate de completar las siguientes tareas:
- Aprovisiona tu organización de suscripción o pago por uso de Apigee. Si deseas obtener más información sobre los pasos necesarios para aprovisionar Apigee, consulta Configura Apigee.
- Crea un espacio en tu organización de Apigee. Para obtener más información, consulta Crea espacios de Apigee.
- Asignar miembros a un espacio Para obtener más información, consulta Cómo administrar miembros y roles en un espacio.
Roles y permisos requeridos
Con la introducción de los espacios de Apigee, cambió la forma en que IAM verifica los permisos necesarios para realizar algunas operaciones en los recursos de la API. Si el recurso de la API existe en un espacio, IAM buscará los permisos adecuados a nivel del espacio para el miembro del espacio que realiza la operación. Para obtener más información, consulta Roles y permisos de Apigee Spaces y Jerarquía de permisos de IAM para Apigee Spaces.
Asigna roles y permisos a los miembros del espacio
Existen tres roles personalizados disponibles para los miembros del espacio:
apigee.spaceContentEditor
: Proporciona acceso completo a los recursos que se pueden asociar a un espacio. Este rol se debe otorgar a nivel del espacio.apigee.spaceContentViewer
: Proporciona acceso de solo lectura a los recursos que se pueden asociar con un espacio. Este rol se debe otorgar a nivel del espacio.apigee.spaceConsoleUser
: Proporciona los permisos mínimos necesarios para administrar recursos en un espacio con la consola de Google Cloud . Este rol se debe otorgar a nivel del Google Cloud proyecto a los usuarios con acceso a los recursos de ese espacio.
Los roles personalizados que se describen en esta sección no otorgan a los miembros del espacio la capacidad de
implementar o anular la implementación de proxies de API o flujos compartidos. Si quieres permitir que un miembro del espacio administre implementaciones, establece una política de IAM a nivel del entorno de Apigee o del proyecto Google Cloud que otorgue el rol apigee.environment.admin
al miembro del espacio.
Puedes asignar uno o más roles a un miembro de un espacio con uno de los siguientes métodos:
- Agrega el rol
apigee.spaceContentEditor
al espacio con la API y agrega el rolapigee.environmentAdmin
al entorno de destino con la API. - Agrega los roles al proyecto con la interfaz de usuario de IAM.
Para verificar los roles a nivel del proyecto Google Cloud , sigue estos pasos:
-
En la consola de Google Cloud , ve a la página IAM.
Ir a IAM - Selecciona el proyecto.
-
En la columna Principal, busca todas las filas que te identifiquen a ti o a un grupo en el que se te incluya. Para saber en qué grupos estás incluido, comunícate con tu administrador.
- Para todas las filas en las que se te especifique o se te incluya, verifica la columna Rol para ver si la lista de roles incluye los roles necesarios.
Otorga los roles
-
En la consola de Google Cloud , ve a la página IAM.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Grant access.
-
En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.
- En la lista Seleccionar un rol, elige un rol.
- Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
- Haz clic en Guardar.
Para verificar las políticas de IAM aplicadas a nivel del espacio, consulta Cómo administrar miembros y roles en un espacio.
Administra proxies de API en un espacio
Los miembros de la organización de Apigee asignados a un espacio pueden crear proxies de API como recursos del espacio. Los miembros asignados solo a otros espacios no podrán acceder a estos proxies ni administrarlos.
Crea un proxy de API como recurso de espacio con Apigee en la consola de Cloud o la API, como se describe en las siguientes secciones.
Apigee en la consola de Cloud
Para crear un proxy de API como recurso de espacio con Apigee en la consola de Cloud, haz lo siguiente:
- Sigue los pasos que se describen en Cómo crear un proxy de API.
- En el Paso 5, verás un campo adicional en Detalles del proxy en el que puedes seleccionar un Espacio para el proxy de API. Selecciona un espacio del cuadro de lista. Si no deseas asignar el proxy de API a un espacio, puedes omitir este campo.
- Haz clic en Siguiente para continuar con el paso de implementación opcional de la creación de proxy o haz clic en Crear para crear el proxy sin implementarlo.
API de Apigee
Para crear un proxy de API como recurso de espacio con las APIs de Apigee, usa el siguiente comando:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/apis?name=PROXY_NAME&space=SPACE_NAME&action=import" \ -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-type: multipart/form-data" \ -F "file=@PROXY_BUNDLE"
Aquí:
- ORG_NAME es el nombre de tu organización de Apigee.
- PROXY_NAME es el nombre del proxy de API que estás creando. El nombre debe ser único a nivel global y no solo dentro del espacio.
- SPACE_NAME es el nombre del espacio en el que creas el proxy de API.
- PROXY_BUNDLE es el nombre del archivo del paquete de proxy de API.
Por ejemplo, con el siguiente comando, un miembro del equipo red crea un proxy de API llamado proxy-1 como el recurso de espacio red en la organización acme con el archivo proxy-bundle.zip:
curl "https://apigee.googleapis.com/v1/organizations/acme/apis?name=proxy-1&space=red&action=import" \ -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-type: multipart/form-data \ -F "file=@proxy-bundle.zip"
En el siguiente ejemplo, se muestra la respuesta al comando:
{ "basepaths": ["/proxy-1"], "revision": 1, "apiProxyId": "proxy-1", "resourceName": "organizations/acme/apis/proxy-1/revisions/1", "space": "red", "createTime": ..., "updateTime": ... }
Administra flujos compartidos como recursos de espacio
Los miembros asignados a un espacio también pueden crear flujos compartidos como recursos del espacio. Los miembros de otros espacios no podrán acceder a estos flujos compartidos ni administrarlos.
Crea un flujo compartido como recurso de espacio con la consola de Apigee en Cloud o la API, como se describe en las siguientes secciones.
Apigee en la consola de Cloud
Para crear un flujo compartido como recurso de espacio con Apigee en la consola de Cloud, sigue estos pasos:- Sigue los pasos que se describen en Cómo crear un flujo compartido en la IU de Apigee para crear un flujo compartido nuevo desde cero o subir un paquete de flujo existente.
- En el Paso 4, verás un campo adicional en el diálogo Create a shared flow en el que puedes seleccionar un espacio para el proxy de API. Selecciona un espacio del cuadro de lista. Si no deseas asignar el proxy de API a un espacio, puedes omitir este campo.
- Haz clic en Crear para crear el flujo compartido.
API de Apigee
Para crear un flujo compartido como recurso de espacio con las APIs de Apigee, usa el siguiente comando:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sharedflows?name=FLOW_NAME&space=SPACE_NAME&action=import" \ -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-type: multipart/form-data" \ -F "file=@SHARED_FLOW_BUNDLE"
Aquí:
- ORG_NAME es el nombre de tu organización de Apigee.
- FLOW_NAME es el nombre del flujo compartido que estás creando. El nombre debe ser único a nivel global y no solo dentro del espacio.
- SPACE_NAME es el nombre del espacio en el que creas el flujo compartido.
- SHARED_FLOW_BUNDLE es el nombre del archivo del paquete de flujo compartido.
Por ejemplo, con el siguiente comando, un miembro del equipo red crea un flujo compartido llamado flow-1 asociado con el espacio red de la organización acme:
curl "https://apigee.googleapis.com/v1/organizations/acme/sharedflows?name=flow-1&space=red&action=import" \ -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-type: multipart/form-data" \ -F "file=@sharedflow-bundle.zip"
En el siguiente ejemplo, se muestra la respuesta al comando:
{ "name": "organizations/acme/sharedflows/flow-1", "revision": 1, "sharedFlowId": "flow-1", "space": "red", "createTime": ..., "updateTime": ... }
Administra un producto de API como recurso de espacio
Los miembros asignados a un espacio pueden crear un producto de API para agrupar sus proxies de API. Cuando se crean productos de API, los miembros del espacio pueden seleccionar cualquier proxy de API al que tengan acceso, incluidos los proxies creados directamente en la organización y los proxies de API creados como recursos en los espacios en los que tienen membresía. Los miembros de otros espacios no podrán acceder a estos productos de la API ni administrarlos.
Crea un producto de API como recurso de espacio con Apigee en la consola de Cloud o la API, como se describe en las siguientes secciones.
Apigee en la consola de Cloud
Para crear un producto de API como recurso de espacio con Apigee en la consola de Cloud, haz lo siguiente:
- Sigue los pasos que se indican en Cómo crear un producto de API.
- En el Paso 4, verás un campo adicional en la página Detalles del producto en el que puedes seleccionar un Espacio para el producto de la API. Selecciona un espacio del cuadro de lista. Si no deseas asignar el producto de la API a un espacio, puedes omitir este campo.
- Completa la información de configuración restante y, luego, haz clic en Guardar.
API de Apigee
Para crear un producto de API como recurso de espacio con la API, envía una solicitud al extremo apiproducts/create
y agrega la propiedad space
.
Por ejemplo, el siguiente comando crearía un producto de API llamado product-1 en la organización acme
y lo asociaría con el espacio red:
curl -X POST "https://apigee.googleapis.com/v1/organizations/acme/apiproducts" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-type: application/json" -d \ `{ "name": "product-1", "displayName": "product-1", "approvalType": "auto", "attributes": [ { "name": "access", "value": "internal" } ], "environments": [ "test" ], "operationGroup": { "operationConfigs": [ { "apiSource": "proxy-1", "operations": [ { "resource": "/", "methods": [ "GET" ] } ] } ], "operationConfigType": "proxy" }, "space": "red" }'
En el siguiente ejemplo, se muestra la respuesta al comando:
{ "name": "product-1", "displayName": "product-1", "approvalType": "auto", "attributes": [ { "name": "access", "value": "internal" } ], "environments": [ "test" ], "createdAt": "1741977778448", "lastModifiedAt": "1741977778448", "operationGroup": { "operationConfigs": [ { "apiSource": "proxy-1", "operations": [ { "resource": "/", "methods": [ "GET" ] } ] } ], "operationConfigType": "proxy" }, "space": "red" }
Enumera todos los recursos de API asociados con un espacio
Para todas las operaciones de enumeración, incluidas ListApiProxies
, ListSharedFlows
y ListApiProducts
, puedes especificar un nombre de espacio a fin de enumerar todos los recursos asociados con ese espacio.
Si no especificas un nombre de espacio, la operación de lista mostrará todos los recursos de la organización a los que tienes permiso para acceder, sin importar si están asociados con el espacio o no.
Es importante tener en cuenta que, cuando se usa la función Apigee Spaces, los resultados de las operaciones list
para los recursos de API asignados a un espacio se limitarán a los resultados de los espacios a los que puede acceder la principal. Por ejemplo, si a acme-team@acme.com
se le otorga el rol de apigee.spaceContentEditor
para el espacio red, los miembros del equipo acme-team
que usen la operación list
solo verán los proxies de API asociados con el espacio red y no todos los proxies de API de la organización.
Para realizar esta tarea, debes tener el permiso apigee.apiResources.list
. Este permiso se incluye en el rol Apigee > Apigee Organization Admin
.
Enumera los recursos de API asociados con un espacio específico
Enumera todos los recursos de API asociados con un espacio específico en la consola de Apigee en Cloud o con la API, como se describe en las siguientes secciones.
Apigee en la consola de Cloud
Para enumerar todos los recursos de API asociados con un espacio específico en la consola de Apigee en Cloud, abre la página general del tipo de recurso relevante (proxies de API, flujos compartidos o productos de API). En el cuadro Filtro, selecciona la opción Espacio de la lista y, luego, ingresa el nombre del espacio. Se muestra la lista de recursos asignados a ese espacio. Ten en cuenta que solo se muestran los recursos asociados con un espacio del que el usuario es miembro.
API de Apigee
Para enumerar todos los recursos de API asociados con un espacio especificado, usa el siguiente comando:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE?space=SPACE_NAME"
Aquí:
- ORG_NAME es el nombre de tu organización de Apigee.
- RESOURCE_TYPE es el nombre del recurso que deseas incluir en la lista. Estos son algunos de los valores válidos:
apis
sharedFlows
apiProducts
- SPACE_NAME es el nombre del espacio en el que enumeras el recurso.
Por ejemplo, con el siguiente comando, un miembro del equipo red enumera todos los proxies de API asociados con el espacio red de la organización acme:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/acme/apis?space=red"
En el siguiente ejemplo, se muestra la respuesta al comando:
{ "proxies": [ { "basepaths": "/proxy-1", "revision": "1", "apiProxyId": "proxy-1", "resourceName": "organizations/acme/apis/proxy-1/revisions/1", "space": "red", "createTime": ..., .... } ] }
Cómo enumerar recursos de API sin especificar un espacio
Enumera todos los recursos de API sin especificar un espacio en la consola de Apigee en Cloud o con la API, como se describe en las siguientes secciones.
Apigee en la consola de Cloud
Para ver una lista de todos los recursos de API de un tipo determinado en la consola de Apigee en Cloud, independientemente de la asociación con el espacio, abre la página de descripción general del tipo de recurso relevante (proxies de API, flujos compartidos o productos de API). Aparecerá una lista de todos los recursos disponibles. Ten en cuenta que solo se muestran los recursos que el usuario tiene permiso para ver. Esto incluye los recursos asociados con un espacio o espacios de los que el usuario es miembro, o bien recursos no asociados con un espacio.
API de Apigee
También puedes enumerar recursos de API sin especificar un espacio con el siguiente comando:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE"
Aquí:
- ORG_NAME es el nombre de tu organización de Apigee.
- RESOURCE_TYPE es el nombre del recurso que deseas incluir en la lista. Estos son algunos de los valores válidos:
apis
sharedFlows
apiProducts
Por ejemplo, un usuario con acceso Organization Admin
a todos los recursos de la organización puede usar el siguiente comando para enumerar todos los proxies de API de la organización acme:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/acme/apis"
Si la organización acme tiene tres proxies, el comando mostrará detalles de los tres proxies. Por ejemplo:
{ "proxies": [ { "basepaths": "/proxy-1", "revision": "1", "apiProxyId": "proxy-1", "resourceName": "organizations/acme/apis/proxy-1/revisions/1", "space": "red", "createTime": ..., .... }, { "basepaths": "/proxy-2", "revision": "1", "apiProxyId": "proxy-2", "resourceName": "organizations/acme/apis/proxy-2/revisions/1", "space": "blue", "createTime": ..., .... }, { "basepaths": "/proxy-3", "revision": "1", "apiProxyId": "proxy-3", "resourceName": "organizations/acme/apis/proxy-3/revisions/1", "space": "green", "createTime": ..., .... } ] }
Si otro usuario que solo tiene acceso apiAdmin
a los recursos en el espacio red usa el mismo comando, este solo mostrará detalles sobre proxy-1. La respuesta se vería de la siguiente manera:
{ "proxies": [ { "basepaths": "/proxy-1", "revision": "1", "apiProxyId": "proxy-1", "resourceName": "organizations/acme/apis/proxy-1/revisions/1", "space": "red", "createTime": ..., .... } ] }
¿Qué sigue?
- Obtén más información sobre Espacios de Apigee.
- Obtén más información para crear y administrar espacios de Apigee.
- Revisa la documentación de Identity and Access Management (IAM).