Tutorial: conectar um aplicativo Web à Configuração de Aplicativos do Azure com o Conector de Serviço
Artigo
Saiba como conectar um aplicativo ASP.NET Core em execução no Serviço de Aplicativo do Azure à Configuração de Aplicativos do Azure, usando um dos seguintes métodos:
SMI (Identidade gerenciada atribuída pelo sistema)
UAMI (Identidade gerenciada atribuída pelo usuário)
Entidade de serviço
Cadeia de conexão
Neste tutorial, use a CLI do Azure para concluir as seguintes tarefas:
Configurar recursos do Azure
Criar uma conexão entre um aplicativo Web e a Configuração de Aplicativos
Compilar e implantar seu aplicativo no Serviço de Aplicativo do Azure
Pré-requisitos
Uma conta do Azure com uma assinatura ativa. Sua função de acesso na assinatura deve ser "Colaborador" ou "Proprietário". Crie uma conta gratuitamente.
Siga essas etapas para criar um Serviço de Aplicativo e implantar o aplicativo de exemplo. Verifique se você tem a função Colaborador ou Proprietário de Assinatura.
Crie um serviço de aplicativo e implante o aplicativo de exemplo que usa a identidade gerenciada atribuída pelo sistema para interagir com a Configuração de Aplicativos.
# Change directory to the SMI sample
cd serviceconnector-webapp-appconfig-dotnet\system-managed-identity
# Create a web app
LOCATION='eastus'
RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
APP_SERVICE_NAME='webapp-appconfig-smi'
az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
Parâmetro
Descrição
Exemplo
Localização
Escolha uma localização próxima de você. Use az account list-locations --output table para listar locais.
eastus
Nome do grupo de recursos
Você usará esse grupo de recursos para organizar todos os recursos do Azure necessários para concluir este tutorial.
service-connector-tutorial-rg
Nome do serviço de aplicativo
O nome do serviço de aplicativo é usado como o nome do recurso no Azure e para formar o nome de domínio totalmente qualificado do aplicativo, no formato do ponto de extremidade do servidor https://<app-service-name>.azurewebsites.com. Esse nome deve ser exclusivo em todo o Azure e os únicos caracteres permitidos são A-Z, 0-9 e -.
webapp-appconfig-smi
Crie um serviço de aplicativo e implante o aplicativo de exemplo que usa a identidade gerenciada atribuída pelo usuário para interagir com a Configuração de Aplicativos.
# Change directory to the UMI sample
cd serviceconnector-webapp-appconfig-dotnet\user-assigned-managed-identity
# Create a web app
LOCATION='eastus'
RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
APP_SERVICE_NAME='webapp-appconfig-umi'
az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
Parâmetro
Descrição
Exemplo
Localização
Escolha uma localização próxima de você. Use az account list-locations --output table para listar locais.
eastus
Nome do grupo de recursos
Você usará esse grupo de recursos para organizar todos os recursos do Azure necessários para concluir este tutorial.
service-connector-tutorial-rg
Nome do serviço de aplicativo
O nome do serviço de aplicativo é usado como o nome do recurso no Azure e para formar o nome de domínio totalmente qualificado do aplicativo, no formato do ponto de extremidade do servidor https://<app-service-name>.azurewebsites.com. Esse nome deve ser exclusivo em todo o Azure e os únicos caracteres permitidos são A-Z, 0-9 e -.
webapp-appconfig-umi
Crie uma identidade gerenciada atribuída pelo usuário. Salve a saída em um bloco de notas temporário.
az identity create --resource-group $RESOURCE_GROUP_NAME -n "myIdentity"
Crie um serviço de aplicativo e implante o aplicativo de exemplo que usa a entidade de serviço para interagir com a Configuração de Aplicativos.
# Change directory to the service principal sample
cd serviceconnector-webapp-appconfig-dotnet\service-principal
# Create a web app
LOCATION='eastus'
RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
APP_SERVICE_NAME='webapp-appconfig-sp'
az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
Parâmetro
Descrição
Exemplo
Localização
Escolha uma localização próxima de você. Use az account list-locations --output table para listar locais.
eastus
Nome do grupo de recursos
Você usará esse grupo de recursos para organizar todos os recursos do Azure necessários para concluir este tutorial.
service-connector-tutorial-rg
Nome do serviço de aplicativo
O nome do serviço de aplicativo é usado como o nome do recurso no Azure e para formar o nome de domínio totalmente qualificado do aplicativo, no formato do ponto de extremidade do servidor https://<app-service-name>.azurewebsites.com. Esse nome deve ser exclusivo em todo o Azure e os únicos caracteres permitidos são A-Z, 0-9 e -.
webapp-appconfig-sp
Crie uma entidade de serviço; certifique-se de substituir yourSubscriptionID pela ID da assinatura real. Salve a saída em um bloco de notas temporário.
az ad sp create-for-rbac --name myServicePrincipal --role Contributor --scopes /subscriptions/{yourSubscriptionID}/resourceGroups/$RESOURCE_GROUP_NAME
Aviso
A Microsoft recomenda usar o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento exige um grau muito alto de confiança no aplicativo e traz riscos que não estão presentes em outros fluxos. Você só deve usar esse fluxo quando outros fluxos mais seguros, como identidades gerenciadas, não forem viáveis.
Crie um serviço de aplicativo e implante o aplicativo de exemplo que usa a cadeia de conexão para interagir com a Configuração de Aplicativos.
# Change directory to the service principal sample
cd serviceconnector-webapp-appconfig-dotnet\connection-string
# Create a web app
LOCATION='eastus'
RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
APP_SERVICE_NAME='webapp-appconfig-cs'
az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
Parâmetro
Descrição
Exemplo
Localização
Escolha uma localização próxima de você. Use az account list-locations --output table para listar locais.
eastus
Nome do grupo de recursos
Você usará esse grupo de recursos para organizar todos os recursos do Azure necessários para concluir este tutorial.
service-connector-tutorial-rg
Nome do serviço de aplicativo
O nome do serviço de aplicativo é usado como o nome do recurso no Azure e para formar o nome de domínio totalmente qualificado do aplicativo, no formato do ponto de extremidade do servidor https://<app-service-name>.azurewebsites.com. Esse nome deve ser exclusivo em todo o Azure e os únicos caracteres permitidos são A-Z, 0-9 e -.
webapp-appconfig-cs
Criar um armazenamento da Configuração de Aplicativos do Azure
Importe o arquivo de configuração de teste para a Configuração de Aplicativos do Azure usando uma identidade gerenciada atribuída pelo sistema.
Cd na pasta ServiceConnectorSample
Importe o arquivo de configuração de teste ./sampleconfigs.json para o armazenamento da Configuração de Aplicativos. Se você estiver usando o Cloud Shell, carregue sampleconfigs.json antes de executar o comando.
Importe o arquivo de configuração de teste para a Configuração de Aplicativos do Azure usando uma identidade gerenciada atribuída pelo usuário.
Cd na pasta ServiceConnectorSample
Importe o arquivo de configuração de teste ./sampleconfigs.json para o armazenamento da Configuração de Aplicativos. Se você estiver usando o Cloud Shell, carregue sampleconfigs.json antes de executar o comando.
Importe o arquivo de configuração de teste para a Configuração de Aplicativos do Azure usando a entidade de serviço.
Cd na pasta ServiceConnectorSample
Importe o arquivo de configuração de teste ./sampleconfigs.json para o armazenamento da Configuração de Aplicativos. Se você estiver usando o Cloud Shell, carregue sampleconfigs.json antes de executar o comando.
A Microsoft recomenda usar o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento exige um grau muito alto de confiança no aplicativo e traz riscos que não estão presentes em outros fluxos. Você só deve usar esse fluxo quando outros fluxos mais seguros, como identidades gerenciadas, não forem viáveis.
Importe o arquivo de configuração de teste para a Configuração de Aplicativos do Azure usando a cadeia de conexão.
Cd na pasta ServiceConnectorSample
Importe o arquivo de configuração de teste ./sampleconfigs.json para o armazenamento da Configuração de Aplicativos. Se você estiver usando o Cloud Shell, carregue sampleconfigs.json antes de executar o comando.
Crie uma conexão entre o aplicativo Web e o armazenamento da Configuração de Aplicativos, usando uma autenticação da identidade gerenciada atribuída pelo sistema. Essa conexão é feita por meio do Conector de Serviço.
system-identity refere-se ao tipo de autenticação SMI (identidade gerenciada atribuída pelo sistema). O Conector de Serviço também dá suporte às seguintes autenticações: UMI (identidade gerenciada atribuída pelo usuário), cadeia de conexão (segredo) e entidade de serviço.
Crie uma conexão entre o aplicativo Web e o armazenamento da Configuração de Aplicativos, usando uma autenticação da identidade gerenciada atribuída pelo usuário. Essa conexão é feita por meio do Conector de Serviço.
user-identity refere-se ao tipo de autenticação da identidade gerenciada atribuída pelo usuário. O Conector de Serviço também dá suporte às seguintes autenticações: identidade gerenciada atribuída pelo sistema, cadeia de conexão (segredo) e entidade de serviço.
Há duas formas de localizar client-id:
Na CLI do Azure, insira az identity show -n "myIdentity" -g $RESOURCE_GROUP_NAME --query 'clientId'.
No portal do Azure, abra a Identidade Gerenciada que foi criada anteriormente e, em Visão geral, obtenha o valor na ID do cliente.
Crie uma conexão entre o aplicativo Web e o armazenamento da Configuração de Aplicativos, usando uma entidade de serviço. Isso é feito por meio do Conector de Serviço.
service-principal refere-se ao tipo de autenticação da entidade de serviço. O Conector de Serviço também dá suporte às seguintes autenticações: SMI (identidade gerenciada atribuída pelo sistema), UMI (identidade gerenciada atribuída pelo usuário) e cadeia de conexão (segredo).
Crie uma conexão entre o aplicativo Web e o armazenamento da Configuração de Aplicativos, usando uma cadeia de conexão. Essa conexão é feita por meio do Conector de Serviço.
secret refere-se ao tipo de autenticação da cadeia de conexão. O Conector de Serviço também dá suporte às seguintes autenticações: identidade gerenciada atribuída pelo sistema, identidade gerenciada atribuída pelo usuário e entidade de serviço.
Validar a conexão
Para verificar se a conexão está funcionando, navegue até o aplicativo Web em https://<myWebAppName>.azurewebsites.net/ no seu navegador. Quando o site estiver ativo, você verá "Olá. Seu aplicativo Web do Azure está conectado à Configuração de Aplicativos pelo Conector de Serviço agora".
Como ele funciona
Localize abaixo o que o Conector de Serviço gerencia nos bastidores para cada tipo de autenticação.
O Conector de Serviço gerencia a configuração de conexão para você:
Configure o AZURE_APPCONFIGURATION_ENDPOINT do aplicativo Web para permitir que o aplicativo acesse-o e obtenha o ponto de extremidade da Configuração de Aplicativos. Acesse o código de exemplo.
Ative a autenticação gerenciada atribuída pelo sistema do aplicativo Web e conceda à Configuração de Aplicativos uma função de Leitor de Dados para permitir que o aplicativo se autentique na Configuração de Aplicativos usando DefaultAzureCredential em Azure.Identity. Acesse o código de exemplo.
O Conector de Serviço gerencia a configuração de conexão para você:
Configure AZURE_APPCONFIGURATION_ENDPOINT, AZURE_APPCONFIGURATION_CLIENTID do aplicativo Web para permitir que o aplicativo acesse-o e obtenha o ponto de extremidade da configuração de aplicativos no código;
Ative a autenticação gerenciada atribuída pelo usuário do aplicativo Web e conceda à Configuração de Aplicativos uma função de Leitor de Dados para permitir que o aplicativo se autentique na Configuração de Aplicativos usando DefaultAzureCredential em Azure.Identity. Acesse o código de exemplo.
O Conector de Serviço gerencia a configuração de conexão para você:
Configure o AZURE_APPCONFIGURATION_ENDPOINT do aplicativo Web para permitir que o aplicativo acesse-o e obtenha o ponto de extremidade da Configuração de Aplicativos. Acesse o código de exemplo.
salve a credencial da entidade de serviço em AZURE_APPCONFIGURATION_CLIENTID das Configurações de Aplicativos do Aplicativo Web. AZURE_APPCONFIGURATION_TENANTID, AZURE_APPCONFIGURATION_CLIENTSECRET conceda a função de Leitor de Dados da Configuração de Aplicativos à entidade de serviço, de modo que o aplicativo possa ser autenticado para a Configuração de Aplicativos no código, usando ClientSecretCredential em Azure.Identity.
O Conector de Serviço gerencia a configuração de conexão para você:
Configure AZURE_APPCONFIGURATION_CONNECTIONSTRING do aplicativo Web para permitir que o aplicativo acesse-o e obtenha a cadeia de conexão da Configuração de Aplicativos. Acesse o código de exemplo.
Ative a autenticação gerenciada atribuída pelo sistema do aplicativo Web e conceda à Configuração de Aplicativos uma função de Leitor de Dados para permitir que o aplicativo se autentique na Configuração de Aplicativos usando DefaultAzureCredential em Azure.Identity. Acesse o código de exemplo.
Atualize o valor da chave SampleApplication:Settings:Messages no Armazenamento da Configuração de Aplicativos.
az appconfig kv set -n <myAppConfigStoreName> --key SampleApplication:Settings:Messages --value hello --yes
Navegue até seu aplicativo Web do Azure acessando https://<myWebAppName>.azurewebsites.net/ e atualizando a página. Você verá que a mensagem é atualizada para "olá".
Limpar os recursos
Quando terminar, se você não for mais usar esses recursos do Azure, exclua-os executando o comando az group delete. Esse comando exclui o grupo de recursos e todos os recursos dele.
az group delete -n <myResourceGroupName> --yes
Próximas etapas
Siga os tutoriais listados abaixo para saber mais sobre o Conector de Serviço.