Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Este tópico descreve como criar e gerir recursos da API num espaço. Pode criar proxies de API, fluxos partilhados e produtos de API num espaço. Os recursos criados no espaço herdam as mesmas autorizações que o espaço.
A criação de recursos num espaço é igual à criação de recursos numa organização do Apigee, exceto que pode selecionar um espaço quando cria o recurso. Pode criar recursos de API a partir da linha de comandos através das APIs Apigee ou através do Apigee na consola do Google Cloud.
Este guia descreve os passos necessários para:
- Crie proxies de API num espaço
- Crie fluxos partilhados num espaço
- Crie produtos de API num espaço
- Liste todos os recursos da API num espaço
Para uma vista geral do Apigee Spaces, consulte o artigo Apigee Spaces.
Para mais informações sobre os tipos de recursos da API Apigee, consulte:
Antes de começar
Antes de começar a criar recursos de API no Apigee Spaces, certifique-se de que conclui as seguintes tarefas:
- Aprovisione a sua organização de subscrição ou de pagamento conforme a utilização do Apigee. Para mais informações sobre os passos necessários para aprovisionar o Apigee, consulte o artigo Configure o Apigee.
- Crie um espaço na sua organização do Apigee. Para mais informações, consulte o artigo Crie espaços do Apigee.
- Atribuir membros a um espaço. Para mais informações, consulte o artigo Faça a gestão de membros e funções num espaço.
Funções e autorizações necessárias
Com a introdução dos Apigee Spaces, a forma como o IAM verifica as autorizações necessárias para realizar algumas operações em recursos da API foi alterada. Se o recurso da API existir num espaço, o IAM verifica as autorizações adequadas ao nível do espaço para o membro do espaço que está a realizar a operação. Para mais informações, consulte os artigos Funções e autorizações do Apigee Spaces e Hierarquia de autorizações de IAM para o Apigee Spaces.
Atribuir funções e autorizações a membros do espaço
Estão disponíveis três funções personalizadas para os membros do espaço:
apigee.spaceContentEditor
: fornece acesso total aos recursos que podem ser associados a um espaço. Esta função deve ser concedida ao nível do espaço.apigee.spaceContentViewer
: fornece acesso de leitura apenas a recursos que podem ser associados a um espaço. Esta função deve ser concedida ao nível do espaço.apigee.spaceConsoleUser
: fornece as autorizações mínimas necessárias para gerir recursos num espaço através da consola Google Cloud . Esta função deve ser concedida ao Google Cloud nível do projeto aos utilizadores com acesso a recursos nesse espaço.
As funções personalizadas descritas nesta secção não dão aos membros do espaço a capacidade de
implementar ou anular a implementação de proxies de API ou fluxos partilhados. Se quiser permitir que um membro do espaço faça a gestão de implementações,
defina uma política de IAM ao nível do ambiente do Apigee ou do Google Cloud projeto que conceda a função apigee.environment.admin
ao membro do espaço.
Pode atribuir uma ou mais funções a um membro de um espaço através de um dos seguintes métodos:
- Adicione a função
apigee.spaceContentEditor
ao espaço através da API e adicione a funçãoapigee.environmentAdmin
ao ambiente de destino através da API. - Adicione as funções ao projeto através da interface do utilizador do IAM.
Para verificar as funções ao Google Cloud nível do projeto:
-
Na Google Cloud consola, aceda à página IAM.
Aceda ao IAM - Selecione o projeto.
-
Na coluna Principal, encontre todas as linhas que identificam a sua pessoa ou um grupo no qual está incluído. Para saber em que grupos está incluído, contacte o seu administrador.
- Para todas as linhas que especificam ou incluem o seu nome, verifique a coluna Função para ver se a lista de funções inclui as funções necessárias.
Para conceder as funções
-
Na Google Cloud consola, aceda à página IAM.
Aceder ao IAM - Selecione o projeto.
- Clique em Conceder acesso.
-
No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.
- Na lista Selecionar uma função, selecione uma função.
- Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
- Clique em Guardar.
Para verificar as políticas de IAM aplicadas ao nível do espaço, consulte o artigo Faça a gestão de membros e funções num espaço.
Faça a gestão de proxies de API num espaço
Os membros da organização do 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 vão poder aceder nem gerir estes proxies.
Crie um proxy de API como um recurso de espaço através do Apigee na Cloud Console ou na API, conforme descrito nas secções seguintes.
Apigee na Cloud Console
Para criar um proxy de API como um recurso de espaço através do Apigee na Cloud Console:
- Siga os passos descritos em Criar um proxy de API.
- No passo 5, é apresentado um campo adicional em Detalhes do proxy, onde pode selecionar um espaço para o proxy da API. Selecione um espaço na caixa de lista. Se não quiser atribuir o proxy de API a um espaço, pode ignorar este campo.
- Clique em Seguinte para avançar para o passo de implementação opcional da criação de proxies ou clique em Criar para criar o proxy sem o implementar.
API Apigee
Para criar um proxy de API como um recurso de espaço usando as APIs 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"
Onde:
- ORG_NAME é o nome da sua organização do Apigee.
- PROXY_NAME é o nome do proxy de API que está a criar. O nome tem de ser globalmente exclusivo e não apenas exclusivo no espaço.
- SPACE_NAME é o nome do espaço onde está a criar o proxy de API.
- PROXY_BUNDLE é o nome do ficheiro do pacote de proxy de API.
Por exemplo, com o seguinte comando, um membro da equipa vermelha cria um proxy de API denominado proxy-1 como um recurso do espaço vermelho na organização acme através do ficheiro 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 seguinte 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": ... }
Faça a gestão dos fluxos partilhados como recursos do espaço
Os membros atribuídos a um espaço também podem criar fluxos partilhados como recursos do espaço. Os membros de outros espaços não vão poder aceder nem gerir estes fluxos partilhados.
Crie um fluxo partilhado como um recurso de espaço através do Apigee na Cloud Console ou na API, conforme descrito nas secções seguintes.
Apigee na Cloud Console
Para criar um fluxo partilhado como um recurso de espaço através do Apigee na Cloud Console:- Siga os passos descritos em Criar um fluxo partilhado na IU do Apigee para criar um novo fluxo partilhado de raiz ou carregar um pacote de fluxo existente.
- No passo 4, é apresentado um campo adicional na caixa de diálogo Criar fluxo partilhado, onde pode selecionar um Espaço para o proxy da API. Selecione um espaço na caixa de lista. Se não quiser atribuir o proxy de API a um espaço, pode ignorar este campo.
- Clique em Criar para criar o fluxo partilhado.
API Apigee
Para criar um fluxo partilhado como um recurso de espaço através das APIs 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"
Onde:
- ORG_NAME é o nome da sua organização do Apigee.
- FLOW_NAME é o nome do fluxo partilhado que está a criar. O nome tem de ser globalmente exclusivo e não apenas exclusivo no espaço.
- SPACE_NAME é o nome do espaço onde está a criar o fluxo partilhado.
- SHARED_FLOW_BUNDLE é o nome do ficheiro do pacote de fluxo partilhado.
Por exemplo, com o seguinte comando, um membro da equipa red cria um fluxo partilhado denominado flow-1 associado ao espaço red na 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 seguinte mostra a resposta ao comando:
{ "name": "organizations/acme/sharedflows/flow-1", "revision": 1, "sharedFlowId": "flow-1", "space": "red", "createTime": ..., "updateTime": ... }
Faça a gestão de um produto API como um recurso de espaço
Os membros atribuídos a um espaço podem criar um produto de API para agrupar os respetivos proxies de API. Ao criar produtos de API, os membros do espaço podem selecionar quaisquer proxies de API acessíveis, incluindo proxies criados diretamente na organização e proxies de API criados como recursos em espaços nos quais são membros. Os membros de outros espaços não vão poder aceder nem gerir estes produtos API.
Crie um produto de API como um recurso de espaço através do Apigee na Cloud Console ou na API, conforme descrito nas secções seguintes.
Apigee na Cloud Console
Para criar um produto de API como um recurso de espaço através do Apigee na Cloud Console:
- Siga os passos em Criar um produto da API.
- No passo 4, é apresentado um campo adicional na página Detalhes do produto, onde pode selecionar um Espaço para o produto de API. Selecione um espaço na caixa de lista. Se não quiser atribuir o produto API a um espaço, pode ignorar este campo.
- Preencha as restantes informações de configuração e, de seguida, clique em Guardar.
API Apigee
Para criar um produto API como um recurso de espaço através da API, envie um pedido para o ponto final apiproducts/create
e adicione a propriedade space
.
Por exemplo, o seguinte comando criaria um produto de API denominado 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 seguinte 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" }
Liste todos os recursos da API associados a um espaço
Para todas as operações de lista, incluindo ListApiProxies
, ListSharedFlows
e ListApiProducts
, pode especificar um nome do espaço para listar todos os recursos associados a esse espaço.
Se não especificar um nome do espaço, a operação de listagem devolve todos os recursos na organização
aos quais tem autorização de acesso, quer esses recursos estejam ou não associados a um espaço.
É importante ter em atenção que, quando usa a funcionalidade Apigee Spaces, os resultados das operações list
para recursos de API atribuídos a um espaço estão limitados aos resultados dos espaços aos quais o principal pode aceder. Por exemplo, se
acme-team@acme.com
receber a função apigee.spaceContentEditor
para o espaço vermelho,
os membros da equipa que usam a operação list
só veem proxies de API que
estão associados ao espaço vermelho e não todos os proxies de API na organização.acme-team
Para realizar esta tarefa, tem de ter a autorização apigee.apiResources.list
. Esta autorização está incluída na função Apigee > Apigee Organization Admin
.
Liste os recursos da API associados a um espaço específico
Liste todos os recursos da API associados a um espaço específico na consola do Apigee na nuvem ou através da API, conforme descrito nas secções seguintes.
Apigee na Cloud Console
Para listar todos os recursos da API associados a um espaço específico no Apigee na Cloud Console, abra a página de vista geral para o tipo de recurso relevante (proxies de API, fluxos partilhados ou produtos de API). Na caixa Filtro, selecione a opção Espaço na lista e, em seguida, introduza o nome do espaço. É apresentada a lista de recursos atribuídos a esse espaço. Tenha em atenção que só são apresentados os recursos associados a um espaço do qual o utilizador é membro.
API Apigee
Para apresentar uma lista de todos os recursos da API associados a um espaço especificado, use o seguinte comando:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE?space=SPACE_NAME"
Onde:
- ORG_NAME é o nome da sua organização do Apigee.
- RESOURCE_TYPE é o tipo de recurso que está a anunciar. Os valores válidos incluem:
apis
sharedFlows
apiProducts
- SPACE_NAME é o nome do espaço onde está a listar o recurso.
Por exemplo, com o seguinte comando, um membro da equipa red apresenta uma lista de todos os proxies de API associados ao espaço red na organização acme:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/acme/apis?space=red"
O exemplo seguinte 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": ..., .... } ] }
Liste recursos da API sem especificar um espaço
Liste todos os recursos da API sem especificar um espaço no Apigee na Cloud Console ou através da API, conforme descrito nas secções seguintes.
Apigee na Cloud Console
Para ver uma lista de todos os recursos de API de um determinado tipo no Apigee na Cloud Console, independentemente da associação ao espaço, abra a página de vista geral do tipo de recurso relevante (proxies de API, fluxos partilhados ou produtos de API). É apresentada uma lista de todos os recursos disponíveis. Tenha em atenção que apenas são apresentados os recursos que o utilizador tem autorização para ver. Isto inclui recursos associados a um espaço ou a espaços nos quais o utilizador é membro, ou recursos não associados a um espaço.
API Apigee
Também pode listar os recursos da API sem especificar um espaço através do seguinte comando:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE"
Onde:
- ORG_NAME é o nome da sua organização do Apigee.
- RESOURCE_TYPE é o tipo de recurso que está a anunciar. Os valores válidos incluem:
apis
sharedFlows
apiProducts
Por exemplo, um utilizador com acesso Organization Admin
a todos os recursos da organização
pode usar 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 devolve detalhes sobre os três proxies. Por 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 utilizador com acesso apenas de apiAdmin
aos recursos no espaço red usar o mesmo comando,
o comando só devolve detalhes sobre proxy-1. A resposta teria o seguinte aspeto:
{ "proxies": [ { "basepaths": "/proxy-1", "revision": "1", "apiProxyId": "proxy-1", "resourceName": "organizations/acme/apis/proxy-1/revisions/1", "space": "red", "createTime": ..., .... } ] }
O que se segue?
- Saiba mais sobre o Apigee Spaces.
- Saiba como criar e gerir espaços do Apigee.
- Reveja a documentação da gestão de identidade e de acesso (IAM).