As condições do IAM permitem definir e aplicar o controle de acesso condicional baseado em atributos nos recursos do Google Cloud, incluindo os de integração da Apigee. Para mais informações sobre as condições do IAM, consulte as Informações gerais sobre as condições do IAM.
Na integração da Apigee, é possível aplicar o acesso condicional com base nos seguintes atributos:
- Atributos de data/hora: use para definir o acesso temporário (expirado), programado ou de duração limitada aos recursos de integração da Apigee. Por exemplo, você pode permitir que um usuário acesse uma integração até uma data especificada. Para mais informações, consulte Como configurar o acesso temporário.
- Atributos de recurso: use para configurar o acesso condicional com base em nome, tipo de recurso ou atributos de serviço de recurso. Por exemplo, é possível permitir que um usuário gerencie as integrações criadas em uma região específica. Para acessar uma lista de valores compatíveis. Para mais informações, consulte Como configurar o acesso baseado em recursos.
Adicionar condição do IAM
Para adicionar uma condição do IAM a um principal atual (usuário, grupo ou conta de serviço), siga estas etapas:
- No console do Google Cloud, abra a página IAM.
- Selecione o projeto, a pasta ou a organização.
- Na lista de principais, encontre a principal a que você quer adicionar a condição do IAM e clique em
O painel Acesso para editar é exibido.
(Editar principal).
- Encontre o papel a que você quer adicionar a condição do IAM e clique em + Adicionar condição do IAM.
- No painel Adicionar condição, forneça estas informações:
- Título: insira um nome para a condição que você está adicionando ao papel.
- Descrição (opcional): insira uma descrição para a condição.
- É possível adicionar uma condição usando o Criador de condições ou o Editor da condição.
O Criador de condições fornece uma interface interativa para selecionar o tipo de condição desejado, o operador e outros detalhes aplicáveis sobre a expressão. O Editor de condições oferece uma interface baseada em texto para inserir manualmente uma expressão de condição usando a sintaxe CEL.
Para instruções detalhadas sobre como usar o Criador de condições ou o Editor de condições, consulte Configurar o acesso com base em recursos.
- Clique em Salvar para aplicar a condição.
Para mais informações sobre os atributos de recursos compatíveis com a integração da Apigee, consulte Valores de atributos de recursos.
- Clique em Salvar novamente no painel Editar acesso para atualizar o principal.
Valores de atributos do recurso
A tabela a seguir lista os valores que o atributo de tipo de recurso pode conter para a integração com a Apigee:
Nome do recurso | Tipo de recurso | Referência |
---|---|---|
Local | SERVICE_ENDPOINT-integrations.googleapis.com/Location
|
Referência da API |
Integração | SERVICE_ENDPOINT-integrations.googleapis.com/Integration
|
Referência da API |
IntegrationVersion | SERVICE_ENDPOINT-integrations.googleapis.com/IntegrationVersion
|
Referência da API |
Execução | SERVICE_ENDPOINT-integrations.googleapis.com/Execution
|
Referência da API |
Suspensão | SERVICE_ENDPOINT-integrations.googleapis.com/Suspension
|
Referência da API |
AuthConfig | SERVICE_ENDPOINT-integrations.googleapis.com/AuthConfig
|
Referência da API |
Exemplos de como usar condições do IAM para integração da Apigee
Exemplo 1: limitar o acesso a qualquer recurso IntegrationVersion em uma região
Use a expressão de condição a seguir no Editor de condições para limitar o acesso ao recurso IntegrationVersion. Limitar o acesso inclui restringir as operações create
, delete
, download
, get
, list
, patch
, publish
, unpublish
e upload
às versões de integração na região.
!resource.name.startsWith("projects/PROJECT_ID/locations/LOCATION/products/apigee/integrations/INTEGRATION_NAME")
Substitua:
- PROJECT_ID: o ID do projeto do Google Cloud.
- LOCATION: o endpoint do serviço de integração. Consulte o endpoint de serviço de integração da Apigee.
- INTEGRATION_NAME: nome da integração.
Exemplo 2: permitir o acesso a qualquer recurso IntegrationVersion em uma região
Use a seguinte expressão de condição no Editor de condições para permitir acesso ao recurso IntegrationVersion:
resource.name.startsWith("projects/PROJECT_ID/locations/LOCATION/products/apigee/integrations/INTEGRATION_NAME") || resource.type == "cloudresourcemanager.googleapis.com/Project")
Substitua:
- PROJECT_ID: o ID do projeto do Google Cloud.
- LOCATION: o endpoint do serviço de integração. Consulte o endpoint de serviço de integração da Apigee.
- INTEGRATION_NAME: nome da integração.
Exemplo 3: permitir acesso a um recurso AuthConfig específico
Use a seguinte expressão de condição no Editor de condições para permitir acesso a um recurso AuthConfig específico:
(resource.name.extract("authConfigs/{end}" == "AUTH_CONFIG_NAME") || resource.type == "integrations.googleapis.com/Location" || resource.type == "cloudresourcemanager.googleapis.com/Project")
Substitua:
- AUTH_CONFIG_NAME: o nome do tipo de autenticação. Consulte Tipos de autenticação.
Exemplo 4: permitir o acesso a qualquer recurso AuthConfig em uma região
Use a seguinte expressão de condição no Editor de condições para permitir acesso a qualquer recurso AuthConfig:
(resource.name.startsWith("projects/PROJECT_ID/locations/LOCATION/products/apigee") && resource.type == "integrations.googleapis.com/AuthConfig" || resource.type == "integrations.googleapis.com/Location" || resource.type == "cloudresourcemanager.googleapis.com/Project")
Substitua:
- PROJECT_ID: o ID do projeto do Google Cloud.
- LOCATION: o endpoint do serviço de integração. Consulte o endpoint de serviço de integração da Apigee.