Confira a documentação da
Apigee Edge.
Este tópico descreve como criar espaços da Apigee na sua organização para gerenciar políticas de gerenciamento de identidade e acesso para recursos da API Apigee em grande escala.
Este guia descreve as etapas necessárias para:
- Criar um espaço
- Gerenciar participantes e funções em um espaço
- Listar todos os espaços em uma organização
- Mais detalhes sobre o espaço
- Atualizar um espaço
- Excluir um espaço
Para saber mais sobre os benefícios do uso do Apigee Spaces para gerenciar seus recursos de API, consulte Apigee Spaces.
Antes de começar
Antes de começar a usar os espaços:
- Provisionar a Apigee. Confirme se a organização de assinatura ou pagamento por uso da Apigee que você quer usar está provisionada. Para saber mais sobre as etapas necessárias para provisionar a Apigee, consulte Introdução ao provisionamento.
- Acessar suas credenciais de autenticação. Antes de executar comandos para criar e gerenciar espaços
na linha de comando, receba suas credenciais de autenticação
gcloud
usando o seguinte comando:export TOKEN=$(gcloud auth print-access-token)
Papéis e permissões necessárias
Make sure that you have the following role or roles on the project: Apigee > Apigee Organization Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Acessar o IAM - Selecionar um 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.
Criar um espaço
Para realizar essa tarefa, você precisa da permissão apigee.spaces.create
.
Essa permissão está incluída no papel Apigee Organization Admin
.
Para criar um espaço na sua organização da Apigee, use o seguinte comando:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces" \ --data-raw '{ "name":"SPACE_NAME " }'
Em que:
- ORG_NAME é o nome da organização da Apigee;
- SPACE_NAME é o nome do Espaço que você está criando.
Por exemplo, o comando a seguir cria um espaço chamado red na organização acme:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ https://apigee.googleapis.com/v1/organizations/acme/spaces \ --data-raw '{ "name":"red", }'
Gerenciar participantes e funções em um espaço
Depois de criar um espaço, você pode adicionar membros da equipe e atribuir as funções do IAM necessárias para criar e gerenciar recursos de API no espaço. Os usuários da Apigee só podem criar e gerenciam recursos nos Espaços em que participam da equipe com o as permissões apropriadas. Como o controle de acesso do IAM é concedido no nível dos Espaços, os membros da organização não podem acessar nem gerenciar os recursos da API dos Espaços, a menos que eles sejam especificamente adicionados aos Espaços. Para uma visão geral dos papéis e permissões do IAM necessários para gerenciar recursos do Space, consulte Papéis e permissões necessários.
Adicionar um membro da organização a um espaço
Quando um membro da organização é adicionado a um espaço, uma vinculação de política do IAM é criada para o espaço que recebe dois argumentos:
- A lista de participantes do espaço
- A função ou a lista de funções concedidas aos membros
Para realizar essa tarefa, você precisa da permissão apigee.spaces.setIamPolicy
.
Essa permissão está incluída no papel Apigee Organization Admin
.
Para adicionar um participante da organização a um espaço e atribuir um papel do IAM, use este comando:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME :setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["user:USER_EMAIL "], "role": "roles/IAM_ROLE " } ] } }'
Em que:
- ORG_NAME é o nome da organização da Apigee.
- SPACE_NAME é o nome do espaço.
- USER_EMAIL é o endereço de e-mail de um usuário que você está adicionando ao espaço.
- IAM_ROLE é o nome do papel do IAM que você está atribuindo ao usuário como membro do espaço.
Por exemplo, este comando adiciona o usuário my-email@acme.com ao espaço RED na organização ACME e concede o papel do IAM apigee.apiAdminV2
:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["user:my-email@acme.com"], "role": "roles/apigee.apiAdminV2" } ] } }'
É possível adicionar outras funções e permissões aos participantes do espaço atualizando a política do IAM. Para
atualizar a política do IAM de um espaço, use o método setIamPolicy
descrito nesta seção com a
lista revisada de papéis e permissões desejados. Isso vai criar uma nova política do IAM para o espaço, com funções e permissões ajustadas.
Adicionar uma equipe de participantes a um espaço
Como alternativa, adicione uma equipe de participantes a um espaço e atribua um ou mais papéis do IAM. Para adicionar uma equipe de membros a um espaço e atribuir um papel do IAM, use este comando:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME :setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["group:GROUP_EMAIL "], "role": "roles/IAM_ROLE " } ] } }'
Em que:
- ORG_NAME é o nome da organização da Apigee.
- SPACE_NAME é o nome do espaço.
- GROUP_EMAIL é o endereço de e-mail de um grupo que você está adicionando ao espaço.
- IAM_ROLE é o nome do papel do IAM que você está atribuindo à equipe como membro do espaço.
Por exemplo, este comando adiciona o grupo acme-team@acme.com ao espaço red na organização acme
e concede a função apigee.apiAdminV2
ao grupo:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["group:red-team@acme.com"], "role": "roles/apigee.apiAdminV2" } ] } }'
Como observado em Adicionar um membro da organização a um espaço, a
função do IAM apigee.apiAdminV2
contém muitas das permissões necessárias para gerenciar os recursos do espaço.
No entanto, talvez seja necessário conceder outras funções aos usuários para realizar tarefas específicas.
Verificar a atribuição da política do IAM dos Espaços
Para realizar essa tarefa, você precisa da permissão apigee.spaces.getIamPolicy
.
Essa permissão está incluída no papel Apigee Organization Admin
.
Para verificar se a política do IAM está definida corretamente para o espaço, use o seguinte comando:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME :getIamPolicy"
Em que:
- ORG_NAME é o nome da organização da Apigee.
- SPACE_NAME é o nome do espaço.
Por exemplo, o comando a seguir é usado para confirmar se a política do IAM está definida corretamente para o espaço red na organização acme:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:getIamPolicy"
A saída do comando retorna a política atual do IAM para o espaço e tem esta aparência:
{ "version": "0", "bindings": [ { "role": "roles/apigee.apiAdminV2", "members": [ "group:red-team@acme.com" ] } ] }
Neste exemplo, a política do IAM para o espaço concede o papel apigee.apiAdminV2
aos membros do espaço, neste caso,
membros do grupo red-team@acme.com.
Os membros da equipe red são os únicos membros da organização que receberam acesso ao espaço red. Isso significa que apenas os membros da equipe vermelha podem criar e gerenciar recursos de API nos espaços red. Se membros de outra equipe da organização, como team-blue@acme.com tentar acessar um proxy de API criado no espaço team-blue@acme.com, será exibido o seguinte erro:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/proxy-1\" (or it may not exist).", "status": "PERMISSION_DENIED" } }
Remover participantes de um espaço
Para remover participantes ou um grupo de participantes de um espaço, é necessário definir uma nova política do IAM para o espaço com
uma lista revisada de participantes ou grupos. O uso do método setIamPolicy
cria uma nova política de IAM para o espaço,
com funções e membros ajustados adequadamente.
Por exemplo, para atualizar os membros do espaço da equipe blue, primeiro verifique a política atual do IAM usando o seguinte comando:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:getIamPolicy"
A saída do comando retorna a política atual do IAM para o espaço e tem esta aparência:
{ "version": "0", "bindings": [ { "role": "roles/apigee.apiAdminV2", "members": [ "group: blue-team@acme.com", "users: user-a@acme.com, user-b@acme.com, user-c@acme.com" ] } ] }
Para remover user-b@acme.com do espaço, use o seguinte comando:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": [ "group:blue-team@acme.com", "users: user-a@acme.com, user-c@acme.com" ] "role": "roles/apigee.apiAdminV2" } ] } }'
A nova política do IAM para o espaço não vai mais incluir user-b@acme.com.
Para remover um membro de um grupo incluído em um espaço, primeiro remova o membro do grupo e, em seguida, execute novamente o comando setIamPolicy para atualizar a política do IAM do espaço com a associação correta para o alias de e-mail do grupo.
Listar todos os espaços de uma organização
Para realizar essa tarefa, você precisa da permissão apigee.spaces.list
.
Essa permissão está incluída no papel Apigee Organization Admin
.
Para listar todos os espaços em uma organização da Apigee, use o seguinte comando:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces"
Em que ORG_NAME é o nome da organização da Apigee.
Por exemplo, o comando a seguir lista todos os espaços na organização acme:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces"
Esse comando retorna algo como o seguinte:
{ "spaces": [ { "name": "red", "createTime": "2024-08-02T23:26:03.001512Z", "updateTime": "2024-08-02T23:26:03.001512Z" }, { "name": "blue", "createTime": "2024-08-02T00:34:54.159331Z", "updateTime": "2024-08-02T00:34:54.159331Z" } ] }
Conferir detalhes do espaço
Para realizar essa tarefa, você precisa da permissão apigee.spaces.get
.
Essa permissão está incluída no papel Apigee Organization Admin
.
Use o comando a seguir para conferir os detalhes do espaço:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME "
Em que:
- ORG_NAME é o nome da organização da Apigee.
- SPACE_NAME é o nome do espaço.
Por exemplo, o comando a seguir mostra detalhes sobre o espaço vermelho na organização acme:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red"
Esse comando retorna algo como o seguinte:
{ "name": "red", "createTime": "2024-08-02T23:26:03.001512Z", "updateTime": "2024-08-02T23:26:03.001512Z" }
Atualizar um espaço
Para executar esta tarefa, você precisa da permissão apigee.spaces.update
.
Essa permissão está incluída no papel Apigee Organization Admin
.
Para atualizar um espaço na sua organização da Apigee, use o seguinte comando:
curl -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME " \ --data-raw '{ "displayName":"DISPLAY_NAME " }'
Em que:
- ORG_NAME é o nome da organização da Apigee.
- SPACE_NAME é o nome do espaço.
- DISPLAY_NAME é o novo nome de exibição do espaço.
Por exemplo, o comando a seguir atualiza o nome de exibição do espaço vermelho na organização acme:
curl -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red" -d \ '{ "displayName": "Red team space" }'
Excluir um espaço
Para executar esta tarefa, você precisa da permissão apigee.spaces.delete
.
Essa permissão está incluída no papel Apigee Organization Admin
. Antes de excluir
um espaço, verifique se todos os recursos nele também foram excluídos.
Para excluir um espaço na sua organização da Apigee, use o seguinte comando:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME "
Por exemplo, o comando a seguir exclui o espaço vermelho na organização acme:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red"
Se você tentar excluir um espaço com recursos ativos ainda associados a ele, verá o seguinte erro:
{ "error": { "code": 400, "message": "Space \"red\" has resources associated with it. Please delete the resources before deleting the space.", "status": "FAILED_PRECONDITION" } }
Para resolver o erro, exclua ou mova os recursos do espaço antes de tentar excluir o espaço.
A seguir
- Saiba mais sobre os espaços da Apigee.
- Saiba como gerenciar recursos de API com o Apigee Spaces.
- Analise a documentação do Identity and Access Management (IAM).