Configurar conectores de conta

Este documento descreve como usar as opções de configuração avançada para conectores de conta do Developer Connect.

Um conector de conta é um recurso do Developer Connect que ajuda a conectar sua conta do Google Cloud à sua conta individual em um provedor de ferramentas de desenvolvedor que não seja do Google. Os usuários podem especificar o tipo de dados a serem acessados pelo conector de conta selecionando os escopos apropriados para esse conector. Depois que uma conexão de conector de conta é criada para uma organização, os usuários dessa organização podem usar essa conexão para autorizar o uso das contas individuais com ela.

É possível configurar um conector de conta usando um cliente OAuth pré-configurado do Developer Connect (por exemplo, GitHub ou GitLab) ou seu próprio cliente OAuth personalizado (por exemplo, uma instância local do GitHub Enterprise).

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. A ativação do Developer Connect também ativa a API Secret Manager.

  9. Opcional: crie uma chave de criptografia gerenciada pelo cliente (CMEK) para criptografar os segredos de autenticação criados pelo Developer Connect.

Funções exigidas

Para ter as permissões necessárias para criar um conector de conta, peça ao administrador para conceder a você o papel do IAM de administrador do OAuth do Developer Connect (roles/developerconnect.oauthAdmin) no projeto. 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.

Criar um conector de conta usando provedores disponíveis

As etapas a seguir descrevem como criar um conector de conta para os provedores integrados. Se você quiser criar um conector de conta e especificar seu cliente OAuth personalizado, consulte Criar um conector de conta usando um cliente OAuth personalizado.

Google Cloud Console do

  1. Noconsole do Google Cloud , abra o Developer Connect.

    Acessar o Developer Connect

  2. Selecione Conectores de conta.

  3. Clique em Criar conector.

  4. Selecione a região em que você quer criar esse conector de conta.

  5. Dê um nome ao conector de conta.

  6. Em Tipo de configuração , escolha Clientes OAuth pré-configurados.

  7. Selecione o provedor OAuth.

  8. Escolha se você quer ativar ou não o proxy do Developer Connect.

    Com o proxy ativado, o Developer Connect envia comandos do Git ou faz chamadas HTTP (ou ambos) ao provedor em seu nome. Saiba mais.

  9. Selecione os escopos a serem concedidos ao Developer Connect para esse conector de conta.

    Os escopos determinam quais ações o Developer Connect pode realizar em no serviço do provedor selecionado. Os escopos variam de acordo com cada provedor. É necessário selecionar pelo menos um escopo, a menos que o provedor não tenha nenhum.

    Dependendo do provedor, é possível que nenhum escopo esteja disponível para seleção. Talvez seja possível adicioná-los manualmente. Também é possível que os escopos sejam obrigatórios.

  10. Clique em Criar para concluir a criação desse conector de conta.

Google Cloud CLI

Para criar um conector de conta, execute o seguinte comando:

   gcloud alpha developer-connect account-connectors create my-ac \
       --location=LOCATION \
       --provider-oauth-config-system-id=PROVIDER \
       --provider-oauth-config-scopes=SCOPES \
       --project=PROJECT_ID

Nesse comando, substitua o seguinte:

  • LOCATION pela região em que você está criando esse conector de conta.

  • PROVIDER pelo provedor de SCM a que você está se conectando:

    GITHUB, GITLAB ou BITBUCKET_CLOUD.

  • PROJECT_ID pelo ID do projeto (não o número do projeto) em que você está criando esse conector de conta.

Criar um conector de conta usando um cliente OAuth personalizado

As etapas a seguir descrevem como configurar um conector de conta para usar um cliente OAuth especificado. Se você quiser criar um conector de conta com os provedores integrados, consulte Criar um conector de conta usando provedores disponíveis.

Google Cloud Console do

  1. Noconsole do Google Cloud , abra o Developer Connect.

    Acessar o Developer Connect

  2. Selecione Conectores de conta.

  3. Clique em Criar conector.

  4. Selecione a região em que você quer criar esse conector de conta.

  5. Dê um nome ao conector de conta.

  6. Em Tipo de configuração , escolha Cliente OAuth personalizado.

    A tela Criar conector de conta mostra um URI de redirecionamento.

  7. Copie o URI de redirecionamento.

    O URI terá o seguinte formato:

    https://developerconnect.google.com/redirect/custom/projects/<project_number>/locations/<location>/accountConnectors/<account_connector_id>

    Nesse URI, <project_number> é o número do projeto, NÃO o ID do projeto.

  8. Crie seu app personalizado para o SCM escolhido usando o URI de redirecionamento copiado e retorne a este formulário para fornecer os detalhes do cliente OAuth:

    1. Selecione o provedor.

    2. No campo URI do host, forneça o URI do sistema de gerenciamento de código-fonte.

    3. Insira o endereço do servidor de autorização no campo URI de autorização. Esse endereço tem o seguinte formato:

      Para o GitHub Enterprise: https://<host_name>/login/oauth/authorize Para o GitLab Enterprise: https://<host_name>/oauth/authorize Para o Data center do Bitbucket: https://<host_name>/rest/oauth2/latest/authorize

    4. No campo URI do token, forneça o URI a ser usado para trocar um código de autorização por um token de acesso. Esse endereço tem o seguinte formato:

      Para o GitHub Enterprise: https://<host_name>/login/oauth/access_token Para o GitLab Enterprise: https://<host_name>/oauth/access_token Para o Data center do Bitbucket: https://<host_name>/rest/oauth2/latest/token

    5. Em ID do cliente, forneça o ID do cliente do seu app OAuth.

    6. Forneça a chave secreta do cliente para autenticar seu app com o servidor de autorização.

    7. Se o conector de conta usar o proxy do Developer Connect para emitir comandos do Git, selecione Ativar o proxy do Developer Connect.

    8. Em Escopos, selecione na lista de escopos disponíveis.

    9. Opcional: configure a rede e a segurança:

      1. Selecione se esse conector de conta vai usar a Internet pública ou uma rede particular.

        Se for uma rede particular, forneça o seguinte:

        • O certificado de CA a ser usado

        • As informações do serviço do Diretório de serviços:

        É possível identificar o projeto do serviço do Diretório de serviços ou especificar a região, o namespace e o nome do serviço.

      2. Ative ou desative o PKCE para esse app.

        O serviço OAuth precisa oferecer suporte ao PKCE.

    10. Clique em Criar para concluir a criação desse conector de conta.

Google Cloud CLI

  ```sh
  gcloud alpha developer-connect account-connectors create my-ac \
    --location=LOCATION \
    --project=PROJECT_ID \
    --custom-provider-oauth-config-system-id=PROVIDER \
    --custom-oauth-config-host-uri= HOST_URI \
    --custom-oauth-config-auth-uri=AUTH_URI \
    --custom-provider-oauth-config-scopes=SCOPES \
    --custom-oauth-config-token-uri=TOKEN_URI \
    --custom-oauth-config-client-id=CLIENT_ID \
    --custom-oauth-config-client-secret=SECRET

  ```

Nesse comando, substitua o seguinte:

  • LOCATION pela região em que você está criando esse conector de conta.

  • PROJECT_ID pelo ID do projeto (não o número do projeto) em que você está criando esse conector de conta.

  • PROVIDER pelo provedor de SCM a que você está se conectando:

    GITHUB_ENTERPRISE, GITLAB_ENTERPRISE ou BITBUCKET_DATA_CENTER.

  • HOST_URI pelo URL do sistema de gerenciamento de código-fonte.

  • AUTH_URI pelo URL usado para autenticar o provedor de SCM escolhido.

    Exemplo:

    • GitHub Enterprise: https://<host_name>/login/oauth/authorize

    • GitLab auto-hospedado: https://<host_name>/oauth/authorize

    • Data center do Bitbucket: https://<host_name>/rest/oauth2/latest/authorize

  • SCOPES por uma lista separada por vírgulas de todos os escopos OAuth do provedor que você quer incluir para esse conector de conta.

  • TOKEN_URI pelo URI a ser usado para trocar um código de autorização por um token de acesso.

  • CLIENT_ID pelo ID do cliente do seu app OAuth.

  • SECRET pelo segredo fornecido pelo SCMS a que você está se conectando.

Conectar sua conta

Depois de criar um conector de conta, ainda é necessário conectar o Developer Connect à sua conta com o provedor antes de poder usar o conector de conta.

  1. Noconsole do Google Cloud , abra o Developer Connect.

    Acessar o Developer Connect

  2. Selecione Conectores de conta.

    A página Conectores de conta lista todos os conectores de conta que você tem no seu projeto.

  3. Clique no nome do conector de conta para o qual você quer conectar sua conta de provedor.

    A página Detalhes do conector é exibida.

  4. Clique em Conectar sua conta.

    Uma caixa de diálogo de autenticação OAuth é mostrada.

  5. Forneça as informações na caixa de diálogo para autenticar o provedor.

  6. Clique em Autorizar.

Atualizar um conector de conta

É possível atualizar um conector de conta existente, mas só é possível atualizar os escopos desse conector, ativar ou desativar a configuração de proxy ou ambos. Se você atualizar os escopos de um determinado conector de conta, todos os usuários atuais desse conector serão removidos.

  1. Noconsole do Google Cloud , abra o Developer Connect.

    Acessar o Developer Connect

    O Developer Connect mostra a página Repositórios Git.

  2. Selecione Conectores de conta.

    A página Conectores de conta lista todos os conectores de conta que você tem no seu projeto.

  3. Clique no nome do conector de conta que você quer atualizar.

    A página Detalhes do conector é exibida.

  4. Clique em Editar.

  5. Na lista Escopos, selecione os escopos que você quer permitir para esse conector de conta.

  6. Clique em Salvar.

Excluir um conector de conta

  1. Noconsole do Google Cloud , abra o Developer Connect.

    Acessar o Developer Connect

    O Developer Connect mostra a página Repositórios Git.

  2. Selecione Conectores de conta.

    A página Conectores de conta lista todos os conectores de conta que você tem no seu projeto.

  3. No menu Mais, selecione Excluir.

    A página Detalhes do conector é exibida.

  4. Clique em Editar.

A seguir