Exercício - Criar uma entidade de serviço e uma chave
Importante
Precisa da sua própria subscrição do Azure para executar este exercício e poderá incorrer em custos. Se ainda não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Antes de criar o pipeline de implantação para o site da sua empresa de brinquedos, você precisará criar uma entidade de serviço e conceder-lhe acesso ao seu ambiente do Azure. Neste exercício, você criará a entidade de serviço que usará para seu pipeline de implantação.
Durante o processo, você:
- Crie um aplicativo, uma entidade de serviço e uma chave em uma única operação.
- Manuseie a chave com segurança.
- Verifique se a entidade de serviço funciona entrando no Azure usando suas credenciais.
Este exercício requer que você tenha permissão para criar aplicativos e entidades de serviço no diretório do Microsoft Entra. Se não conseguir cumprir este requisito com a sua conta atual do Azure, pode obter uma avaliação gratuita e criar uma nova subscrição e inquilino do Azure. Como alternativa, você pode pular este exercício.
Iniciar sessão no Azure
Para trabalhar com entidades de serviço no Azure, tem de iniciar sessão na sua conta do Azure a partir do terminal de código do Visual Studio.
No menu Terminal, selecione Novo Terminal. A janela do terminal geralmente abre na metade inferior da tela.
O shell padrão é normalmente pwsh, como mostrado no lado direito da janela do terminal.
Selecione a lista suspensa Iniciar perfil e, em seguida, selecione Azure Cloud Shell (Bash).
Um novo shell se abre.
Entrar no Azure usando a CLI do Azure
No terminal do Visual Studio Code, entre no Azure executando o seguinte comando:
az login
No browser que se abre, inicie sessão na sua conta do Azure.
Para implantar esse modelo no Azure, entre em sua conta do Azure a partir do terminal do Visual Studio Code.
No menu Terminal, selecione Novo Terminal. A janela do terminal geralmente abre na metade inferior da tela.
O shell padrão é normalmente pwsh, como mostrado no lado direito da janela do terminal.
Selecione a lista suspensa Iniciar perfil e, em seguida, selecione Azure Cloud Shell (PowerShell).
Um novo shell se abre.
Iniciar sessão no Azure com o Azure PowerShell
No terminal do Visual Studio Code, entre no Azure executando o seguinte comando:
Connect-AzAccount
No browser que se abre, inicie sessão na sua conta do Azure.
Criar uma entidade de serviço e uma chave
Execute este comando da CLI do Azure no terminal do Visual Studio Code para criar uma entidade de serviço:
az ad sp create-for-rbac --name ToyWebsitePipeline
Se a CLI do Azure mostrar um erro dizendo que outro aplicativo tem o mesmo nome para exibição, isso significa que outra pessoa que usa seu locatário do Microsoft Entra criou uma entidade de serviço com o mesmo nome. Altere o
--name
valor para algo único. Isso não afetará a forma como você acompanha o resto dos exercícios.Observe a saída JSON do comando anterior. Inclui as seguintes propriedades:
appId
: O ID do aplicativo da entidade de serviço.password
: A chave da entidade de serviço.tenant
: Seu ID de locatário do Microsoft Entra.
Copie esses valores em algum lugar seguro. Você vai usá-los em breve.
Execute estes comandos do Azure PowerShell no terminal do Visual Studio Code para criar uma entidade de serviço:
$servicePrincipal = New-AzADServicePrincipal ` -DisplayName ToyWebsitePipeline
Execute o seguinte comando para obter a chave da entidade de serviço:
$servicePrincipalKey = $servicePrincipal.PasswordCredentials.SecretText
Execute o seguinte comando para mostrar a ID do aplicativo da entidade de serviço, a chave e a ID do locatário do Microsoft Entra:
Write-Output "Service principal application ID: $($servicePrincipal.AppId)" Write-Output "Service principal key: $servicePrincipalKey" Write-Output "Your Azure AD tenant ID: $((Get-AzContext).Tenant.Id)"
Copie os valores em algum lugar seguro. Você vai usá-los em breve.
Aviso
As saídas dos comandos anteriores contêm a chave para a entidade de serviço. Tenha cuidado com o local onde você executa esses comandos. Por exemplo, não os execute em um ambiente onde alguém possa visualizá-los.
Testar a entidade de serviço
Agora que a entidade de serviço foi criada, você pode entrar usando suas credenciais para verificar se ela foi criada com êxito.
Execute este comando da CLI do Azure no terminal do Visual Studio Code para entrar usando as credenciais da entidade de serviço. Substitua os espaços reservados pelos valores copiados na etapa anterior.
az login --service-principal \ --username APPLICATION_ID \ --password PASSWORD \ --tenant TENANT_ID \ --allow-no-subscriptions
Observe que você inclui o
--allow-no-subscriptions
argumento. Normalmente, quando você executa oaz login
comando, a CLI do Azure procura as assinaturas do Azure que você pode acessar. A entidade de serviço ainda não recebeu acesso a nada, então você usa o--allow-no-subscriptions
argumento para impedir que a CLI do Azure verifique a lista de assinaturas e mostre um erro.Verifique se a saída do comando anterior é um objeto JSON, que inclui uma
user
propriedade com a ID do aplicativo da entidade de serviço. Essas informações indicam que a entidade de serviço entrou com êxito.Saia da conta da entidade de serviço usando o seguinte comando:
az logout
Execute este comando do Azure PowerShell no terminal de código do Visual Studio para solicitar com segurança as credenciais da entidade de serviço. Use o ID do aplicativo e a chave da entidade de serviço da etapa anterior para o nome de usuário e a senha, respectivamente.
$credential = Get-Credential
Execute este comando do Azure PowerShell no terminal de código do Visual Studio para entrar usando as credenciais da entidade de serviço.
Connect-AzAccount -ServicePrincipal ` -Credential $credential ` -Tenant TENANT_ID
Verifique se a saída do comando anterior inclui uma
Account
propriedade com a ID do aplicativo da entidade de serviço e um valor em brancoSubscriptionName
. Essas informações indicam que a entidade de serviço entrou com êxito.Saia da conta da entidade de serviço usando o seguinte comando:
Logout-AzAccount
Agora que você tem uma entidade de serviço em funcionamento, pode passar para a próxima etapa: autorizá-la a acessar seu ambiente do Azure.