Conceda acesso à instância aos utilizadores

Esta página descreve como conceder aos seus utilizadores acesso à instância do Secure Source Manager através da gestão de identidade e acesso (IAM). Para mais detalhes sobre o controlo de acesso no Secure Source Manager, consulte o artigo Controlo de acesso com a IAM

Funções necessárias

Para receber as autorizações de que precisa para conceder aos utilizadores acesso à instância, peça ao seu administrador para lhe conceder a função de proprietário da instância do Secure Source Manager (roles/securesourcemanager.instanceOwner) função de IAM na instância do Secure Source Manager. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Para informações sobre a concessão de funções do Secure Source Manager, consulte o artigo Controlo de acesso com a IAM.

Conceda acesso a utilizadores da federação de identidade da força de trabalho

Se usar a federação de identidades da força de trabalho para aceder ao Secure Source Manager, os principais são representados de forma diferente. Para saber como conceder acesso a principais que representam grupos de identidades, consulte o artigo Represente utilizadores do grupo de funcionários em políticas do IAM.

Por exemplo, o comando seguinte concede ao utilizador user@example.com a função de Instance Accessor (roles/securesourcemanager.instanceAccessor) no grupo de trabalhadores 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

Pode conceder utilizadores ou grupos no seu conjunto de identidades da força de trabalho com base nos atributos do fornecedor de identidades (IdP) ou usar a linguagem de expressão comum (CEL) para mapear os atributos OIDC para atributos personalizados de modo a definir uma estratégia de autorização na sua política de IAM. Para mais informações sobre os mapeamentos de atributos, leia o artigo Mapeamentos de atributos.

Conceda acesso a um único utilizador

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

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

Substitua o seguinte:

  • INSTANCE_ID com o ID da instância.
  • PROJECT_ID com o ID ou o número do projeto da instância.
  • REGION com a região onde a instância está localizada. Consulte a documentação sobre localizações para ver as regiões disponíveis do Secure Source Manager.
  • PRINCIPAL_IDENTIFIER com o identificador do principal ao qual quer conceder a função.

    Por exemplo, para conceder a função a um único utilizador com o respetivo endereço de email, formataria o identificador principal como user:EMAIL, em que EMAIL é o endereço de email do utilizador.

    Para mais informações sobre os identificadores principais suportados, consulte o artigo Identificadores principais.

Por exemplo, o comando seguinte concede ao utilizador trusted-user1@gmail.com a função 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

Conceda acesso a vários utilizadores

  1. Crie um grupo Google de todos os utilizadores que precisam de aceder à sua instância. O grupo pode ser um grupo específico do domínio.

    Recomendamos que crie um grupo abrangente que inclua todos os potenciais utilizadores, por exemplo, todos os programadores e pessoas que possam apresentar problemas na sua empresa. Os utilizadores têm de estar neste grupo para aceder ou criar recursos numa instância do Secure Source Manager, incluindo repositórios e problemas.

    Ao tornar este grupo abrangente, os chefes de equipa podem gerir funções de utilizador ao nível da instância e do repositório sem terem de gerir também a adesão ao grupo.

  2. Para ler a política de permissão atual e guardá-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 o seguinte:

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

    A saída inclui todas as associações existentes ou, se não existirem, o valor etag semelhante ao seguinte:

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

    • Função de acessor da instância (roles/securesourcemanager.instanceAccessor) para utilizadores que precisam de ver a instância, mas não criam nem modificam repositórios.
    • Função de criador do repositório de instâncias (roles/securesourcemanager.instanceRepositoryCreator) para utilizadores que precisam de criar e modificar repositórios.
    • Função de proprietário da instância (roles/securesourcemanager.instanceOwner) para utilizadores que vão gerir a sua instância.

    A seguinte política de exemplo concede a função roles/securesourcemanager.instanceRepositoryCreator ao grupo your-group@gmail.com e concede aos utilizadores trusted-user1@gmail.com e trusted-user2@gmail.com a função 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 o seguinte:

    • ETAG com o valor etag da resposta getIamPolicy. Neste caso, seria BwUjHYKJUiQ=
    • GROUP_EMAIL com o endereço de email do seu grupo Google.
    • USER_EMAIL_1 e USER_EMAIL_2 com os endereços de email dos utilizadores aos quais quer conceder a função de proprietário da instância.
  4. Guarde o ficheiro /tmp/instance.json editado.

  5. Depois de modificar a política de autorização guardada para conceder e revogar as funções desejadas, atualize a política de autorizaçã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 o seguinte:

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

O que se segue?