Elementos internos do Conector de Serviço

O Conector de Serviço é 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 Conector de Serviço oferece os seguintes recursos:

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

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

O conceito de conexão de serviço é um conceito principal no modelo de recurso do Conector de Serviços. Uma conexão de serviço representa uma abstração do vínculo entre dois serviços. As conexões de serviço têm as seguintes propriedades:

Propriedade Descrição
Nome da Conexã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 que você pode 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 de Primavera do Azure.
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 dá suporte a vários tipos de serviço de destino, incluindo bancos de dados principais, armazenamento, serviços em tempo real, estado e armazenamentos secretos.
Tipo de Cliente O tipo de cliente refere-se à pilha de runtime de computação, à estrutura de desenvolvimento ou ao tipo específico de biblioteca de cliente que aceita o formato específico das propriedades ou variáveis de ambiente de conexão.
Tipo de autenticação O tipo de autenticação usado para a conexão de serviço. Pode ser uma cadeia de conexão/segredo, uma identidade gerenciada ou uma entidade de serviço.

Os serviços de origem e os serviços de destino dão 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 Conector de Serviço gerencia conexões nas propriedades de sua instância de origem. Criar, obter, atualizar e excluir conexões é feito 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 de destino podem pertencer a diferentes assinaturas ou locatários. Ao criar uma conexão de serviço, o recurso de conexão é criado na mesma região que a instância do serviço de computação por padrão.

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

O Conector de Serviço 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 configurações de conexão.

  • Configurando informações de autenticação. O Service Connector oferece suporte a 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 dos serviços de destino à identidade gerenciada. O usuário pode especificar as funções a serem concedidas.
    • Identidade gerenciada atribuída ao 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 dos 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 identidade gerenciada atribuída pelo usuário do tipo de autenticação.

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

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

Provedor 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é o Conector de Serviço. Expanda cada conexão e exiba as configurações de conexão.

Screenshot of the Azure portal showing service connection details.

Na CLI, use o comando list-configuration 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 Conector de Serviço 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, o uso do SDK do Azure com uma identidade gerenciada exige uma ID do cliente, um segredo do cliente etc. O uso de um driver JDBC exige uma cadeia de conexão de banco de dados. Siga estas convenções para nomear as configurações:

  • Cliente Spring Boot: a biblioteca do 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.username e spring.datasource.password. As configurações de conexão do Apache 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_RESOURCEENDPOINT, CONFLUENTCLOUD_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_RESOURCEENDPOINT, CONFLUENTCLOUD_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. Essas soluções são projetadas para facilitar a comunicação segura e eficiente entre os recursos.

  1. Firewall: Esta solução permite a conexão através de rede pública e recursos 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. Ponto de extremidade de serviço: essa 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. Ele só está disponível se certas 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 Aplicativos de Primavera do Azure, 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 Ponto de Extremidade de Serviço. 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 a região do recurso não oferecer suporte a pontos de extremidade de serviço, a criação de conexão falhará.

  3. Ponto de extremidade privado: essa 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 Aplicativos de Primavera do Azure, 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 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 marcar 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 de conexão.

Validação de 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.
  • Origem: as informações de conexão corretas estã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óximas etapas

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