Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Note
Paket Basic, Standard, dan Enterprise memasuki periode pensiun pada 17 Maret 2025. Untuk informasi selengkapnya, lihat pengumuman penghentian Azure Spring Apps.
Artikel ini berlaku untuk:✅ Java ✅ C#
Artikel ini berlaku untuk:✅ Basic/Standard ✅ Enterprise
Artikel ini memperlihatkan kepada Anda cara menggunakan Key Vault dengan alur kerja CI/CD untuk Azure Spring Apps dengan GitHub Actions.
Brankas kunci adalah tempat yang aman untuk menyimpan kunci. Pengguna perusahaan perlu menyimpan kredensial untuk lingkungan CI/CD dalam cakupan yang mereka kontrol. Kunci untuk mendapatkan kredensial di brankas kunci harus terbatas pada cakupan sumber daya. Ini hanya memiliki akses ke ruang lingkup brankas kunci, bukan seluruh ruang lingkup Azure. Ini seperti kunci yang hanya dapat membuka kotak yang kuat bukan kunci utama yang dapat membuka semua pintu di sebuah bangunan. Ini adalah cara untuk mendapatkan kunci dengan kunci lain, yang berguna dalam alur kerja CICD.
Hasilkan Kredensial
Untuk menghasilkan kunci untuk mengakses brankas kunci, jalankan perintah di bawah ini pada komputer lokal Anda:
az ad sp create-for-rbac --role contributor --scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT> --json-auth
Cakupan yang ditentukan oleh --scopes parameter membatasi akses kunci ke sumber daya. Ini hanya dapat mengakses kotak yang kuat.
Dengan hasil:
{
"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/"
}
Kemudian simpan hasilnya ke rahasia GitHub seperti yang dijelaskan dalam Menyiapkan repositori GitHub Anda dan mengautentikasi dengan Azure.
Menambahkan Kebijakan Akses untuk Kredensial
Kredensial yang Anda buat di atas hanya bisa mendapatkan informasi umum tentang Key Vault, bukan konten yang disimpan di dalamnya. Untuk mendapatkan rahasia yang disimpan di Key Vault, Anda perlu menetapkan kebijakan akses untuk kredensial.
Buka dasbor Key Vault di portal Microsoft Azure, pilih menu Kontrol akses , lalu buka tab Penetapan peran . Pilih Aplikasi untuk Jenis dan Sumber daya ini untuk cakupan. Anda akan melihat kredensial yang Anda buat di langkah sebelumnya:
Salin nama kredensial, misalnya, azure-cli-2020-01-19-04-39-02. Buka menu Kebijakan akses , lalu pilih tautan Tambahkan Kebijakan Akses . Pilih Manajemen Rahasia untuk Templat, lalu pilih Utama. Tempelkan nama kredensial di dalam kotak input Utama/Pilih:
Pilih tombol Tambahkan di dialog Tambahkan kebijakan akses , lalu pilih Simpan.
Hasilkan Kredensial Azure cakupan penuh
Ini adalah kunci utama untuk membuka semua pintu di dalam gedung. Prosedur ini mirip dengan langkah sebelumnya, tetapi di sini kita mengubah cakupan untuk menghasilkan kunci master:
az ad sp create-for-rbac --role contributor --scopes /subscriptions/<SUBSCRIPTION_ID> --json-auth
Sekali lagi, hasil:
{
"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/"
}
Salin seluruh string JSON. Kembali ke dasbor Key Vault . Buka menu Rahasia , lalu pilih tombol Buat/Impor . Masukkan nama rahasia, seperti AZURE-CREDENTIALS-FOR-SPRING. Tempelkan string kredensial JSON ke kotak Input nilai . Anda mungkin melihat kotak input nilai adalah bidang teks satu baris, bukan area teks multibaris. Anda dapat menempelkan string JSON lengkap di sana.
Menggabungkan kredensial dalam GitHub Actions
Atur kredensial yang digunakan saat alur CICD dijalankan:
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