Esta página se aplica à Apigee e à Apigee híbrida.
Confira a documentação da
Apigee Edge.
Este tópico descreve como criar e gerenciar recursos de API em um Espaço. É possível criar proxies de API, fluxos compartilhados e produtos de API em um espaço. Os recursos criados no espaço herdam as mesmas permissões que ele.
Criar recursos em um espaço é o mesmo que criar recursos em uma organização da Apigee, mas é possível selecionar um espaço ao criar o recurso. É possível criar recursos de API na linha de comando usando as APIs da Apigee ou a Apigee no console do Cloud.
Este guia descreve as etapas necessárias para:
- Criar proxies de API em um espaço
- Criar fluxos compartilhados em um espaço
- Criar produtos de API em um espaço
- Listar todos os recursos de API em um espaço
Para uma visão geral do Apigee Spaces, consulte Apigee Spaces.
Para mais informações sobre os tipos de recursos da API Apigee, consulte:
- Como criar um proxy de API
- Como criar fluxos compartilhados reutilizáveis
- Introdução aos produtos de API
Antes de começar
Antes de começar a criar recursos de API nos espaços da Apigee, conclua as seguintes tarefas:
- Provisione sua organização de assinatura ou pagamento por uso da Apigee. Para mais informações sobre as etapas necessárias para provisionar a Apigee, consulte Configurar a Apigee.
- Crie um espaço na sua organização da Apigee. Para mais informações, consulte Criar espaços da Apigee.
- Atribuir participantes a um espaço. Confira mais informações em Gerenciar participantes e funções em um espaço.
Papéis e permissões necessárias
Com a introdução do Apigee Spaces, a maneira como o IAM verifica as permissões necessárias para realizar algumas operações em recursos de API mudou. Se o recurso da API existir em um Espaço, o IAM vai verificar as permissões apropriadas no nível do Espaço para o participante que realiza a operação. Para mais informações, consulte Papéis e permissões do Apigee Spaces e Hierarquia de permissões do IAM para o Apigee Spaces.
Atribuir funções e permissões aos participantes do Espaço
Há três papéis personalizados disponíveis para os participantes do espaço:
apigee.spaceContentEditor
: fornece acesso total aos recursos que podem ser associados a um espaço. Esse papel precisa ser concedido no nível do espaço.apigee.spaceContentViewer
: dá acesso somente leitura a recursos que podem ser associados a um espaço. Esse papel precisa ser concedido no nível do espaço.apigee.spaceConsoleUser
: fornece as permissões mínimas necessárias para gerenciar recursos em um espaço usando o console Google Cloud . Esse papel precisa ser concedido no nível do projeto Google Cloud aos usuários com acesso aos recursos desse espaço.
As funções personalizadas descritas nesta seção não permitem que os membros do espaço
implantem ou cancelem a implantação de proxies de API ou fluxos compartilhados. Se você quiser permitir que um participante do espaço gerencie implantações, defina uma política do IAM no ambiente do Apigee ou no nível do projeto Google Cloud , concedendo o papel apigee.environment.admin
ao participante do espaço.
Você pode atribuir uma ou mais funções a um participante do espaço usando um dos seguintes métodos:
- Adicione o papel
apigee.spaceContentEditor
ao espaço usando a API e adicione o papelapigee.environmentAdmin
ao ambiente de destino usando a API. - Adicione as funções ao projeto usando a interface do usuário do IAM.
Para verificar as funções no nível do projeto Google Cloud :
-
No console do Google Cloud , acesse a página IAM.
Acessar IAM - Selecione o projeto.
-
Na coluna Principal, encontre todas as linhas que identificam você ou um grupo no qual você está incluído. Para saber em quais grupos você está incluído, entre em contato com o administrador.
- Em todas as linhas que especificam ou incluem você, verifique a coluna Papel para ver se a lista de papéis inclui os papéis necessários.
Para conceder os papéis
-
No console do Google Cloud , acesse a página IAM.
Acesse o IAM - Selecione o projeto.
- Clique em CONCEDER ACESSO.
-
No campo Novos principais, insira seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.
- Na lista Selecionar um papel, escolha um.
- Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
- Clique em Salvar.
Para verificar as políticas do IAM aplicadas no nível do espaço, consulte Gerenciar participantes e funções em um espaço.
Gerenciar proxies de API em um espaço
Os membros da organização da Apigee atribuídos a um espaço podem criar proxies de API como recursos do espaço. Os membros atribuídos apenas a outros espaços não poderão acessar nem gerenciar esses proxies.
Crie um proxy de API como um recurso de espaço usando a Apigee no console do Cloud ou a API, conforme descrito nas seções a seguir.
Apigee no console do Cloud
Para criar um proxy de API como um recurso do espaço usando a Apigee no console do Cloud:
- Siga as etapas descritas em Como criar um proxy de API.
- Na Etapa 5, você vai encontrar um campo adicional em Detalhes do proxy onde é possível selecionar um Espaço para o proxy de API. Selecione um espaço na caixa de listagem. Se não quiser atribuir o proxy de API a um espaço, pode pular esse campo.
- Clique em Próxima para prosseguir para a etapa de implantação opcional da criação do proxy ou clique em Criar para criar o proxy sem implantá-lo.
API Apigee
Para criar um proxy de API como um recurso de espaço usando as APIs da Apigee, use o seguinte 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"
Em que:
- ORG_NAME é o nome da organização da Apigee;
- PROXY_NAME é o nome do proxy da API que você está criando. O nome precisa ser globalmente exclusivo, não apenas no espaço.
- SPACE_NAME é o nome do espaço em que você está criando o proxy da API.
- PROXY_BUNDLE é o nome do arquivo do pacote de proxy da API.
Por exemplo, com o comando a seguir, um membro da equipe red cria um proxy de API chamado proxy-1 como recurso do Space red da organização acme usando o arquivo 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"
O exemplo a seguir mostra a resposta ao comando:
{ "basepaths": ["/proxy-1"], "revision": 1, "apiProxyId": "proxy-1", "resourceName": "organizations/acme/apis/proxy-1/revisions/1", "space": "red", "createTime": ..., "updateTime": ... }
Gerenciar fluxos compartilhados como recursos do Space
Os participantes atribuídos a um espaço também podem criar fluxos compartilhados como recursos do espaço. Os participantes de outros espaços não poderão acessar ou gerenciar esses fluxos compartilhados.
Crie um fluxo compartilhado como um recurso do Space usando a Apigee no console do Cloud ou a API, conforme descrito nas seções a seguir.
Apigee no console do Cloud
Para criar um fluxo compartilhado como um recurso do Space a Apigee no console do Cloud:- siga as etapas descritas em Como criar um fluxo compartilhado na interface da Apigee. para criar um novo fluxo compartilhado do zero ou fazer upload de um pacote de fluxos que já existe.
- Na Etapa 4, você vai encontrar um campo extra na caixa de diálogo Criar um fluxo compartilhado em que é possível selecionar um Espaço para o proxy de API. Selecione um espaço na caixa de listagem. Se não quiser atribuir o proxy de API a um espaço, pode pular esse campo.
- Clique em Criar para criar o fluxo compartilhado.
API Apigee
Para criar um fluxo compartilhado como um recurso do Space usando as APIs da Apigee, use o seguinte 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"
Em que:
- ORG_NAME é o nome da organização da Apigee;
- FLOW_NAME é o nome do fluxo compartilhado que você está criando. O nome precisa ser globalmente exclusivo, não apenas no espaço.
- SPACE_NAME é o nome do espaço em que você está criando o fluxo compartilhado.
- SHARED_FLOW_BUNDLE é o nome do arquivo de pacote de fluxo compartilhado.
Por exemplo, com o comando a seguir, um membro da equipe red cria um fluxo compartilhado chamado flow-1 associado ao Space red da organização 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"
O exemplo a seguir mostra a resposta ao comando:
{ "name": "organizations/acme/sharedflows/flow-1", "revision": 1, "sharedFlowId": "flow-1", "space": "red", "createTime": ..., "updateTime": ... }
Gerenciar um produto de API como um recurso do Space
Os membros atribuídos a um espaço podem criar um produto de API para agrupar os proxies de API. Ao criar produtos de API, os participantes do espaço podem selecionar qualquer proxy de API acessível a eles, inclusive proxies criados diretamente na organização e em proxies de API criados como recursos nos Space de que participam. Os participantes de outros espaços não poderão acessar nem gerenciar esses produtos de API.
Crie um produto de API como um recurso do Space usando a Apigee no console do Cloud ou a API, conforme descrito nas seções a seguir.
Apigee no console do Cloud
Para criar um produto de API como um recurso do Space usando a Apigee no console do Cloud:
- Siga as etapas em Como criar um produto de API.
- Na Etapa 4, você vai encontrar um campo adicional na página Detalhes do produto, onde pode selecionar um espaço para o produto da API. Selecione um espaço na caixa de listagem. Se não quiser atribuir o produto de API a um espaço, pode pular esse campo.
- Preencha as informações de configuração restantes e clique em Salvar.
API Apigee
Para criar um produto de API como um recurso do Space usando a API, envie uma solicitação ao endpoint apiproducts/create
e adicione a propriedade space
.
Por exemplo, o comando a seguir cria um produto de API chamado product-1 na organização acme
e associado ao espaço 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" }'
O exemplo a seguir mostra a resposta ao 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" }
Listar todos os recursos da API associados a um Space
Para todas as operações de lista, incluindo ListApiProxies
, ListSharedFlows
e
ListApiProducts
, é possível especificar um nome de espaço para listar todos os recursos associados a esse Space.
Se você não especificar um nome de espaço, a operação de lista vai retornar todos os recursos na organização
que você tem permissão para acessar, estejam eles associados a um Space ou não.
É importante observar que, ao usar o recurso do Apigee Spaces, os resultados das operações list
para recursos de API atribuídos a um
Space serão limitados aos resultados dos Spaces a que o principal pode acessar. Por exemplo, se acme-team@acme.com
receber a função apigee.spaceContentEditor
no espaço red, os membros da equipe acme-team
que usarem a operação list
vão ver apenas os proxies de API associados ao espaço red, e não todos os proxies de API na organização.
Para executar essa tarefa, é preciso ter a permissão apigee.apiResources.list
. Essa
permissão está incluída no papel Apigee > Apigee Organization Admin
.
Listar recursos de API associados a um Space específico
Liste todos os recursos da API associados a um Space específico na Apigee no console do Cloud ou use a API, conforme descrito nas seções a seguir.
Apigee no console do Cloud
Para listar todos os recursos da API associados a um Space específico na Apigee no console do Cloud, abra a página de visão geral do tipo de recurso relevante (proxies de API, fluxos compartilhados ou produtos de API). Na caixa Filtro, selecione a opção Espaço na lista e insira o nome do espaço. A lista de recursos atribuídos a é exibido. Somente os recursos associados a um Space em que o usuário é membro são exibidos.
API Apigee
Para listar todos os recursos da API associados a um Space especificado, use o seguinte comando:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE?space=SPACE_NAME"
Em que:
- ORG_NAME é o nome da organização da Apigee;
- RESOURCE_TYPE é o tipo de recurso que você está listando. Valores válidos:
apis
sharedFlows
apiProducts
- SPACE_NAME é o nome do espaço em que você está listando o recurso.
Por exemplo, com o comando a seguir, um membro da equipe red lista todos os proxies de API associads ao Space red na organização acme:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/acme/apis?space=red"
O exemplo a seguir mostra a resposta ao comando:
{ "proxies": [ { "basepaths": "/proxy-1", "revision": "1", "apiProxyId": "proxy-1", "resourceName": "organizations/acme/apis/proxy-1/revisions/1", "space": "red", "createTime": ..., .... } ] }
Listar recursos da API sem especificar um espaço
Liste todos os recursos da API sem especificar um espaço na Apigee no console do Cloud ou usando a API, conforme descrito nas seções a seguir.
Apigee no console do Cloud
Para conferir uma lista de todos os recursos de API de um determinado tipo na Apigee no console do Cloud, seja qual for a associação do Space, abra a página de visão geral do tipo de recurso relevante (proxies de API, fluxos compartilhados ou produtos de API). Uma lista de todas as instâncias e os recursos exibidos. Apenas os recursos que o usuário tem permissão para visualizar são exibidos. Isso inclui recursos associados a um Space ou Spaces em que o usuário participa ou recursos não associados a um espaço.
API Apigee
Também é possível listar recursos da API sem especificar um espaço usando o seguinte comando:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE"
Em que:
- ORG_NAME é o nome da organização da Apigee;
- RESOURCE_TYPE é o tipo de recurso que você está listando. Valores válidos:
apis
sharedFlows
apiProducts
Por exemplo, um usuário com acesso de Organization Admin
a todos os recursos da organização
use o seguinte comando para listar todos os proxies de API na organização acme:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/acme/apis"
Se a organização acme tiver três proxies, o comando vai retornar detalhes sobre todos eles. Exemplo:
{ "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": ..., .... } ] }
Se outro usuário com apenas acesso apiAdmin
aos recursos no espaço red usar o mesmo comando,
o comando só vai retornar detalhes sobre o proxy-1. A resposta seria semelhante a esta:
{ "proxies": [ { "basepaths": "/proxy-1", "revision": "1", "apiProxyId": "proxy-1", "resourceName": "organizations/acme/apis/proxy-1/revisions/1", "space": "red", "createTime": ..., .... } ] }
A seguir
- Saiba mais sobre os espaços da Apigee.
- Saiba como criar e gerenciar espaços da Apigee.
- Leia a documentação do Identity and Access Management (IAM).