Conectar ao Secure Source Manager

Nesta página, descrevemos como criar conexões com o Secure Source Manager e vincular a repositórios do Secure Source Manager. Com essa integração, é possível usar recursos do Developer Connect, como visualizações de painel dos seus repositórios do Secure Source Manager, e usar o proxy do Developer Connect para realizar operações do git, como operações de leitura seguras.

Antes de começar

  1. 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

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

  3. Enable the Developer Connect, Secret Manager APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  4. Opcional: crie uma chave de criptografia gerenciada pelo cliente (CMEK) para criptografar os secrets de autenticação criados pelo Developer Connect.
  5. Opcional: para usar as instruções de linha de comando deste guia, siga estas etapas:
    1. Instale a CLI do Google Cloud. Se você já instalou a CLI gcloud anteriormente, 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 seguinte comando, 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 operacional do Secure Source Manager implantada em uma região do Google Cloud .
  • 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 receber as permissões necessárias para criar conexões e links, peça ao administrador para conceder a você os seguintes papéis do IAM:

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.

Crie uma conexão

Nesta seção, descrevemos como criar uma conexão entre o Developer Connect e o Secure Source Manager. Se você estiver usando o console do Google Cloud , também poderá começar a adicionar links a repositórios ao concluir a configuração da conexão.

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

Console

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

    Acessar o Developer Connect

  2. Clique em Criar conexão.

  3. Selecione Secure Source Manager como seu provedor de origem.

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

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

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

  7. Clique em Mostrar mais para ver 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. É possível 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 no console do Google Cloud .

gcloud

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

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 conexão. Precisa ser a mesma região da instância do Secure Source Manager.
  • CONNECTION_PROJECT_ID é o ID do projeto do Google Cloud em que você quer criar a conexão.
  • INSTANCE_PROJECT_ID é o ID do projeto do Google Cloud em que sua 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 conexão. Precisa ser a mesma região da instância do Secure Source Manager.
  • CONNECTION_PROJECT_ID é o ID do projeto do Google Cloud em que você quer criar a conexão.
  • INSTANCE_PROJECT_ID é o ID do projeto do Google Cloud em que sua 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, é possível vincular a repositórios. Repita 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 console do Google Cloud .

    Abra a página Repositórios

  2. Clique em Vincular repositório.

    O painel Vincular repositórios do 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 que você quer vincular.

  6. Clique em Criar.

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

gcloud

Para mais informações sobre como gerenciar links de repositório do 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 seu repositório do Secure Source Manager a uma gitRepositoryLink do Developer Connect. Consulte Vincular a um repositório do Secure Source Manager para ver 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.
      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, é possível realizar operações de leitura seguras do git, como um clone, em instâncias do Secure Source Manager usando o URI de proxy do Developer Connect.

O proxy do Developer Connect não é compatível com operações git push. O sistema impede operações de gravação que usam a identidade do P4SA do DevConnect.

É possível 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