Az Azure Spring Apps hitelesítése az Azure Key Vaulttal a GitHub Actionsben
Feljegyzés
Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.
Ez a cikk a következőre vonatkozik: ✔️ Java ✔️ C#
Ez a cikk a következőre vonatkozik: ✔️ Basic/Standard ✔️ Enterprise
Ez a cikk bemutatja, hogyan használhatja a Key Vaultot egy CI-/CD-munkafolyamattal az Azure Spring Appshez a GitHub Actions használatával.
A Kulcstartó biztonságos hely a kulcsok tárolására. A vállalati felhasználóknak a ci/CD-környezetekhez tartozó hitelesítő adatokat az általuk szabályozható hatókörben kell tárolniuk. A kulcstartóban a hitelesítő adatok lekéréséhez használt kulcsnak erőforrás-hatókörre kell korlátozódnia. Csak a key vault hatóköréhez fér hozzá, nem a teljes Azure-hatókörhöz. Olyan, mint egy kulcs, amely csak egy erős dobozt tud kinyitni, nem egy főkulcsot, amely minden ajtót megnyit egy épületben. Ez egy másik kulccsal való kulcs lekérésének módja, amely hasznos lehet egy CICD-munkafolyamatban.
Hitelesítő adatok létrehozása
A kulcstartó eléréséhez szükséges kulcs létrehozásához hajtsa végre az alábbi parancsot a helyi gépen:
az ad sp create-for-rbac --role contributor --scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT> --json-auth
A paraméter által --scopes
megadott hatókör korlátozza az erőforráshoz való kulcshozzáférést. Csak az erős dobozhoz fér hozzá.
Eredmények:
{
"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/"
}
Ezután mentse az eredményeket a GitHub titkos kulcsaiba a GitHub-adattár beállítása és az Azure-beli hitelesítés című cikkben leírtak szerint.
Hozzáférési szabályzatok hozzáadása a hitelesítő adatokhoz
A fent létrehozott hitelesítő adatok csak általános információkat kaphatnak a Key Vaultról, nem pedig az általa tárolt tartalmakról. A Key Vaultban tárolt titkos kulcsok lekéréséhez be kell állítania a hitelesítő adatok hozzáférési szabályzatát.
Nyissa meg a Key Vault irányítópultját az Azure Portalon, válassza a Hozzáférés-vezérlés menüt, majd nyissa meg a Szerepkör-hozzárendelések lapot. Válassza a Típushoz és This resource
hatókörhöz tartozó alkalmazások lehetőséget. Az előző lépésben létrehozott hitelesítő adatokat kell látnia:
Másolja ki például a hitelesítő adatokat azure-cli-2020-01-19-04-39-02
. Nyissa meg az Access-szabályzatok menüt, majd válassza az Access Policy hozzáadása hivatkozást. Válassza a Secret Management
Sablon lehetőséget, majd válassza az Egyszerű lehetőséget. Illessze be a hitelesítő adatokat a Principal/Select beviteli mezőbe:
Válassza a Hozzáadás gombot a Hozzáférési szabályzat hozzáadása párbeszédpanelen, majd válassza a Mentés lehetőséget.
Teljes hatókörű Azure Credential létrehozása
Ez a főkulcs az épület összes ajtajának megnyitásához. Az eljárás hasonló az előző lépéshez, de itt módosítjuk a hatókört a főkulcs létrehozásához:
az ad sp create-for-rbac --role contributor --scopes /subscriptions/<SUBSCRIPTION_ID> --json-auth
Ismét az eredmények:
{
"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/"
}
Másolja ki a teljes JSON-sztringet. Lépjen vissza a Key Vault irányítópultjára. Nyissa meg a Titkos kódok menüt, majd válassza a Létrehozás/Importálás gombot. Adja meg a titkos kód nevét, például AZURE-CREDENTIALS-FOR-SPRING
. Illessze be a JSON hitelesítőadat-sztringet az Érték beviteli mezőbe. Észreveheti, hogy az értékbeviteli mező egy egysoros szövegmező, nem pedig többsoros szövegterület. Itt illessze be a teljes JSON-sztringet.
Hitelesítő adatok kombinálása a GitHub Actionsben
Adja meg a CICD-folyamat végrehajtásakor használt hitelesítő adatokat:
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
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: