Share via


Componentes internos do Service Connector

O Service Connector é um provedor de recursos de extensão do Azure projetado para fornecer uma maneira simples de criar e gerenciar conexões entre os serviços do Azure.

O Service Connector oferece os seguintes recursos:

  • Permite conectar os serviços do Azure junto com um único comando da CLI do Azure ou em algumas etapas usando o portal do Azure.
  • Suporta um número crescente de bancos de dados, armazenamento, serviços em tempo real, estado e armazenamentos secretos que são usados com seu aplicativo nativo da nuvem.
  • Define configurações de rede, autenticação e gerencia variáveis ou propriedades do ambiente de conexão para você.
  • Valida conexões e fornece sugestões para corrigir conexões defeituosas.

Visão geral da conexão de serviço

O conceito de conexão de serviço é um conceito-chave no modelo de recursos do Service Connector. Uma conexão de serviço representa uma abstração do link entre dois serviços. As conexões de serviço têm as seguintes propriedades:

Propriedade Description
Nome da Ligação O nome exclusivo da conexão de serviço.
Tipo de serviço de origem Os serviços de origem são serviços aos quais você pode se conectar aos serviços de destino. Eles geralmente são serviços de computação do Azure e incluem o Serviço de Aplicativo do Azure, o Azure Functions, os Aplicativos de Contêiner do Azure e os Aplicativos Azure Spring.
Tipo de serviço de destino Os serviços de destino são serviços de suporte ou serviços de dependência aos quais seus serviços de computação se conectam. O Service Connector suporta vários tipos de serviços de destino, incluindo os principais bancos de dados, armazenamento, serviços em tempo real, estado e armazenamentos secretos.
Tipo de Cliente Tipo de cliente refere-se à sua pilha de tempo de execução de computação, estrutura de desenvolvimento ou tipo específico de biblioteca de cliente que aceita o formato específico das variáveis ou propriedades do ambiente de conexão.
Tipo de Autenticação O tipo de autenticação usado para a conexão de serviço. Pode ser um segredo/cadeia de conexão, uma identidade gerenciada ou uma entidade de serviço.

Os serviços de origem e os serviços de destino oferecem suporte a várias conexões de serviço simultâneas, o que significa que você pode conectar cada recurso a vários recursos.

O Service Connector gerencia conexões nas propriedades da instância de origem. A criação, obtenção, atualização e exclusão de conexões é feita diretamente abrindo a instância do serviço de origem no portal do Azure ou usando os comandos da CLI do serviço de origem.

As conexões podem ser feitas entre assinaturas ou locatários, o que significa que os serviços de origem e destino podem pertencer a diferentes assinaturas ou locatários. Quando você cria uma nova conexão de serviço, o recurso de conexão é criado na mesma região que sua instância de serviço de computação por padrão.

Criação e atualização de conexões de serviço

O Service Connector executa várias tarefas ao criar ou atualizar conexões de serviço, incluindo:

  • Definindo as configurações de rede e firewall. Saiba mais sobre soluções de rede.

  • Configurando informações de conexão. Saiba mais sobre as configurações de conexão.

  • Configurando informações de autenticação. O Service Connector suporta todos os tipos de autenticação disponíveis entre os serviços de origem e os serviços de destino.

    • Identidade gerenciada atribuída ao sistema. O Service Connector habilita a identidade gerenciada atribuída ao sistema nos serviços de origem, se ainda não estiver habilitada, e concede funções RBAC de serviços de destino à identidade gerenciada. O usuário pode especificar as funções a serem concedidas.
    • Identidade gerenciada atribuída pelo usuário. O Service Connector permite que a identidade gerenciada atribuída ao usuário nos serviços de origem, se ainda não estiver habilitada, conceda funções RBAC de serviços de destino à identidade gerenciada. O usuário pode especificar as funções a serem concedidas.
    • Cadeia de conexão. O Service Connector recupera cadeias de conexão de serviços de destino, como Armazenamento, Cache Redis, etc., ou constrói cadeias de conexão com base na entrada do usuário, como o banco de dados do Azure para SQL, PostgreSQL, etc.
    • Entidade de serviço. O Service Connector concede funções RBAC de serviços de destino à identidade gerenciada. O usuário pode especificar as funções a serem concedidas.

    O Service Connector salva as configurações de autenticação correspondentes nos serviços de origem, por exemplo, salvando AZURE_CLIENT_ID, AZURE_TENANT_ID AZURE_STORAGEACCOUNT_ENDPOINT para Armazenamento com o tipo de autenticação identidade gerenciada atribuída ao usuário.

  • Criando ou atualizando a reversão de conexão se ocorrer falha

Se uma etapa falhar durante esse processo, o Service Connector reverterá todas as etapas anteriores para manter as configurações iniciais nas instâncias de origem e de destino.

Fornecedor de recursos

Microsoft.ServiceLinker é o nome do provedor de recursos do Service Connector.

Quando um usuário abre a guia Service Connector no portal do Azure, o provedor de recursos ServiceLinker é registrado automaticamente na assinatura ativa do usuário. O usuário que gerou o registro é listado como o iniciador do evento de registro.

O Service Connector permite que os usuários conectem serviços entre assinaturas. Quando um usuário cria uma conexão com um serviço de destino registrado em outra assinatura, o Service Linker também é registrado na assinatura do serviço de destino. Esse registro ocorre quando o usuário seleciona a guia Revisar + criar antes de finalmente criar a conexão.

Configurações de conexão

As configurações de conexão são definidas no serviço de origem.

No portal do Azure, abra um serviço de origem e navegue até Service Connector. Expanda cada conexão e visualize as configurações de conexão.

Screenshot of the Azure portal showing service connection details.

Na CLI, use o list-configuration comando para obter as configurações de conexão.

az webapp connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
az spring connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
az containerapp connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>

Convenção de nomenclatura de configuração

O Service Connector define a configuração da conexão ao criar uma conexão. Os pares chave-valor da variável de ambiente são determinados com base no tipo de cliente e no tipo de autenticação. Por exemplo, usar o SDK do Azure com uma identidade gerenciada requer uma ID do cliente, segredo do cliente, etc. O uso de um driver JDBC requer uma cadeia de conexão de banco de dados. Siga estas convenções para nomear as configurações:

  • Cliente Spring Boot: a biblioteca Spring Boot para cada serviço de destino tem sua própria convenção de nomenclatura. Por exemplo, as configurações de conexão do MySQL seriam spring.datasource.url, , spring.datasource.usernamespring.datasource.password. As configurações de conexão Kafka seriam spring.kafka.properties.bootstrap.servers.

  • Outros clientes:

    • O nome da chave da primeira configuração de conexão usa o formato <Cloud>_<Type>_<Name>. Por exemplo, , AZURE_STORAGEBLOB_RESOURCEENDPOINTCONFLUENTCLOUD_KAFKA_BOOTSTRAPSERVER.
    • Para o mesmo tipo de recurso de destino, o nome da chave da segunda configuração de conexão usa o formato <Cloud>_<Type>_<Connection Name>_<Name>. Por exemplo, , AZURE_STORAGEBLOB_CONN2_RESOURCEENDPOINTCONFLUENTCLOUD_KAFKA_CONN2_BOOTSTRAPSERVER.

Solução de rede de serviço

O Service Connector oferece três soluções de rede para os usuários escolherem ao criar uma conexão. Estas soluções foram concebidas para facilitar uma comunicação segura e eficiente entre recursos.

  1. Firewall: Esta solução permite a conexão através de rede pública e recurso de computação acessando o recurso de destino com endereço IP público. Ao selecionar essa opção, o Service Connector verifica as configurações de firewall do recurso de destino e adiciona uma regra para permitir conexões do endereço IP público do recurso de origem. Se o firewall do recurso oferecer suporte para permitir o acesso a todos os recursos do Azure, o Service Connector habilitará essa configuração. No entanto, se o recurso de destino negar todo o tráfego de rede pública por padrão, o Service Connector não modificará essa configuração. Nesse caso, você deve escolher outra opção ou atualizar as configurações de rede manualmente antes de tentar novamente.

  2. Service Endpoint: Esta solução permite que o recurso de computação se conecte aos recursos de destino por meio de uma rede virtual, garantindo que o tráfego de conexão não passe pela rede pública. Só está disponível se forem cumpridas determinadas condições prévias:

    • O recurso de computação deve ter a integração de rede virtual habilitada. Para o Serviço de Aplicativo do Azure, ele pode ser configurado em suas configurações de rede; para Azure Spring Apps, os usuários devem definir a injeção de Rede Virtual durante o estágio de criação de recursos.
    • O serviço de destino deve oferecer suporte ao Service Endpoint. Para obter uma lista de serviços suportados, consulte Pontos de extremidade de serviço de Rede Virtual.

    Ao selecionar essa opção, o Service Connector adiciona o endereço IP privado do recurso de computação na rede virtual às regras de Rede Virtual do recurso de destino e habilita o ponto de extremidade do serviço na configuração de sub-rede do recurso de origem. Se o usuário não tiver permissões suficientes ou se a SKU ou região do recurso não oferecer suporte a pontos de extremidade de serviço, a criação da conexão falhará.

  3. Ponto de extremidade privado: esta solução é uma maneira recomendada de conectar recursos por meio de uma rede virtual e só está disponível se determinadas pré-condições forem atendidas:

  • O recurso de computação deve ter a integração de rede virtual habilitada. Para o Serviço de Aplicativo do Azure, ele pode ser configurado em suas configurações de rede; para Azure Spring Apps, os usuários devem definir a injeção de VNet durante o estágio de criação de recursos.

  • O serviço de destino deve oferecer suporte a pontos de extremidade privados. Para obter uma lista de serviços suportados, consulte Recurso de link privado.

    Ao selecionar essa opção, o Service Connector não executa mais configurações nos recursos de computação ou de destino. Em vez disso, ele verifica a existência de um ponto de extremidade privado válido e falha na conexão se não for encontrado. Por conveniência, os usuários podem selecionar a caixa de seleção "Novo ponto de extremidade privado" no portal do Azure ao criar uma conexão. Com ele, o Service Connector cria automaticamente todos os recursos relacionados para o ponto de extremidade privado na sequência adequada, simplificando o processo de criação da conexão.

Validação da conexão de serviço

Ao validar uma conexão, o conector de serviço verifica os seguintes elementos:

  • Os recursos de origem e de destino existem.
  • Fonte: informações de conexão corretas são registradas.
  • Destino: as configurações corretas de rede e firewall são registradas.
  • Recursos de origem e destino: as informações de autenticação corretas são registradas.

Exclusão de conexão

Quando uma conexão de serviço é excluída, as informações de conexão também são excluídas.

Próximos passos

Consulte o seguinte artigo de conceito para saber mais sobre o Service Connector.