Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Esta página descreve como as hierarquias de autorizações da gestão de identidades e acessos (IAM) são aplicadas aos recursos da API Apigee (proxies de API, fluxos partilhados e produtos de API) e respetivos elementos subordinados quando usa os espaços do Apigee.
Interação do IAM com o Apigee Spaces
Em geral, as políticas de IAM que regem o acesso aos recursos são herdadas através da Google Cloud hierarquia de recursos. As políticas de IAM específicas que se aplicam a um determinado recurso incluem o seguinte:
- Quaisquer políticas aplicadas diretamente ao recurso
- Todas as políticas que o recurso herda dos respetivos antecessores
Hierarquia de recursos e autorizações no Apigee
No Apigee, a parte superior da hierarquia de recursos é o recurso de organização. Os recursos subordinados de uma organização incluem proxies de API, fluxos partilhados e produtos de API. Quando usa o Apigee sem espaços, as autorizações são aplicadas ao Google Cloud projeto, que está diretamente correlacionado com o recurso da organização do Apigee. Como resultado, as políticas IAM que regem o acesso a um determinado proxy de API, fluxo partilhado ou produto de API incluem todas as políticas herdadas da organização, além de quaisquer políticas aplicadas diretamente ao recurso específico.
Hierarquia de recursos e autorizações com os espaços
Quando usa o Apigee com os espaços, o recurso de espaço é adicionado à hierarquia.
Considere um cenário em que uma organização do Apigee tem três proxies de API: proxy-a
, proxy-b
e proxy-c
.
Neste exemplo, proxy-b
e proxy-c
estão associados a space-red
e
space-blue
, respetivamente. Quando associa um recurso de API a um espaço, o atributo space
é definido no recurso.
Quando faz uma chamada API para obter os detalhes de proxy-c
, o seu ponto final da API reflete a hierarquia de recursos real, em que o proxy da API é um filho da organização com um atributo Space, conforme mostrado no exemplo seguinte:
curl -X GET -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/org1/apis/proxy-c" { "metaData": { "createdAt": "1725665197737", "lastModifiedAt": "1725665462105", "subType": "Proxy" }, "name": "proxy-c", "revision": [ "1" ], "apiProxyType": "PROGRAMMABLE", "space": "space-blue" }
Embora o caminho para um recurso da API associado a um espaço permaneça o mesmo, a hierarquia de autorizações IAM efetiva muda. No nosso cenário de exemplo, as verificações de autorizações da IAM comportam-se como se o recurso da API fosse um filho do espaço. Como resultado, as políticas IAM que se aplicam ao recurso da API incluem as políticas herdadas do espaço, além de quaisquer políticas aplicadas diretamente ao espaço, conforme mostrado na figura seguinte:

Verificações de políticas IAM para recursos de espaço
Conforme indicado numa secção anterior, quando os proxies de API, os fluxos partilhados e os produtos de API estão associados a um espaço, são tratados como recursos subordinados do espaço durante as verificações de políticas de IAM. Esta hierarquia de recursos eficaz aplica-se a todos os subelementos secundários de proxies de API, fluxos partilhados e produtos de API.
Por exemplo, os atributos do produto da API são recursos secundários de um produto da API. Para listar todos os atributos do produto API product-a
na organização do Apigee org1
, que está associada ao espaço do Apigee space-blue
, o caminho do recurso real é GET organizations/org1/apiproduct/product-a/attributes
. No entanto,
o caminho verificado para autorizações de IAM é organizations/org1/spaces/space-blue/apiproduct/product-a/attributes
.
Verificações de políticas IAM para implementações
O recurso Environment não está associado ao Spaces. No entanto, algumas APIs existentes foram atualizadas para permitir o acesso detalhado a implementações e sessões de depuração para proxies de API e fluxos partilhados.
As alterações às verificações de autorizações da IAM para as seguintes operações de implementação em recursos num espaço são descritas abaixo:
Método | Verificação de autorização de IAM do espaço |
---|---|
organizations.deployments.list | Sem alterações |
organizations.apis.deployments.list | apigee.deployments.list on organizations/$ORG/spaces/$SPACE/apis/$API
|
organizations.apis.revisions.deployments.list | apigee.deployments.list em organizations/$ORG/spaces/$SPACE/apis/$API/revisions/$REV
|
organizations.environments.deployments.list | Sem alterações |
organizations.environments.deployments.get | Sem alterações |
organizations.environments.apis.deployments.list | apigee.deployments.list em organizations/$ORG/environments/$ENV OU
|
organizations.environments.apis.revisions.deployments.get | apigee.deployments.get em organizations/$ORG/environments/$ENV
OU
apigee.deployments.get em |
organizations.environments.apis.revisions.deployments.deploy | apigee.deployments.create em organizations/$ORG/environments/$ENV
E
apigee.proxyrevisions.deploy em |
organizations.environments.apis.revisions.deployments.generateDeployChangeReport | apigee.deployments.create em organizations/$ORG/environments/$ENV
E
apigee.proxyrevisions.deploy em |
organizations.environments.apis.revisions.deployments.generateUndeployChangeReport | apigee.deployments.delete em organizations/$ORG/environments/$ENV
E
apigee.proxyrevisions.undeploy em |
organizations.environments.apis.revisions.deployments.undeploy | apigee.deployments.delete em organizations/$ORG/environments/$ENV
E
apigee.proxyrevisions.undeploy em |
organizations.environments.sharedflows.deployments.list | apigee.deployments.list em organizations/$ORG/environments/$ENV OU apigee.deployments.list em organizations/$ORG/spaces/$SPACE/sharedflows/$SF
|
organizations.environments.sharedflows.revisions.deployments.deploy | apigee.deployments.create em organizations/$ORG/environments/$ENV
E
apigee.sharedflowrevisions.deploy em |
organizations.environments.sharedflows.revisions.deployments.get | apigee.deployments.get em organizations/$ORG/environments/$ENV
OU apigee.deployments.get em
|
organizations.environments.sharedflows.revisions.deployments.undeploy | apigee.deployments.delete em organizations/$ORG/environments/$ENV
E
apigee.sharedflowrevisions.undeploy em |
organizations.sharedflows.deployments.list | apigee.deployments.list emorganizations/$ORG/spaces/$SPACE/sharedflows/$SF
|
organizations.sharedflows.revisions.deployments.list | apigee.deployments.list emorganizations/$ORG/spaces/$SPACE/sharedflows/$SF/revisions/$REV
|
Verificações de autorizações para sessões de depuração
Se um proxy de API estiver associado a um espaço, as verificações de autorização da IAM para as sessões de depuração do proxy foram alteradas, conforme descrito na tabela seguinte:
Método | Verificação de autorização de IAM do espaço |
---|---|
organizations.environments.apis.revisions.debugsessions.create | apigee.tracesessions.create em organizations/$ORG/spaces/$SPACE/apis/$API/revisions/$REV
E
|
organizations.environments.apis.revisions.debugsessions.get | apigee.tracesessions.get em organizations/$ORG/environments/$ENV E organizations/$ORG/spaces/$SPACE/apis/$API
|
organizations.environments.apis.revisions.debugsessions.deleteData | apigee.tracesessions.delete em organizations/$ORG/environments/$ENV E apigee.tracesessions.delete ativado
|
organizations.environments.apis.revisions.debugsessions.list | apigee.tracesessions.list em organizations/$ORG/environments/$ENV
OU
apigee.tracesessions.list em |
organizations.environments.apis.revisions.debugsessions.data.get | apigee.tracesessions.get em organizations/$ORG/environments/$ENV
E
apigee.tracesessions.get em |
organizations.environments.apis.revisions.debugsessions.data.list | apigee.tracesessions.get em organizations/$ORG/environments/$ENV
E
apigee.tracesessions.get em |