Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kommentar
Planerna Basic, Standardoch Enterprise gick in i en pensionsperiod den 17 mars 2025. Mer information finns i meddelandet om azure Spring Apps-pensionering.
Planen Standard consumption och den dedikerade gick in i en pensionsperiod den 30 september 2024, med en fullständig avstängning i slutet av mars 2025. För mer information, se Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.
Den här artikeln gäller för:✅ Java ✅ C#
Den här artikeln gäller för:✅ Basic/Standard ✅ Enterprise
Den här artikeln visar hur du använder Key Vault med ett CI/CD-arbetsflöde för Azure Spring Apps med GitHub Actions.
Nyckelvalv är en säker plats för lagring av nycklar. Företagsanvändare måste lagra autentiseringsuppgifter för CI/CD-miljöer i det omfång som de styr. Nyckeln för att hämta autentiseringsuppgifter i nyckelvalvet bör begränsas till resursomfånget. Den har endast åtkomst till nyckelvalvsomfånget, inte hela Azure-omfånget. Det är som en nyckel som bara kan öppna en stark låda, inte en huvudnyckel som kan öppna alla dörrar i en byggnad. Det är ett sätt att få en nyckel med en annan nyckel, vilket är användbart i ett CICD-arbetsflöde.
Generera autentiseringsuppgifter
Om du vill generera en nyckel för åtkomst till nyckelvalvet kör du kommandot nedan på den lokala datorn:
az ad sp create-for-rbac --role contributor --scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT> --json-auth
Omfånget som anges av parametern --scopes
begränsar nyckelåtkomsten till resursen. Den kan bara komma åt den starka rutan.
Med resultat:
{
"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/"
}
Spara sedan resultatet på GitHub-hemligheterenligt beskrivningen i Konfigurera din GitHub-lagringsplats och autentisera med Azure.
Lägg till åtkomstprinciper för autentiseringsuppgifterna
Autentiseringsuppgifterna som du skapade ovan kan bara hämta allmän information om Nyckelvalvet, inte innehållet som lagras. För att få hemligheter lagrade i Key Vault behöver du ange åtkomstprinciper för autentiseringsuppgifterna.
Gå till Key Vault-instrumentpanelen i Azure-portalen , välj menyn Åtkomstkontroll och öppna sedan fliken Rolltilldelningar . Välj Appar för Typ och Den här resursen för omfång. Du bör se de autentiseringsuppgifter som du skapade i föregående steg:
Kopiera autentiseringsuppgiftsnamnet, till exempel azure-cli-2020-01-19-04-39-02. Öppna menyn Åtkomstprinciper och välj sedan länken Lägg till åtkomstprincip. Välj Hemlig hantering för mall och välj sedan Huvudnamn. Klistra in autentiseringsuppgiftens namn i Principal/Välj-rutan:
Välj knappen Lägg till i dialogrutan Lägg till åtkomstprincip och välj sedan Spara.
Generera azure-autentiseringsuppgifter med fullständigt omfång
Det här är huvudnyckeln för att öppna alla dörrar i byggnaden. Proceduren liknar föregående steg, men här ändrar vi omfånget för att generera huvudnyckeln:
az ad sp create-for-rbac --role contributor --scopes /subscriptions/<SUBSCRIPTION_ID> --json-auth
Återigen resultat:
{
"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/"
}
Kopiera hela JSON-strängen. Gå tillbaka till Key Vault-instrumentpanel. Öppna menyn Hemligheter och välj sedan knappen Generera/importera. Ange det hemliga namnet, till exempel AZURE-CREDENTIALS-FOR-SPRING. Klistra in JSON-autentiseringssträngen i rutan Värdeindata . Du kanske ser att värdeinmatningsrutan är ett textfält med en rad i stället för ett textområde med flera rader. Du kan klistra in den fullständiga JSON-strängen där.
Kombinera autentiseringsuppgifter i GitHub Actions
Ange de autentiseringsuppgifter som används när CICD-pipelinen körs:
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