Exemplo de uso de grupos de identidade e identidades de terceiros em regras de entrada e saída

Nesta página, mostramos como usar grupos de identidade e identidades de terceiros em regras de entrada e saída.

Ela inclui o seguinte exemplo de uso de grupos de identidade em regras de entrada e saída:

  • Permitir o acesso do Cloud Run aos membros de um grupo de identidades pela internet e a contas de serviço específicas a partir de um intervalo de endereços IP na lista de permissões.

Permitir que o Cloud Run acesse membros de um grupo de identidades e contas de serviço específicas

O diagrama a seguir mostra um usuário de um grupo de identidade específico e do intervalo de endereços IP na lista de permissões acessando o Cloud Run dentro de um perímetro de serviço:

Suponha que você tenha definido o seguinte perímetro de serviço:

name: accessPolicies/222/servicePerimeters/Example
status:
  resources:
  - projects/111
  restrictedServices:
  - run.googleapis.com
  - artifactregistry.googleapis.com
  vpcAccessibleServices:
    enableRestriction: true
    allowedServices:
    - RESTRICTED_SERVICES
title: Example

Para conferir os detalhes de perímetro de serviço na sua organização, descreva o perímetro de serviço usando o comando da gcloud CLI.

Neste exemplo, também presumimos que você definiu os seguintes recursos:

  • Um grupo de identidades chamado allowed-users@example.com com usuários a quem você quer dar acesso ao Cloud Run dentro do perímetro.
  • Um nível de acesso chamado CorpDatacenters na mesma política de acesso que o perímetro de serviço. CorpDatacenters inclui um intervalo de endereços IP na lista de permissões dos data centers corporativos que são as fontes das solicitações das contas de serviço.

A política de entrada a seguir, ingress.yaml, permite que o Cloud Run acesse contas humanas específicas, que fazem parte do grupo allowed-users@example.com, e determinadas contas de serviço, que são limitadas ao intervalo de endereços IP da lista de permissões:

- ingressFrom:
    identities:
    - serviceAccount:my-sa@my-project.iam.gserviceaccount.com
    sources:
    - accessLevel: accessPolicies/222/accessLevels/CorpDatacenters
  ingressTo:
    operations:
    - serviceName: run.googleapis.com
      methodSelectors:
      - method: "*"
    resources:
    - "*"
- ingressFrom:
    identities:
    - group:allowed-users@example.com
    sources:
    - accessLevel: "*"
  ingressTo:
    operations:
    - serviceName: run.googleapis.com
      methodSelectors:
      - method: "*"
    resources:
    - "*"

Para aplicar a regra de entrada, execute o seguinte comando:

gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml

A seguir