Conectar ao Secure Source Manager

Esta página descreve como criar conexões com o Secure Source Manager e vincular a repositórios do Secure Source Manager. Essa integração permite usar os recursos do Developer Connect, como visualizações do painel dos repositórios do Secure Source Manager, e o proxy do Developer Connect para realizar operações git, como operações de leitura segura.

Antes de começar

  1. Faça login na sua Conta do Google.

    Se você ainda não tiver uma, inscreva-se agora.

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Opcional: crie uma chave de criptografia gerenciada pelo cliente (CMEK) para criptografar os secrets de autenticação criados pelo Developer Connect.
  9. Opcional: para usar as instruções de linha de comando neste guia, siga estas etapas:
    1. Instale a Google Cloud CLI. Se você já instalou a CLI gcloud, verifique se tem a versão mais recente disponível executando gcloud components update.
    2. Crie uma conta de serviço do Developer Connect executando o comando a seguir, em que PROJECT_ID é o Google Cloud ID do projeto:
              gcloud beta services identity create \
                  --service=developerconnect.googleapis.com \
                  --project=PROJECT_ID
              

Requisitos do Secure Source Manager

  • Verifique se você tem uma instância do Secure Source Manager operacional implantada em uma Google Cloud região.
  • A conexão do Developer Connect e a instância do Secure Source Manager precisam estar na mesma região.
  • Conceda ao agente de serviço do Developer Connect (P4SA) o papel roles/securesourcemanager.developerConnectLinker no projeto da instância do Secure Source Manager.

Funções exigidas

Para conseguir as permissões necessárias para criar conexões e links, peça ao administrador para conceder a você os papéis do IAM a seguir:

  • Para criar uma conexão e um link para um repositório: administrador do Developer Connect (roles/developerconnect.admin) no projeto em que você quer criar recursos do Developer Connect.
  • Para conceder permissões ao agente de serviço do Developer Connect: administrador do IAM do projeto (roles/resourcemanager.projectIamAdmin) no projeto em que o Secure Source Manager está em execução.

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 personalizados papéis ou outros predefinidos papéis.

Crie uma conexão

Esta seção descreve como criar uma conexão entre o Developer Connect e o Secure Source Manager. Se você estiver usando o Google Cloud console, também poderá começar a adicionar links a repositórios ao terminar de configurar a conexão.

Para criar uma nova conexão do Secure Source Manager, selecione uma das seguintes opções:

Console

  1. No Google Cloud console do, abra o Developer Connect.

    Acessar o Developer Connect

  2. Clique em Criar conexão.

  3. Selecione Secure Source Manager como provedor de origem.

  4. Em Região, escolha uma região para sua conexão. Precisa ser a mesma região da instância do Secure Source Manager.

  5. Em Nome, insira um nome para sua conexão.

  6. Na lista Instância, selecione uma instância.

  7. Clique em Mostrar mais para conferir as configurações opcionais.

  8. Opcional: para desativar o proxy do Developer Connect, desmarque a caixa de seleção Ativar o proxy do Developer Connect.

  9. Clique em Continuar.

  10. Você pode vincular a repositórios agora ou fazer isso mais tarde editando a conexão. Para vincular a repositórios, selecione-os na lista.

  11. Clique em Vincular.

O Developer Connect cria os links do repositório e os exibe em o Google Cloud console.

gcloud

Para criar uma conexão do Developer Connect com a Google Cloud CLI, execute o comando a seguir:

gcloud developer-connect connections create CONNECTION_ID \
  --location=REGION \
  --project=CONNECTION_PROJECT_ID \
  --secure-source-manager-instance-config=projects/INSTANCE_PROJECT_ID/locations/REGION/instances/INSTANCE_ID

Em que:

  • CONNECTION_ID é o ID da conexão do Developer Connect que você quer criar.
  • REGION é a região da sua conexão. Precisa ser a mesma região da instância do Secure Source Manager.
  • CONNECTION_PROJECT_ID é o ID do Google Cloud projeto em que você quer criar sua conexão.
  • INSTANCE_PROJECT_ID é o ID do Google Cloud projeto em que a instância do Secure Source Manager está localizada.
  • INSTANCE_ID é o ID da instância do Secure Source Manager.

curl

Para criar uma conexão do Developer Connect com curl, faça a seguinte chamada de API:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://developerconnect.googleapis.com/v1/projects/CONNECTION_PROJECT_ID/locations/REGION/connections?connection_id=CONNECTION_ID \
-X POST -H "Content-Type: application/json" \
-d '{"secure_source_manager_instance_config":{"instance":"projects/INSTANCE_PROJECT_ID/locations/REGION/instances/INSTANCE_ID"}}'

Em que:

  • CONNECTION_ID é o ID da conexão do Developer Connect que você quer criar.
  • REGION é a região da sua conexão. Precisa ser a mesma região da instância do Secure Source Manager.
  • CONNECTION_PROJECT_ID é o ID do Google Cloud projeto em que você quer criar sua conexão.
  • INSTANCE_PROJECT_ID é o ID do Google Cloud projeto em que a instância do Secure Source Manager está localizada.
  • INSTANCE_ID é o ID da instância do Secure Source Manager.

Depois de estabelecer uma conexão com o Secure Source Manager, você pode vincular a repositórios. Você pode repetir essas etapas mais tarde para vincular outros repositórios conforme necessário.

Para criar links de repositório em uma conexão atual do Secure Source Manager, selecione uma das seguintes opções:

Console

  1. Abra a página Repositórios no Google Cloud console.

    Abrir a página Repositórios

  2. Clique em Vincular repositório.

    O painel Vincular repositórios Git é aberto.

  3. Na lista de conexões, escolha sua conexão do Secure Source Manager.

  4. Clique em Continuar.

  5. Na lista de repositórios, selecione os repositórios que você quer vincular.

  6. Clique em Criar.

O Developer Connect cria os links do repositório e os exibe em o Google Cloud console.

gcloud

Para mais informações sobre como gerenciar links de repositório Git com gcloud, consulte gcloud developer-connect connections git-repository-links.

Usar o proxy do Developer Connect no Cloud Build

Para usar o proxy do Developer Connect no Cloud Build, siga estas etapas:

  1. Conceda ao agente de serviço do Secure Source Manager o papel roles/developerconnect.viewer ou qualquer papel que tenha a permissão developerconnect.gitRepositoryLinks.get no projeto do Developer Connect.
  2. Vincule o repositório do Secure Source Manager a um gitRepositoryLink do Developer Connect. Consulte Vincular a um repositório do Secure Source Manager para instruções.
  3. No arquivo .cloudbuild/trigger.yaml no diretório raiz do repositório, adicione uma nova entrada para apontar para o recurso gitRepositoryLink de destino.

    Exemplo:

    triggers:
    - name: test-trigger
      project: my-project
      configFilePath: cloudbuild.yaml
      eventType: push
      serviceAccount: projects/my-project/serviceAccounts/my-sa@my-project.iam.gserviceaccount.com
      devConnectGitRepositoryLink: projects/my-project/locations/us-central1/connections/my-ssm-connection/gitRepositoryLinks/my-repo-link
    

Escopo operacional e limitações

Depois de configurar a conexão, você pode realizar operações de leitura git seguras, como um clone, em instâncias do Secure Source Manager usando o URI do proxy do Developer Connect.

O proxy do Developer Connect não oferece suporte a operações git push. O sistema impede operações de gravação que usam a identidade do P4SA do DevConnect.

Você pode atualizar outras configurações da conexão, por exemplo, para ativar ou desativar o proxy do Developer Connect, mas não é possível apontar a conexão atual para uma instância diferente do Secure Source Manager.

A seguir