Cloud & IT Cert Prep · Pelajaran

Identiti Terurus untuk Pengesahan Tanpa Kata Laluan

Tetapkan identiti terurus yang ditetapkan sistem kepada VM atau App Service, berikan akses RBAC kepadanya untuk Key Vault dan Blob Storage, serta hapuskan rahsia daripada kod aplikasi anda.

Pelajaran 1 daripada 413 langkah

Identiti Terurus untuk Pengesahan Tanpa Kata Laluan ialah pelajaran Cloud & IT Cert Prep percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Cloud & IT Cert Prep, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Cloud & IT Cert Prep merangkumi sejumlah 4 pelajaran.

Masalah dengan Bukti Kelayakan yang Disimpan

Secara tradisional, aplikasi bersambung kepada perkhidmatan Azure seperti Storage atau Key Vault menggunakan rentetan sambungan atau kunci API yang disimpan dalam fail konfigurasi atau pemboleh ubah persekitaran. Bukti kelayakan ini boleh terhantar secara tidak sengaja ke kawalan sumber, terdedah dalam log atau dicuri dalam suatu pelanggaran keselamatan. Identiti Terurus menghapuskan keperluan aplikasi menyimpan bukti kelayakan sepenuhnya — sebaliknya, Azure sendiri mengeluarkan dan memutar token bagi pihak sumber tersebut, manakala aplikasi hanya meminta token semasa daripada Azure pada masa jalan.

Apakah Identiti Terurus?

Identiti Terurus ialah prinsipal perkhidmatan yang diurus secara automatik dalam Microsoft Entra ID dan dipautkan kepada sumber Azure (seperti VM, App Service atau Function App). Platform Azure mencipta dan menyelenggara bukti kelayakan identiti tersebut — serta memutarnya secara berkala — supaya kod anda tidak pernah mengendalikan kata laluan atau rahsia. Aplikasi yang berjalan pada sumber tersebut memanggil titik akhir Azure Instance Metadata Service (IMDS) di http://169.254.169.254 untuk mendapatkan token OAuth berjangka pendek, yang kemudiannya dikemukakan kepada perkhidmatan Azure.

# Get a token from IMDS (runs inside an Azure VM or App Service)
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://storage.azure.com/' \
  -H 'Metadata: true'

Ditetapkan Sistem berbanding Ditetapkan Pengguna

Terdapat dua jenis identiti terurus: Ditetapkan sistem terikat pada satu sumber Azure; identiti ini dicipta apabila anda mendayakannya pada sumber tersebut dan dipadamkan secara automatik apabila sumber itu dipadamkan. Ditetapkan pengguna ialah identiti Entra ID bebas yang anda cipta secara berasingan dan kemudian lampirkan pada satu atau lebih sumber Azure. Identiti yang ditetapkan pengguna berguna apabila beberapa perkhidmatan (contohnya, beberapa Function App) perlu berkongsi identiti dan keizinan RBAC yang sama, sekali gus mengelakkan penduaan penetapan peranan.

# Enable system-assigned managed identity on an App Service
az webapp identity assign \
  --resource-group myRG \
  --name myWebApp

# Create and assign a user-assigned identity
az identity create --name mySharedIdentity --resource-group myRG
az webapp identity assign \
  --resource-group myRG \
  --name myWebApp \
  --identities mySharedIdentity

Memberikan Keizinan RBAC

Selepas mendayakan identiti terurus, anda mesti memberikan keizinan RBAC kepadanya pada sumber Azure sasaran. Sebagai contoh, untuk membenarkan App Service membaca blob, tetapkan peranan Storage Blob Data Reader kepada identiti terurus App Service pada akaun storan tersebut. Penetapan RBAC mengikut prinsip keistimewaan minimum — berikan hanya keizinan minimum yang diperlukan. Jangan sesekali menetapkan Owner atau Contributor kepada identiti terurus kecuali benar-benar perlu.

# Get the managed identity object ID
PRINCIPAL_ID=$(az webapp identity show \
  --resource-group myRG --name myWebApp \
  --query principalId --output tsv)

# Assign Storage Blob Data Reader role
az role assignment create \
  --assignee $PRINCIPAL_ID \
  --role 'Storage Blob Data Reader' \
  --scope '/subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/mystorageacct'

Menggunakan DefaultAzureCredential dalam Kod

Azure SDK menyediakan kelas DefaultAzureCredential yang mencuba berbilang kaedah pengesahan secara automatik mengikut turutan: pemboleh ubah persekitaran, identiti beban kerja, identiti terurus, Azure CLI, Visual Studio dan lain-lain. Apabila aplikasi anda berjalan pada Azure (App Service, VM, Function App), DefaultAzureCredential menggunakan identiti terurus secara automatik tanpa sebarang perubahan kod. Secara setempat, pembangun mengesahkan diri melalui sesi Azure CLI mereka. Kelas bukti kelayakan tunggal ini berfungsi merentas semua persekitaran tanpa logik bersyarat.

# Python example using DefaultAzureCredential
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient

credential = DefaultAzureCredential()
client = BlobServiceClient(
  account_url='https://mystorageacct.blob.core.windows.net',
  credential=credential
)
blobs = client.get_container_client('mycontainer').list_blobs()
for blob in blobs:
    print(blob.name)

Identiti Terurus dengan Azure Key Vault

Pola lazim ialah menggunakan identiti terurus untuk mengakses rahsia Azure Key Vault pada masa jalan. Daripada menyimpan kata laluan pangkalan data dalam tetapan aplikasi, anda menyimpannya dalam Key Vault dan memberikan peranan Key Vault Secrets User pada peti besi itu kepada identiti terurus aplikasi. Semasa dimulakan, aplikasi mengambil rahsia daripada Key Vault menggunakan DefaultAzureCredential. Pola ini memastikan rahsia tidak pernah disimpan dalam kod, fail konfigurasi atau pemboleh ubah persekitaran — rahsia hanya wujud dalam Key Vault dan diambil secara sementara.

# Python: Read a Key Vault secret using managed identity
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient

credential = DefaultAzureCredential()
client = SecretClient(
  vault_url='https://mykeyvault.vault.azure.net/',
  credential=credential
)
secret = client.get_secret('DatabasePassword')
print('Secret value retrieved successfully')

Identiti Terurus untuk Akses Azure SQL

Azure SQL Database menyokong pengesahan Entra ID, yang bermaksud identiti terurus boleh mengesahkan diri kepada SQL tanpa nama pengguna dan kata laluan. Untuk mendayakannya: tetapkan pentadbir Entra ID pada pelayan SQL, kemudian jalankan pernyataan CREATE USER dalam pangkalan data sasaran untuk nama paparan identiti terurus tersebut, dan berikan peranan pangkalan data yang sesuai kepadanya. Aplikasi bersambung menggunakan DefaultAzureCredential Azure SDK dan token akses yang dikhususkan kepada https://database.windows.net/, sepenuhnya tanpa kata laluan.

-- In Azure SQL: create a user for the managed identity
CREATE USER [myWebApp] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [myWebApp];
ALTER ROLE db_datawriter ADD MEMBER [myWebApp];

Identiti Terurus untuk Beban Kerja AKS

Dalam Azure Kubernetes Service, pod individu boleh mendapatkan token identiti terurus menggunakan Workload Identity (pengganti kepada AAD Pod Identity). Anda mencipta identiti terurus yang ditetapkan pengguna, memfederasikannya dengan penerbit OIDC AKS, menganotasi akaun perkhidmatan Kubernetes, dan webhook Azure Workload Identity menyuntik pemboleh ubah persekitaran yang diperlukan supaya DefaultAzureCredential pod boleh mendapatkan token. Ini melanjutkan pengesahan tanpa kata laluan kepada perkhidmatan mikro berbekas tanpa menyimpan rahsia dalam objek Kubernetes Secrets.

# Create federated identity credential for AKS workload identity
az identity federated-credential create \
  --name myFederatedCredential \
  --identity-name mySharedIdentity \
  --resource-group myRG \
  --issuer $(az aks show --resource-group myRG --name myAKS --query 'oidcIssuerProfile.issuerUrl' -o tsv) \
  --subject 'system:serviceaccount:default:myapp-sa' \
  --audiences 'api://AzureADTokenExchange'

Mengaudit Akses Identiti Terurus

Walaupun bukti kelayakan identiti terurus tidak kelihatan kepada pembangun, semua peristiwa pengeluaran token dan akses sumber direkodkan dalam log. Log Daftar Masuk Entra ID merekodkan setiap permintaan token oleh identiti terurus, termasuk sumber yang diakses, masa dan sama ada permintaan itu berjaya. Log aktiviti Azure Storage dan log audit Key Vault merekodkan operasi khusus yang dilakukan menggunakan token tersebut. Log ini penting untuk audit keselamatan dan penyiasatan insiden yang melibatkan identiti terurus.

# Query Entra ID sign-in logs for a managed identity
az monitor activity-log list \
  --resource-group myRG \
  --caller myWebApp \
  --start-time 2024-06-01 \
  --output table

Berpindah daripada Rentetan Sambungan

Jika aplikasi anda kini menggunakan rentetan sambungan atau kunci API, beralih kepada identiti terurus dalam tiga langkah: Langkah 1 — Dayakan identiti terurus pada sumber pengkomputeran. Langkah 2 — Tetapkan peranan RBAC yang sesuai kepada identiti tersebut pada setiap perkhidmatan sasaran. Langkah 3 — Kemas kini kod aplikasi untuk menggunakan DefaultAzureCredential dan bukannya rentetan sambungan. Alih keluar rentetan sambungan daripada konfigurasi App Service dan Key Vault setelah penghijrahan disahkan. Penghijrahan ini biasanya boleh diselesaikan dengan perubahan kod yang minimum dalam aplikasi Azure SDK moden.

Ringkasan Manfaat Keselamatan

Identiti Terurus memberikan empat manfaat keselamatan utama berbanding pengesahan berasaskan bukti kelayakan: Tiada penyimpanan bukti kelayakan — tiada apa-apa untuk dicuri atau dihantar secara tidak sengaja ke kawalan sumber. Pemutaran automatik — Azure memutar sijil asas tanpa masa henti. Keizinan berskop — identiti hanya diberikan peranan RBAC yang diperlukan, selaras dengan prinsip keistimewaan minimum. Jejak audit lengkap — semua percubaan akses direkodkan dalam Entra ID dan log audit perkhidmatan yang diakses. Bagi sebarang integrasi perkhidmatan Azure baharu, identiti terurus sepatutnya menjadi pendekatan pengesahan lalai.

Semakan Pantas

Uji pemahaman anda tentang konsep Microsoft Azure Fundamentals (AZ-900) daripada pelajaran ini.

Imbas Kembali Pelajaran

Dalam pelajaran ini, anda telah mempelajari bahawa identiti terurus menghapuskan keperluan menyimpan kelayakan dengan memberikan sumber Azure identiti Entra ID yang diurus secara automatik, DefaultAzureCredential dalam Azure SDK menggunakan identiti terurus secara telus di Azure dan kelayakan pembangun secara setempat, manakala penetapan peranan RBAC pada Service sasaran mengawal perkara yang boleh dicapai oleh identiti tersebut. Seterusnya, kita akan meneroka Azure Service Bus untuk pemesejan terpisah antara komponen aplikasi.

Percuma untuk bermula

Pelajari Cloud & IT Cert Prep dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
150
Pelajaran
600

Soalan Lazim

Adakah pelajaran “Identiti Terurus untuk Pengesahan Tanpa Kata Laluan” percuma?

Ya — teks penuh “Identiti Terurus untuk Pengesahan Tanpa Kata Laluan” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Cloud & IT Cert Prep, tingkat taraf kepada CoddyKit PRO. Kursus Cloud & IT Cert Prep merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Identiti Terurus untuk Pengesahan Tanpa Kata Laluan”?

Tetapkan identiti terurus yang ditetapkan sistem kepada VM atau App Service, berikan akses RBAC kepadanya untuk Key Vault dan Blob Storage, serta hapuskan rahsia daripada kod aplikasi anda. Anda berlatih Cloud & IT Cert Prep menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Cloud & IT Cert Prep?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Cloud & IT Cert Prep di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Identiti Terurus untuk Pengesahan Tanpa Kata Laluan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Identiti Terurus untuk Pengesahan Tanpa Kata Laluan
  2. Azure Service Bus untuk Pemesejan Terpisah
  3. Azure Container Apps
  4. Aliran Kerja Pembangun dari Hujung ke Hujung
← Kembali ke Cloud & IT Cert Prep