Conectar ao Secure Source Manager

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

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 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 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 que conceda a você os seguintes papéis do IAM:

  • Para criar uma conexão e vincular a 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 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 terminar de configurar sua conexão.

Para criar uma 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 sua conexão. Precisa ser a mesma região da sua 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 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. É possível vincular repositórios agora ou fazer isso depois editando a conexão. Para vincular repositórios, selecione-os na lista.

  11. Clique em Vincular.

O Developer Connect cria os links do repositório e os mostra no 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 sua instância do Secure Source Manager.
  • CONNECTION_PROJECT_ID é o ID do projeto Google Cloud em que você quer criar a conexão.
  • INSTANCE_PROJECT_ID é o ID do projeto Google Cloud em que sua instância do Secure Source Manager está localizada.
  • INSTANCE_ID é o ID da sua 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 sua instância do Secure Source Manager.
  • CONNECTION_PROJECT_ID é o ID do projeto Google Cloud em que você quer criar a conexão.
  • INSTANCE_PROJECT_ID é o ID do projeto Google Cloud em que sua instância do Secure Source Manager está localizada.
  • INSTANCE_ID é o ID da sua instância do Secure Source Manager.

Depois de estabelecer uma conexão com o Secure Source Manager, é possível vincular repositórios. Você pode repetir essas etapas mais tarde para vincular outros repositórios, se necessário.

Para criar links de repositório em uma conexão 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 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 aqueles que você quer vincular.

  6. Clique em Criar.

O Developer Connect cria os links do repositório e os mostra no 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 seu 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 e limitações operacionais

Depois de configurar a conexão, é possível realizar operações de leitura git seguras, 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 da 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