Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Nota
Os planos Basic, Standarde Enterprise entraram em um período de aposentadoria em 17 de março de 2025. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
Este artigo aplica-se a:✅ Java ✅ C#
Este artigo aplica-se a:✅ Basic/Standard ✅ Enterprise
Este artigo mostra-lhe como utilizar o Key Vault com um fluxo de trabalho de CI/CD para o Azure Spring Apps com o GitHub Actions.
O cofre de chaves é um local seguro para armazenar chaves. Os usuários corporativos precisam armazenar credenciais para ambientes de CI/CD no escopo que eles controlam. A chave para aceder às credenciais no cofre de chaves deve ser limitada ao escopo do recurso. Ele tem acesso somente ao escopo do cofre de chaves, não a todo o escopo do Azure. É como uma chave que só pode abrir uma caixa forte, não uma chave mestra que pode abrir todas as portas de um edifício. É uma forma de obter uma chave utilizando outra chave, o que é útil num fluxo de trabalho de CICD.
Gerar credencial
Para gerar uma chave para acessar o cofre de chaves, execute o comando abaixo em sua máquina local:
az ad sp create-for-rbac --role contributor --scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT> --json-auth
O escopo especificado pelo parâmetro --scopes limita o acesso da chave ao recurso. Ele só pode acessar a caixa forte.
Com resultados:
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
"activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
"resourceManagerEndpointUrl": "https://management.azure.com/",
"sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
"galleryEndpointUrl": "https://gallery.azure.com/",
"managementEndpointUrl": "https://management.core.windows.net/"
}
Em seguida, salve os resultados nos segredos do GitHub , conforme descrito em Configurar seu repositório do GitHub e autentique-se com o Azure.
Adicionar políticas de acesso para a credencial
A credencial criada acima pode obter apenas informações gerais sobre o Cofre de Chaves, não o conteúdo que ele armazena. Para obter segredos armazenados no Cofre da Chave, você precisa definir políticas de acesso para a credencial.
Vá para o painel Cofre da Chave no portal do Azure, selecione o menu Controle de acesso e abra a guia Atribuições de função . Selecione Aplicativos para Tipo e Este recurso para escopo. Você deve ver a credencial criada na etapa anterior:
Copie o nome da credencial, por exemplo, azure-cli-2020-01-19-04-39-02. Abra o menu Políticas de acesso e, em seguida, selecione o link Adicionar política de acesso. Selecione Gerenciamento secreto para Modelo e, em seguida, selecione Principal. Cole o nome da credencial na Principal/Seleção caixa de entrada:
Selecione o botão Adicionar na caixa de diálogo Adicionar política de acesso e, em seguida, selecione Guardar.
Gerar Credencial do Azure de escopo completo
Esta é a chave mestra para abrir todas as portas do edifício. O procedimento é semelhante à etapa anterior, mas aqui alteramos o escopo para gerar a chave mestra:
az ad sp create-for-rbac --role contributor --scopes /subscriptions/<SUBSCRIPTION_ID> --json-auth
Mais uma vez, os resultados:
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
"activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
"resourceManagerEndpointUrl": "https://management.azure.com/",
"sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
"galleryEndpointUrl": "https://gallery.azure.com/",
"managementEndpointUrl": "https://management.core.windows.net/"
}
Copie toda a cadeia de caracteres JSON. Volte ao painel do Key Vault. Abra o menu Segredos e, em seguida, selecione o botão Gerar/Importar . Insira o nome secreto, como AZURE-CREDENTIALS-FOR-SPRING. Cole a cadeia de caracteres de credenciais JSON na caixa de entrada de valor. Você pode notar que a caixa de entrada de valor é um campo de texto de uma linha, em vez de uma área de texto de várias linhas. Você pode colar a cadeia de caracteres JSON completa lá.
Combinar credenciais em ações do GitHub
Defina as credenciais usadas quando o pipeline CICD é executado:
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }} # Strong box key you generated in the first step
- uses: Azure/get-keyvault-secrets@v1.0
with:
keyvault: "<Your Key Vault Name>"
secrets: "AZURE-CREDENTIALS-FOR-SPRING" # Master key to open all doors in the building
id: keyvaultaction
- uses: azure/login@v1
with:
creds: ${{ steps.keyvaultaction.outputs.AZURE-CREDENTIALS-FOR-SPRING }}
- name: Azure CLI script
uses: azure/CLI@v1
with:
azcliversion: 2.0.75
inlineScript: |
az extension add --name spring # Spring CLI commands from here
az spring list