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:
Property | 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, os Aplicativos de Contêiner do Azure, o Azure Functions, o Serviço Kubernetes do Azure (AKS) 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.
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.username
,spring.datasource.password
. As configurações de conexão Kafka seriamspring.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
.
- O nome da chave da primeira configuração de conexão usa o formato
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.
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.
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á.
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.