Tutorial: Conectar um aplicativo Web à Configuração do Aplicativo do Azure com o Service Connector
Artigo
Saiba como conectar um aplicativo ASP.NET Core em execução no Serviço de Aplicativo do Azure à Configuração do Aplicativo do Azure, usando um dos seguintes métodos:
Identidade gerenciada atribuída pelo sistema (SMI)
Identidade gerenciada atribuída pelo usuário (UMI)
Service principal (Principal de serviço)
Connection string
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 do Aplicativo
Criar e implantar seu aplicativo no Serviço de Aplicativo do Azure
Pré-requisitos
Uma conta do Azure com uma subscrição ativa. Sua função de acesso dentro da assinatura deve ser "Colaborador" ou "Proprietário". Crie uma conta gratuitamente.
Siga estas etapas para criar um Serviço de Aplicativo e implantar o aplicativo de exemplo. Certifique-se de que tem a função de Colaborador ou Proprietário da Subscrição.
Crie um serviço de aplicativo e implante o aplicativo de exemplo que usa a identidade gerenciada atribuída ao sistema para interagir com a Configuração do aplicativo.
# 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
Description
Exemplo
Location
Escolha uma localização próxima de si. 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.
serviço-conector-tutorial-rg
Nome do serviço de aplicações
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 para seu aplicativo, na forma do ponto de extremidade https://<app-service-name>.azurewebsites.comdo servidor. Esse nome deve ser exclusivo em todos os Azure e os únicos caracteres permitidos são A-Z,-09 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 do Aplicativo.
# 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
Description
Exemplo
Location
Escolha uma localização próxima de si. 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.
serviço-conector-tutorial-rg
Nome do serviço de aplicações
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 para seu aplicativo, na forma do ponto de extremidade https://<app-service-name>.azurewebsites.comdo servidor. Esse nome deve ser exclusivo em todos os Azure e os únicos caracteres permitidos são A-Z,-09 e .-
webapp-appconfig-umi
Crie uma identidade gerida atribuída pelo utilizador. 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 do aplicativo.
# 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
Description
Exemplo
Location
Escolha uma localização próxima de si. 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.
serviço-conector-tutorial-rg
Nome do serviço de aplicações
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 para seu aplicativo, na forma do ponto de extremidade https://<app-service-name>.azurewebsites.comdo servidor. Esse nome deve ser exclusivo em todos os Azure e os únicos caracteres permitidos são A-Z,-09 e .-
webapp-appconfig-sp
Crie uma entidade de serviço, certifique-se de substituir o yourSubscriptionID pelo seu ID de 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 que você use o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento requer um grau muito alto de confiança no aplicativo e acarreta 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 do aplicativo.
# 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
Description
Exemplo
Location
Escolha uma localização próxima de si. 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.
serviço-conector-tutorial-rg
Nome do serviço de aplicações
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 para seu aplicativo, na forma do ponto de extremidade https://<app-service-name>.azurewebsites.comdo servidor. Esse nome deve ser exclusivo em todos os Azure e os únicos caracteres permitidos são A-Z,-09 e .-
webapp-appconfig-cs
Criar um repositório de Configuração de Aplicativo do Azure
A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento requer um grau muito alto de confiança no aplicativo e acarreta 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 do Aplicativo do Azure usando uma cadeia de conexão.
Crie uma conexão entre seu aplicativo Web e sua loja de Configuração de Aplicativos, usando uma autenticação de identidade gerenciada atribuída pelo sistema. Essa conexão é feita através do Service Connector.
system-identity refere-se ao tipo de autenticação SMI (identidade gerenciada atribuída ao sistema). O Service Connector também suporta as seguintes autenticações: UMI (identidade gerenciada atribuída pelo usuário), cadeia de conexão (secreta) e entidade de serviço.
Crie uma conexão entre seu aplicativo Web e sua loja de Configuração de Aplicativo, usando uma autenticação de identidade gerenciada atribuída pelo usuário. Essa conexão é feita através do Service Connector.
user-identity refere-se ao tipo de autenticação de identidade gerenciada atribuída pelo usuário. O Service Connector também suporta as seguintes autenticações: identidade gerenciada atribuída ao sistema, cadeia de conexão (secreta) e entidade de serviço.
Há duas maneiras de encontrar o client-id:
Na CLI do Azure, digite 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 em ID do Cliente.
Crie uma conexão entre seu aplicativo Web e sua loja de configuração de aplicativo, usando uma entidade de serviço. Isso é feito por meio do Service Connector.
service-principal refere-se ao tipo de autenticação da entidade de serviço. O Service Connector também suporta as seguintes autenticações: identidade gerenciada atribuída pelo sistema (UMI), identidade gerenciada atribuída pelo usuário (UMI) e cadeia de conexão (secreta).
Crie uma conexão entre seu aplicativo Web e sua loja de configuração de aplicativos, usando uma cadeia de conexão. Essa conexão é feita através do Service Connector.
secret refere-se ao tipo de autenticação de cadeia de conexão. O Service Connector também suporta as seguintes autenticações: identidade gerenciada atribuída ao sistema, identidade gerenciada atribuída pelo usuário e entidade de serviço.
Validar a ligação
Para verificar se a ligação está a funcionar, navegue até à sua aplicação Web a https://<myWebAppName>.azurewebsites.net/ partir do navegador. Quando o site estiver ativo, você o verá exibindo "Olá. Seu Azure WebApp está conectado à Configuração do Aplicativo pelo ServiceConnector agora".
Como funciona
Encontre abaixo o que o Service Connector gerencia nos bastidores para cada tipo de autenticação.
O Service Connector gerencia a configuração de conexão para você:
Configure o aplicativo Web para permitir que o aplicativo o acesse e obtenha o ponto de AZURE_APPCONFIGURATION_ENDPOINT extremidade de Configuração do Aplicativo. Acesse o código de exemplo.
Ative a autenticação gerenciada atribuída pelo sistema do aplicativo Web e conceda à Configuração do Aplicativo uma função de Leitor de Dados para permitir que o aplicativo se autentique na Configuração do Aplicativo usando DefaultAzureCredential do Azure.Identity. Acesse o código de exemplo.
O Service Connector gerencia a configuração de conexão para você:
Configure o aplicativo Web , AZURE_APPCONFIGURATION_ENDPOINTAZURE_APPCONFIGURATION_CLIENTID para permitir que o aplicativo o acesse e obtenha o ponto de extremidade de configuração do aplicativo no código;
Ative a autenticação gerenciada atribuída pelo usuário do aplicativo Web e conceda à Configuração do Aplicativo uma função de Leitor de Dados para permitir que o aplicativo se autentique na Configuração do Aplicativo usando DefaultAzureCredential do Azure.Identity. Acesse o código de exemplo.
O Service Connector gerencia a configuração de conexão para você:
Configure o aplicativo Web para permitir que o aplicativo o acesse e obtenha o ponto de AZURE_APPCONFIGURATION_ENDPOINT extremidade de Configuração do Aplicativo. Acesse o código de exemplo.
salve a credencial da entidade de serviço em WebApp AppSettings AZURE_APPCONFIGURATION_CLIENTID. AZURE_APPCONFIGURATION_TENANTIDe AZURE_APPCONFIGURATION_CLIENTSECRET conceda a função de Leitor de Dados de Configuração do Aplicativo à entidade de serviço, para que o aplicativo possa ser autenticado na Configuração do Aplicativo no código, usando ClientSecretCredential Azure.Identity.
O Service Connector gerencia a configuração de conexão para você:
Configure o aplicativo Web para permitir que o aplicativo o acesse e obtenha a cadeia de AZURE_APPCONFIGURATION_CONNECTIONSTRING conexão Configuração do aplicativo. Acesse o código de exemplo.
Ative a autenticação gerenciada atribuída pelo sistema do aplicativo Web e conceda à Configuração do Aplicativo uma função de Leitor de Dados para permitir que o aplicativo se autentique na Configuração do Aplicativo usando DefaultAzureCredential do Azure.Identity. Acesse o código de exemplo.
Atualize o valor da chave SampleApplication:Settings:Messages na App Configuration Store.
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á".
Clean up resources (Limpar recursos)
Quando terminar, se não for mais usar esses recursos do Azure, exclua-os executando o az group delete comando. Este comando exclui seu grupo de recursos e todos os recursos dentro dele.
az group delete -n <myResourceGroupName> --yes
Próximos passos
Siga os tutoriais listados abaixo para saber mais sobre o Service Connector.