Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Esta página descreve como criar espaços do Apigee na sua organização do Apigee para gerir as políticas de gestão de identidade e de acesso (IAM) para recursos da API Apigee em grande escala.
Este guia descreve os passos necessários para:
- Crie um espaço
- Faça a gestão dos membros e das funções num espaço
- Indique todos os espaços numa organização
- Obtenha detalhes do espaço
- Atualize um espaço
- Elimine um espaço
Para saber mais sobre as vantagens de usar o Apigee Spaces para gerir os seus recursos de API, consulte o artigo Apigee Spaces.
Antes de começar
Antes de começar a usar os espaços:
- Aprovisione o Apigee. Confirme se a organização de subscrição ou de pagamento conforme o uso do Apigee que quer usar está aprovisionada. Para mais informações sobre os passos necessários para aprovisionar o Apigee, consulte o artigo Introdução ao aprovisionamento.
- Obtenha as suas credenciais de autenticação. Antes de executar comandos para criar e gerir espaços
na linha de comandos, obtenha as suas credenciais de autenticação
gcloud
através do seguinte comando:export TOKEN=$(gcloud auth print-access-token)
Funções e autorizaçõ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.
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.
- ORG_NAME é o nome da sua organização do Apigee.
- SPACE_NAME é o nome e o ID do espaço.
- DISPLAY_NAME é o nome do espaço tal como deve aparecer na IU do Apigee na Cloud Console. Se não for fornecido um nome a apresentar, o nome do espaço é usado como nome a apresentar.
- A lista de membros do espaço
- A função ou a lista de funções concedidas aos membros
- ORG_NAME é o nome da organização da Apigee.
- SPACE_NAME é o nome do espaço.
- USER_EMAIL é o endereço de email de um utilizador que está a adicionar ao espaço.
- IAM_ROLE é o nome da função de IAM que está a atribuir ao utilizador como membro do espaço.
- ORG_NAME é o nome da organização da Apigee.
- SPACE_NAME é o nome do espaço.
- GROUP_EMAIL é o endereço de email de um grupo que está a adicionar ao espaço.
- IAM_ROLE é o nome da função do IAM que está a atribuir à equipa como membro do espaço.
- ORG_NAME é o nome da organização da Apigee.
- SPACE_NAME é o nome do espaço.
- ORG_NAME é o nome da organização da Apigee.
- SPACE_NAME é o nome do espaço.
- ORG_NAME é o nome da organização da Apigee.
- SPACE_NAME é o nome e o ID do espaço.
- DISPLAY_NAME é o novo nome a apresentar do espaço.
- Saiba mais sobre o Apigee Spaces.
- Saiba como gerir recursos de API com o Apigee Spaces.
- Reveja a documentação do Identity and Access Management (IAM).
Crie um espaço
Para realizar esta tarefa, precisa da autorização apigee.spaces.create
.
Esta autorização está incluída na função Apigee Organization Admin
.
Para criar um espaço na sua organização do 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", "displayName":"DISPLAY_NAME", }'
Onde:
Por exemplo, o comando seguinte cria um espaço com o nome 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", "displayName":"Red", }'
Depois de criar um espaço na sua organização, os membros da organização que usam a IU do Apigee na Cloud Console vão ver o espaço como um parâmetro disponível quando criam recursos de API na IU. Além disso, quando vir listas de proxies de API, produtos de API e fluxos partilhados na IU, o espaço aparece como um atributo para os recursos de API atribuídos a esse espaço.
Espaços.Faça a gestão de membros e funções num espaço
Depois de criar um espaço, pode adicionar membros da equipa ao espaço e atribuir as funções da IAM necessárias para criar e gerir recursos da API no espaço. Os utilizadores do Apigee só podem criar e gerir recursos em espaços nos quais são membros da equipa com as autorizações adequadas. Uma vez que o controlo de acesso do IAM é concedido ao nível dos espaços, os membros da organização não podem aceder nem gerir recursos da API Apigee pertencentes ao espaço, a menos que sejam especificamente adicionados ao espaço. Para uma vista geral das funções e autorizações da IAM necessárias para gerir recursos do espaço, consulte o artigo Crie e faça a gestão de recursos do espaço.
Adicione um membro da organização a um espaço
Quando um membro da organização é adicionado a um espaço, é criada uma associação de políticas da IAM para o espaço que usa dois argumentos:
Para realizar esta tarefa, precisa da autorização apigee.spaces.setIamPolicy
.
Esta autorização está incluída na função Apigee Organization Admin
.
Para adicionar um membro da organização a um espaço e atribuir uma função do IAM, 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/SPACE_NAME:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["user:USER_EMAIL"], "role": "roles/IAM_ROLE" } ] } }'
Onde:
Por exemplo, este comando adiciona o utilizador my-email@acme.com ao espaço red na organização acme e concede a função de IAM apigee.spaceContentEditor
:
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.spaceContentEditor" } ] } }'
É possível adicionar funções e autorizações adicionais para os membros do espaço atualizando a política de IAM do espaço. Para
atualizar a política de IAM de um espaço, use o setIamPolicy
método descrito nesta secção, usando a
lista revista das funções e autorizações pretendidas. Esta ação cria uma nova política de IAM para o espaço, com funções e autorizações ajustadas em conformidade.
Adicione uma equipa de membros a um espaço
Em alternativa, pode adicionar uma equipa de membros a um espaço e atribuir uma ou mais funções de IAM. Para adicionar uma equipa de membros a um espaço e atribuir uma função do IAM, 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/SPACE_NAME:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["group:GROUP_EMAIL"], "role": "roles/IAM_ROLE" } ] } }'
Onde:
Por exemplo, este comando adiciona o grupo acme-team@acme.com ao espaço red na organização acme
e atribui a função apigee.spaceContentEditor
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.spaceContentEditor" } ] } }'
Conforme indicado em Adicione um membro da organização a um espaço, a função do IAM apigee.spaceContentEditor
contém muitas das autorizações necessárias para gerir recursos do espaço.
No entanto, pode ter de conceder funções adicionais aos utilizadores para realizarem tarefas específicas.
Verifique a atribuição da política IAM do Spaces
Para realizar esta tarefa, precisa da autorização apigee.spaces.getIamPolicy
.
Esta autorização está incluída na função Apigee Organization Admin
.
Para verificar se a política de 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"
Onde:
Por exemplo, o seguinte comando é usado para confirmar que a política de 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"
O resultado do comando devolve a política IAM atual para o espaço e deve ter um aspeto semelhante ao seguinte:
{ "version": "0", "bindings": [ { "role": "roles/apigee.spaceContentEditor", "members": [ "group:red-team@acme.com" ] } ] }
Neste exemplo, a política de IAM para o espaço concede a função apigee.spaceContentEditor
aos membros do espaço, neste caso, os membros do grupo red-team@acme.com
Tenha em atenção que os membros da equipa vermelha são os únicos membros da organização aos quais é concedido acesso ao espaço vermelho. Isto significa que apenas os membros da equipa vermelha podem criar e gerir recursos da API no espaço vermelho. Se os membros de outra equipa da organização, como team-blue@acme.com, tentarem aceder a um proxy de API criado no espaço red, vão ver o seguinte erro:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/proxy-1\" (or it may not exist).", "status": "PERMISSION_DENIED" } }
Remova membros de um espaço
Para remover membros ou um grupo de membros de um espaço, tem de definir uma nova política de IAM para o espaço com
uma lista revista de membros ou grupos. A utilização do método setIamPolicy
cria uma nova política de IAM para o espaço,
com as funções e os membros ajustados em conformidade.
Por exemplo, para atualizar os membros do espaço da equipa blue, pode primeiro verificar a política de IAM atual através do seguinte comando:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:getIamPolicy"
O resultado do comando devolve a política IAM atual para o espaço e deve ter um aspeto semelhante ao seguinte:
{ "version": "0", "bindings": [ { "role": "roles/apigee.spaceContentEditor", "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.spaceContentEditor" } ] } }'
A nova política de IAM para o espaço vai deixar de incluir user-b@acme.com.
Para remover um membro de um grupo incluído num espaço, primeiro remova o membro do grupo e, em seguida, execute novamente o comando setIamPolicy para atualizar a política de IAM do espaço com a associação correta para o alias de email do grupo.
Liste todos os espaços numa organização
Para realizar esta tarefa, precisa da autorização apigee.spaces.list
.
Esta autorização está incluída na função Apigee Organization Admin
.
Para apresentar uma lista de todos os espaços numa organização do 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 seguinte comando apresenta uma lista de todos os espaços na organização acme:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces"
Este comando devolve algo semelhante ao 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" } ] }
Obtenha detalhes do espaço
Para realizar esta tarefa, precisa da autorização apigee.spaces.get
.
Esta autorização está incluída na função Apigee Organization Admin
.
Use o seguinte comando para obter detalhes do espaço:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME"
Onde:
Por exemplo, o comando seguinte obtém detalhes sobre o espaço red na organização acme:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red"
Este comando devolve algo semelhante ao seguinte:
{ "name": "red", "createTime": "2024-08-02T23:26:03.001512Z", "updateTime": "2024-08-02T23:26:03.001512Z" }
Atualize um espaço
Para realizar esta tarefa, precisa da autorização apigee.spaces.update
.
Esta autorização está incluída na função Apigee Organization Admin
.
Para atualizar um espaço na sua organização do 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" }'
Onde:
Por exemplo, o comando seguinte atualiza o nome a apresentar do espaço red 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" }'
Elimine um espaço
Para realizar esta tarefa, precisa da autorização apigee.spaces.delete
.
Esta autorização está incluída na função Apigee Organization Admin
. Antes de eliminar um espaço, certifique-se de que todos os recursos no espaço também foram eliminados.
Para eliminar um espaço na sua organização do 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 seguinte comando elimina o espaço red na organização acme:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red"
Se tentar eliminar um espaço com recursos ativos ainda associados, é apresentado 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, elimine ou mova os recursos no espaço antes de tentar eliminar o espaço.