Conceder acesso à instância aos usuários

Nesta página, descrevemos como conceder aos usuários acesso à sua instância do Secure Source Manager usando o Identity and Access Management (IAM). Para mais detalhes sobre o controle de acesso no Secure Source Manager, consulte Controle de acesso com o IAM.

Funções exigidas

Para receber as permissões necessárias a fim de conceder aos usuários acesso à instância, peça ao administrador para conceder a você o papel do IAM de Proprietário da instância do Secure Source Manager (roles/securesourcemanager.instanceOwner) na instância do Secure Source Manager. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Para informações sobre como conceder papéis do Secure Source Manager, consulte Controle de acesso com o IAM.

Conceder acesso a usuários da federação de identidade de colaboradores

Se você usa a federação de identidade de colaboradores para acessar o Secure Source Manager, os principais são representados de maneira diferente. Para saber mais sobre como conceder acesso a principais que representam grupos de identidades, consulte Representar usuários do pool de força de trabalho nas políticas do IAM.

Por exemplo, o comando a seguir concede ao usuário user@example.com o papel de Leitor de acesso à instância (roles/securesourcemanager.instanceAccessor) no pool de funcionários my-pool na instância my-instance no projeto my-project na região us-central1:

  gcloud beta source-manager instances add-iam-policy-binding my-instance \
      --project=my-project \
      --region=us-central1 \
      --member=principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com \
      --role=roles/securesourcemanager.instanceAccessor

É possível conceder acesso a usuários ou grupos no seu pool de identidades de colaboradores com base nos atributos do provedor de identidade (IdP) ou usar a Common Expression Language (CEL) para mapear seus atributos OIDC para atributos personalizados e definir uma estratégia de autorização na sua política do IAM. Para mais informações sobre mapeamentos de atributos, leia Mapeamentos de atributos.

Conceder acesso a um único usuário

Para conceder acesso a um único usuário à instância, use o seguinte comando da Google Cloud CLI:

  gcloud beta source-manager instances add-iam-policy-binding INSTANCE_ID \
      --project=PROJECT_ID \
      --region=REGION \
      --member=PRINCIPAL_IDENTIFIER \
      --role=roles/securesourcemanager.instanceAccessor

Substitua:

  • INSTANCE_ID com o ID da instância.
  • PROJECT_ID com o ID ou número do projeto da instância.
  • REGION com a região em que a instância está localizada. Consulte a documentação de locais para ver as regiões disponíveis do Secure Source Manager.
  • PRINCIPAL_IDENTIFIER com o identificador do principal a quem você quer conceder o papel.

    Por exemplo, para conceder a função a um único usuário com o endereço de e-mail dele, formate o identificador principal como user:EMAIL, em que EMAIL é o endereço de e-mail do usuário.

    Para mais informações sobre identificadores principais compatíveis, consulte Identificadores principais.

Por exemplo, o comando a seguir concede ao usuário trusted-user1@gmail.com o papel roles/securesourcemanager.instanceAccessor na instância my-instance, no projeto my-project na região us-central.

  gcloud beta source-manager instances add-iam-policy-binding INSTANCE_ID \
      --project=my-project \
      --region=us-central1 \
      --member=user:trusted-user1@gmail.com \
      --role=roles/securesourcemanager.instanceAccessor

Conceder acesso a vários usuários

  1. Crie um grupo do Google com todos os usuários que precisam acessar sua instância. O grupo pode ser específico de um domínio.

    Recomendamos criar um grupo amplo que inclua todos os usuários em potencial, por exemplo, todos os desenvolvedores e pessoas que podem registrar problemas na sua empresa. Os usuários precisam estar nesse grupo para acessar ou criar recursos em uma instância do Secure Source Manager, incluindo repositórios e problemas.

    Ao criar um grupo amplo, os líderes de equipe podem gerenciar funções de usuário no nível da instância e do repositório sem precisar gerenciar a associação ao grupo.

  2. Para ler a política de permissão atual e salvá-la em /tmp/instances.json, execute o seguinte comando:

      gcloud beta source-manager instances get-iam-policy INSTANCE_ID \
          --project=PROJECT_ID \
          --region=REGION \
          --format=json > /tmp/instance.json
    

    Substitua:

    • INSTANCE_ID com o ID da instância.
    • PROJECT_ID com o ID ou número do projeto da instância.
    • REGION com a região em que a instância está localizada. Consulte a documentação de locais para conferir as regiões disponíveis do Secure Source Manager.

    A saída vai incluir todas as vinculações atuais ou, se não houver nenhuma, o valor etag semelhante ao seguinte:

    {
        "etag": "BwUjHYKJUiQ="
    }
    
  3. Edite o arquivo JSON /tmp/instance.json para conceder aos seus grupos as seguintes funções:

    • Papel de acessador de instâncias (roles/securesourcemanager.instanceAccessor) para usuários que precisam visualizar a instância, mas não criar ou modificar repositórios.
    • Função de criador de repositório de instância (roles/securesourcemanager.instanceRepositoryCreator) para usuários que precisam criar e modificar repositórios.
    • Papel de proprietário da instância (roles/securesourcemanager.instanceOwner) para usuários que vão gerenciar sua instância.

    A política de exemplo a seguir concede o papel roles/securesourcemanager.instanceRepositoryCreator ao grupo your-group@gmail.com e concede aos usuários trusted-user1@gmail.com e trusted-user2@gmail.com o papel roles/securesourcemanager.instanceOwner.

    {
      "etag": "ETAG",
      "bindings": [
        {
          "role": "roles/securesourcemanager.instanceRepositoryCreator",
          "members": [
            "group:GROUP_EMAIL"
          ]
        },
        {
          "role": "roles/securesourcemanager.instanceOwner",
          "members": [
            "user:USER_EMAIL_1",
            "user:USER_EMAIL_2"
          ]
        }
      ]
    }
    

    Substitua:

    • ETAG com o valor etag da resposta getIamPolicy. Nesse caso, seria BwUjHYKJUiQ=.
    • GROUP_EMAIL com o endereço de e-mail do seu grupo do Google.
    • USER_EMAIL_1 e USER_EMAIL_2 com os endereços de e-mail dos usuários a quem você quer conceder a função de proprietário da instância.
  4. Salve o arquivo /tmp/instance.json editado.

  5. Depois de modificar a política de permissão salva para conceder e revogar os papéis desejados, atualize a política de permissão da instância executando o seguinte comando:

    gcloud beta source-manager instances set-iam-policy INSTANCE_ID  \
        --project=PROJECT_ID \
        --region=REGION \
        /tmp/instance.json
    

    Substitua:

    • INSTANCE_ID com o ID da instância.
    • PROJECT_ID com o ID ou número do projeto da instância.
    • REGION com a região em que a instância está localizada. Consulte a documentação de locais para conferir as regiões disponíveis do Secure Source Manager.

A seguir