Mengonfigurasi identitas terkelola yang ditetapkan pengguna untuk mempercayai penyedia identitas eksternal
Artikel ini menjelaskan cara mengelola kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna di ID Microsoft Entra. Kredensial identitas gabungan menciptakan hubungan kepercayaan antara identitas terkelola yang ditetapkan pengguna dan idP eksternal. Mengonfigurasi kredensial identitas federasi pada identitas terkelola yang ditetapkan sistem tidak didukung.
Setelah Mengonfigurasi identitas terkelola yang ditetapkan pengguna untuk mempercayai IdP eksternal, konfigurasikan beban kerja perangkat lunak eksternal Anda untuk menukar token dari IdP eksternal dengan token akses dari platform identitas Microsoft. Beban kerja eksternal menggunakan token akses untuk mengakses sumber daya yang dilindungi Microsoft Entra tanpa perlu mengelola rahasia (dalam skenario yang didukung). Untuk mempelajari selengkapnya tentang alur kerja pertukaran token, baca tentang gabungan identitas beban kerja.
Dalam artikel ini, Anda mempelajari cara membuat, mencantumkan, dan menghapus kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna.
Pertimbangan dan pembatasan penting
Maksimal 20 kredensial identitas gabungan dapat ditambahkan ke aplikasi atau identitas terkelola yang ditetapkan pengguna.
Saat Anda mengonfigurasi kredensial identitas federasi, ada beberapa informasi penting untuk diberikan:
penerbit dan subjek adalah informasi penting yang diperlukan untuk menyiapkan hubungan kepercayaan. Kombinasi
issuer
dansubject
harus unik di aplikasi. Saat beban kerja perangkat lunak eksternal meminta platform identitas Microsoft untuk menukar token eksternal dengan token akses, nilai penerbit dan subjek dari kredensial identitas federasi diperiksa terhadap klaimissuer
dansubject
yang diberikan dalam token eksternal. Jika pemeriksaan validasi itu lolos, platform identitas Microsoft akan menerbitkan token akses ke beban kerja perangkat lunak eksternal.penerbit adalah URL penyedia identitas eksternal dan harus cocok dengan
issuer
klaim token eksternal yang ditukarkan. Harus diisi. Jika klaimissuer
memiliki spasi di depan atau di belakang nilai, pertukaran token akan diblokir. Bidang ini memiliki batas karakter 600 karakter.subjek adalah pengidentifikasi beban kerja perangkat lunak eksternal dan harus cocok dengan klaim
sub
(subject
) dari token eksternal yang ditukarkan. subjek tidak memiliki format tetap, karena setiap IdP menggunakan formatnya sendiri - terkadang GUID, terkadang pengidentifikasi yang dibatasi titik dua, terkadang string arbitrer. Bidang ini memiliki batas karakter 600 karakter.Penting
Nilai pengaturan subjek harus sama persis dengan konfigurasi pada konfigurasi alur kerja GitHub. Jika tidak, platform identitas Microsoft akan melihat token eksternal yang masuk dan menolak pertukaran untuk token akses. Anda tidak akan mendapatkan kesalahan, pertukaran akan gagal tanpa kesalahan.
Penting
Jika Anda tidak sengaja menambahkan informasi beban kerja eksternal yang salah di pengaturan subjek, kredensial identitas gabungan berhasil dibuat tanpa kesalahan. Kesalahan tidak menjadi jelas sampai pertukaran token gagal.
audiens mencantumkan audiens yang dapat muncul di token eksternal. Harus diisi. Anda harus menambahkan satu nilai audiens, yang memiliki batas 600 karakter. Nilai yang direkomendasikan adalah "api://AzureADTokenExchange". Menjelaskan apa yang harus diterima oleh platform identitas Microsoft dalam klaim
aud
di token yang masuk.nama adalah pengidentifikasi unik untuk informasi masuk identitas gabungan. Harus diisi. Bidang ini memiliki batas karakter 3-120 karakter dan harus ramah URL. Karakter alfanumerik, tanda hubung, atau garis bawah didukung, karakter pertama harus alfanumerik saja. Ini tidak dapat diubah setelah dibuat.
deskripsi adalah deskripsi informasi masuk identitas gabungan yang diberikan pengguna. Opsional. Deskripsi tidak divalidasi atau diperiksa oleh ID Microsoft Entra. Bidang ini memiliki batas 600 karakter.
Karakter kartubebas tidak didukung dalam nilai properti kredensial identitas gabungan apa pun.
Untuk mempelajari selengkapnya tentang wilayah yang didukung, saatnya untuk menyebarluaskan pembaruan kredensial federasi, penerbit yang didukung, dan lainnya, baca Pertimbangan dan pembatasan penting untuk kredensial identitas gabungan.
Prasyarat
- Jika Anda tidak terbiasa dengan identitas terkelola untuk sumber daya Azure, lihat bagian ringkasan. Pastikan untuk meninjau perbedaan antara identitas terkelola yang ditetapkan sistem dan ditetapkan pengguna.
- Jika Anda belum memiliki akun Azure, daftar untuk mendapatkan akun gratis sebelum melanjutkan.
- Dapatkan informasi untuk IdP eksternal dan beban kerja perangkat lunak, yang Anda perlukan dalam langkah-langkah berikut.
- Untuk membuat identitas terkelola yang ditetapkan pengguna dan mengonfigurasi kredensial identitas gabungan, akun Anda memerlukan penetapan peran Kontributor atau Pemilik .
- Membuat identitas yang ditugaskan pengguna
- Temukan nama identitas terkelola yang ditetapkan pengguna, yang Anda butuhkan dalam langkah-langkah berikut.
Mengonfigurasi kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna
Di pusat admin Microsoft Entra, navigasikan ke identitas terkelola yang ditetapkan pengguna yang Anda buat. Di bawah Pengaturan di bilah navigasi kiri, pilih Kredensial federasi lalu Tambahkan Kredensial.
Dalam kotak dropdown Skenario kredensial federasi, pilih skenario Anda.
GitHub Actions menyebarkan sumber daya Azure
Untuk menambahkan identitas federasi untuk tindakan GitHub, ikuti langkah-langkah berikut:
Untuk Jenis entitas, pilih Lingkungan, Cabang, Permintaan pull, atau Tag dan tentukan nilainya. Nilai harus sama persis dengan konfigurasi di alur kerja GitHub. Untuk info selengkapnya, baca contoh ini.
Tambahkan Nama untuk kredensial gabungan.
Bidang Pengeluar sertifikat, Audiens, dan Pengidentifikasi subjek terisi otomatis berdasarkan nilai yang Anda masukkan.
Pilih Tambahkan untuk mengonfigurasi kredensial federasi.
Gunakan nilai berikut dari identitas terkelola Microsoft Entra Anda untuk alur kerja GitHub Anda:
AZURE_CLIENT_ID
ID Klien identitas terkelolaAZURE_SUBSCRIPTION_ID
ID Langganan.Cuplikan layar berikut menunjukkan cara menyalin ID identitas terkelola dan ID langganan.
AZURE_TENANT_ID
ID Direktori (penyewa). Pelajari cara menemukan ID penyewa Microsoft Entra Anda.
Contoh jenis entitas
Contoh cabang
Untuk alur kerja yang dipicu oleh peristiwa permintaan push atau pull di cabang utama:
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
Tentukan Jenis entitasCabang dan nama cabang GitHub "utama".
Contoh lingkungan
Untuk Pekerjaan yang terikat dengan lingkungan bernama "produksi":
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment: production
steps:
- name: deploy
# ...deployment-specific steps
Tentukan Jenis entitasLingkungan dan nama lingkungan GitHub "produksi".
Contoh tag
Misalnya, untuk alur kerja yang dipicu oleh pendorongan ke tag bernama "v2":
on:
push:
# Sequence of patterns matched against refs/heads
branches:
- main
- 'mona/octocat'
- 'releases/**'
# Sequence of patterns matched against refs/tags
tags:
- v2
- v1.*
Tentukan Jenis entitasTag dan nama tag GitHub "v2".
Contoh permintaan pull
Untuk alur kerja yang dipicu oleh peristiwa permintaan pull, tentukan Jenis entitas dari Permintaan pull
Kubernetes mengakses sumber daya Azure
Isi bidang URL pengeluar sertifikat kluster, Namespace, Nama akun layanan, dan Nama:
- URL pengeluar sertifikat kluster adalah URL pengeluar sertifikat OIDC untuk kluster terkelola atau URL Pengeluar Sertifikat OIDC untuk kluster yang dikelola sendiri.
- Nama akun layanan adalah nama akun layanan Kubernetes, yang memberikan identitas untuk proses yang berjalan dalam Pod.
- Namespace adalah namespace akun layanan.
- Nama adalah nama informasi masuk gabungan, yang tidak dapat diubah nanti.
Pilih Tambahkan untuk mengonfigurasi kredensial federasi.
Lainnya
Pilih skenario Pengeluar sertifikat lain dari menu dropdown.
Tentukan bidang berikut (menggunakan beban kerja perangkat lunak yang berjalan di Google Cloud sebagai contoh):
- Nama adalah nama informasi masuk gabungan, yang tidak dapat diubah nanti.
- Pengidentifikasi subjek: harus cocok dengan klaim
sub
dalam token yang dikeluarkan oleh IdP eksternal. Dalam contoh ini menggunakan Google Cloud, subjek adalah ID Unik dari akun layanan yang Anda rencanakan untuk digunakan. - Pengeluar sertifikat: harus cocok dengan klaim
iss
dalam token yang dikeluarkan oleh IdP eksternal. URL yang mematuhi spesifikasi Penemuan OIDC. ID Microsoft Entra menggunakan URL pengeluar sertifikat ini untuk mengambil kunci yang diperlukan untuk memvalidasi token. Untuk Google Cloud, pengeluar sertifikat adalah "https://accounts.google.com".
Pilih Tambahkan untuk mengonfigurasi kredensial federasi.
Mencantumkan kredensial identitas gabungan pada identitas terkelola yang ditetapkan pengguna
Di pusat admin Microsoft Entra, navigasikan ke identitas terkelola yang ditetapkan pengguna yang Anda buat. Di bawah Pengaturan di bilah navigasi kiri dan pilih Kredensial federasi.
Kredensial identitas federasi yang dikonfigurasi pada identitas terkelola yang ditetapkan pengguna tercantum.
Menghapus kredensial identitas federasi dari identitas terkelola yang ditetapkan pengguna
Di pusat admin Microsoft Entra, navigasikan ke identitas terkelola yang ditetapkan pengguna yang Anda buat. Di bawah Pengaturan di bilah navigasi kiri dan pilih Kredensial federasi.
Kredensial identitas federasi yang dikonfigurasi pada identitas terkelola yang ditetapkan pengguna tercantum.
Untuk menghapus kredensial identitas federasi tertentu, pilih ikon Hapus untuk kredensial tersebut.
Prasyarat
- Jika Anda tidak terbiasa dengan identitas terkelola untuk sumber daya Azure, lihat bagian ringkasan. Pastikan untuk meninjau perbedaan antara identitas terkelola yang ditetapkan sistem dan ditetapkan pengguna.
- Jika Anda belum memiliki akun Azure, daftar untuk mendapatkan akun gratis sebelum melanjutkan.
- Dapatkan informasi untuk IdP eksternal dan beban kerja perangkat lunak, yang Anda perlukan dalam langkah-langkah berikut.
- Untuk membuat identitas terkelola yang ditetapkan pengguna dan mengonfigurasi kredensial identitas gabungan, akun Anda memerlukan penetapan peran Kontributor atau Pemilik .
- Membuat identitas yang ditugaskan pengguna
- Temukan nama identitas terkelola yang ditetapkan pengguna, yang Anda butuhkan dalam langkah-langkah berikut.
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
Mengonfigurasi kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna
Jalankan perintah az identity federated-credential create untuk membuat kredensial identitas federasi baru pada identitas terkelola yang ditetapkan pengguna Anda (ditentukan oleh nama). Tentukan nama, pengeluar sertifikat, subjek, dan parameter lainnya.
az login
# set variables
location="centralus"
subscription="{subscription-id}"
rg="fic-test-rg"
# user assigned identity name
uaId="fic-test-ua"
# federated identity credential name
ficId="fic-test-fic-name"
# create prerequisites if required.
# otherwise make sure that existing resources names are set in variables above
az account set --subscription $subscription
az group create --location $location --name $rg
az identity create --name $uaId --resource-group $rg --location $location --subscription $subscription
# Create/update a federated identity credential
az identity federated-credential create --name $ficId --identity-name $uaId --resource-group $rg --issuer 'https://aks.azure.com/issuerGUID' --subject 'system:serviceaccount:ns:svcaccount' --audiences 'api://AzureADTokenExchange'
Mencantumkan kredensial identitas gabungan pada identitas terkelola yang ditetapkan pengguna
Jalankan perintah az identity federated-credential list untuk membaca semua kredensial identitas federasi yang dikonfigurasi pada identitas terkelola yang ditetapkan pengguna:
az login
# Set variables
rg="fic-test-rg"
# User assigned identity name
uaId="fic-test-ua"
# Read all federated identity credentials assigned to the user-assigned managed identity
az identity federated-credential list --identity-name $uaId --resource-group $rg
Mendapatkan kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna
Jalankan perintah az identity federated-credential show untuk menampilkan kredensial identitas federasi (menurut ID):
az login
# Set variables
rg="fic-test-rg"
# User assigned identity name
uaId="fic-test-ua"
# Federated identity credential name
ficId="fic-test-fic-name"
# Show the federated identity credential
az identity federated-credential show --name $ficId --identity-name $uaId --resource-group $rg
Menghapus kredensial identitas federasi dari identitas terkelola yang ditetapkan pengguna
Jalankan perintah az identity federated-credential delete untuk menghapus kredensial identitas federasi di bawah identitas yang ditetapkan pengguna yang ada.
az login
# Set variables
# in Linux shell remove $ from set variable statement
$rg="fic-test-rg"
# User assigned identity name
$uaId="fic-test-ua"
# Federated identity credential name
$ficId="fic-test-fic-name"
az identity federated-credential delete --name $ficId --identity-name $uaId --resource-group $rg
Prasyarat
- Jika Anda tidak terbiasa dengan identitas terkelola untuk sumber daya Azure, lihat bagian ringkasan. Pastikan untuk meninjau perbedaan antara identitas terkelola yang ditetapkan sistem dan ditetapkan pengguna.
- Jika Anda belum memiliki akun Azure, daftar untuk mendapatkan akun gratis sebelum melanjutkan.
- Dapatkan informasi untuk IdP eksternal dan beban kerja perangkat lunak, yang Anda perlukan dalam langkah-langkah berikut.
- Untuk membuat identitas terkelola yang ditetapkan pengguna dan mengonfigurasi kredensial identitas gabungan, akun Anda memerlukan penetapan peran Kontributor atau Pemilik .
- Untuk menjalankan contoh skrip, Anda memiliki dua opsi:
- Gunakan Azure Cloud Shell, yang dapat Anda buka menggunakan tombol Coba di sudut kanan atas blok kode.
- Jalankan skrip secara lokal dengan Azure PowerShell, seperti yang dijelaskan di bagian berikutnya.
- Membuat identitas yang ditugaskan pengguna
- Temukan nama identitas terkelola yang ditetapkan pengguna, yang Anda butuhkan dalam langkah-langkah berikut.
Mengonfigurasi Azure PowerShell secara lokal
Untuk menggunakan Azure PowerShell secara lokal untuk artikel ini daripada menggunakan Cloud Shell:
Instal versi terbaru Azure PowerShell jika Anda belum melakukannya.
Masuk ke Azure.
Connect-AzAccount
Instal versi terbaru dari PowerShellGet.
Install-Module -Name PowerShellGet -AllowPrerelease
Anda mungkin perlu
Exit
dari sesi PowerShell saat ini setelah menjalankan perintah ini untuk langkah berikutnya.Az.ManagedServiceIdentity
Instal modul untuk melakukan operasi identitas terkelola yang ditetapkan pengguna dalam artikel ini.Install-Module -Name Az.ManagedServiceIdentity
Mengonfigurasi kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna
Jalankan perintah New-AzFederatedIdentityCredentials untuk membuat kredensial identitas federasi baru pada identitas terkelola yang ditetapkan pengguna Anda (ditentukan oleh nama). Tentukan nama, pengeluar sertifikat, subjek, dan parameter lainnya.
New-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 `
-Name fic-pwsh01 -Issuer "https://kubernetes-oauth.azure.com" -Subject "system:serviceaccount:ns:svcaccount"
Mencantumkan kredensial identitas gabungan pada identitas terkelola yang ditetapkan pengguna
Jalankan perintah Get-AzFederatedIdentityCredentials untuk membaca semua kredensial identitas federasi yang dikonfigurasi pada identitas terkelola yang ditetapkan pengguna:
Get-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01
Mendapatkan kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna
Jalankan perintah Get-AzFederatedIdentityCredentials untuk menampilkan kredensial identitas federasi (berdasarkan nama):
Get-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 -Name fic-pwsh01
Menghapus kredensial identitas federasi dari identitas terkelola yang ditetapkan pengguna
Jalankan perintah Remove-AzFederatedIdentityCredentials untuk menghapus kredensial identitas federasi di bawah identitas yang ditetapkan pengguna yang ada.
Remove-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 -Name fic-pwsh01
Prasyarat
- Jika Anda tidak terbiasa dengan identitas terkelola untuk sumber daya Azure, lihat bagian ringkasan. Pastikan untuk meninjau perbedaan antara identitas terkelola yang ditetapkan sistem dan ditetapkan pengguna.
- Jika Anda belum memiliki akun Azure, daftar untuk mendapatkan akun gratis sebelum melanjutkan.
- Dapatkan informasi untuk IdP eksternal dan beban kerja perangkat lunak, yang Anda perlukan dalam langkah-langkah berikut.
- Untuk membuat identitas terkelola yang ditetapkan pengguna dan mengonfigurasi kredensial identitas gabungan, akun Anda memerlukan penetapan peran Kontributor atau Pemilik .
- Membuat identitas yang ditugaskan pengguna
- Temukan nama identitas terkelola yang ditetapkan pengguna, yang Anda butuhkan dalam langkah-langkah berikut.
Pembuatan dan pengeditan templat
Templat Resource Manager membantu Anda menerapkan sumber daya baru atau yang dimodifikasi yang ditentukan oleh grup sumber daya Azure. Beberapa opsi tersedia untuk pengeditan dan penyebaran templat, baik lokal maupun berbasis portal. Anda dapat:
- Gunakan templat kustom dari Azure Marketplace untuk membuat templat dari awal atau menggunakan templat mulai cepat atau umum yang ada.
- Berasal dari grup sumber daya yang ada dengan mengekspor templat. Anda dapat mengekspornya dari penyebaran asli atau dari status penyebaran saat ini.
- Gunakan editor JSON (seperti VS Code) lokal, lalu unggah dan sebarkan menggunakan PowerShell atau Azure CLI.
- Gunakan proyek Grup Sumber Daya Azure Visual Studio untuk membuat dan menyebarkan templat.
Mengonfigurasi kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna
Kredensial identitas gabungan dan identitas yang ditetapkan pengguna induk dapat dibuat atau diperbarui menjadi sarana templat di bawah ini. Anda dapat menyebarkan templat ARM dari portal Azure.
Semua parameter templat bersifat wajib.
Ada batas 3-120 karakter untuk panjang nama kredensial identitas federasi. Ini harus alfanumerik, garis putus-putus, garis bawah. Simbol pertama hanya alfanumerik.
Anda harus menambahkan tepat satu audiens ke kredensial identitas gabungan. Audiens diverifikasi selama pertukaran token. Gunakan "api://AzureADTokenExchange" sebagai nilai default.
Operasi Daftar, Dapatkan, dan Hapus tidak tersedia dengan templat. Lihat Azure CLI untuk operasi ini. Secara default, semua kredensial identitas federasi anak dibuat secara paralel, yang memicu logika deteksi konkurensi dan menyebabkan penyebaran gagal dengan kode status HTTP yang berkonflik 409. Untuk membuatnya secara berurutan, tentukan rantai dependensi menggunakan properti dependsOn .
Pastikan bahwa segala jenis otomatisasi membuat kredensial identitas federasi di bawah identitas induk yang sama secara berurutan. Kredensial identitas gabungan di bawah identitas terkelola yang berbeda dapat dibuat secara paralel tanpa batasan apa pun.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {},
"parameters": {
"location": {
"type": "string",
"defaultValue": "westcentralus",
"metadata": {
"description": "Location for identities resources. FIC should be enabled in this region."
}
},
"userAssignedIdentityName": {
"type": "string",
"defaultValue": "FIC_UA",
"metadata": {
"description": "Name of the User Assigned identity (parent identity)"
}
},
"federatedIdentityCredential": {
"type": "string",
"defaultValue": "testCredential",
"metadata": {
"description": "Name of the Federated Identity Credential"
}
},
"federatedIdentityCredentialIssuer": {
"type": "string",
"defaultValue": "https://aks.azure.com/issuerGUID",
"metadata": {
"description": "Federated Identity Credential token issuer"
}
},
"federatedIdentityCredentialSubject": {
"type": "string",
"defaultValue": "system:serviceaccount:ns:svcaccount",
"metadata": {
"description": "Federated Identity Credential token subject"
}
},
"federatedIdentityCredentialAudience": {
"type": "string",
"defaultValue": " api://AzureADTokenExchange",
"metadata": {
"description": "Federated Identity Credential audience. Single value is only supported."
}
}
},
"resources": [
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"apiVersion": "2018-11-30",
"name": "[parameters('userAssignedIdentityName')]",
"location": "[parameters('location')]",
"tags": {
"firstTag": "ficTest"
},
"resources": [
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials",
"apiVersion": "2022-01-31-PREVIEW",
"name": "[concat(parameters('userAssignedIdentityName'), '/', parameters('federatedIdentityCredential'))]",
"dependsOn": [
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('userAssignedIdentityName'))]"
],
"properties": {
"issuer": "[parameters('federatedIdentityCredentialIssuer')]",
"subject": "[parameters('federatedIdentityCredentialSubject')]",
"audiences": [
"[parameters('federatedIdentityCredentialAudience')]"
]
}
}
]
}
]
}
Prasyarat
- Jika Anda tidak terbiasa dengan identitas terkelola untuk sumber daya Azure, lihat bagian ringkasan. Pastikan untuk meninjau perbedaan antara identitas terkelola yang ditetapkan sistem dan ditetapkan pengguna.
- Jika Anda belum memiliki akun Azure, daftar untuk mendapatkan akun gratis sebelum melanjutkan.
- Dapatkan informasi untuk IdP eksternal dan beban kerja perangkat lunak, yang Anda perlukan dalam langkah-langkah berikut.
- Untuk membuat identitas terkelola yang ditetapkan pengguna dan mengonfigurasi kredensial identitas gabungan, akun Anda memerlukan penetapan peran Kontributor atau Pemilik .
- Anda dapat menjalankan semua perintah dalam artikel ini baik di cloud atau secara lokal:
- Untuk berjalan di cloud, gunakan Azure Cloud Shell.
- Untuk berjalan secara lokal, instal curl dan Azure CLI.
- Membuat identitas yang ditugaskan pengguna
- Temukan nama identitas terkelola yang ditetapkan pengguna, yang Anda butuhkan dalam langkah-langkah berikut.
Dapatkan token akses pembawa
Jika Anda menjalankan secara lokal, masuk ke Azure melalui Azure CLI.
az login
Dapatkan token akses menggunakan az account get-access-token.
az account get-access-token
Mengonfigurasi kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna
Membuat atau memperbarui kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna yang ditentukan.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/provider
s/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/federatedIdenti
tyCredentials/<FEDERATED IDENTITY CREDENTIAL NAME>?api-version=2022-01-31-preview' -X PUT -d '{"properties": "{ "properties": { "issuer": "<ISSUER>", "subject": "<SUBJECT>", "audiences": [ "api://AzureADTokenExchange" ] }}"}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL NAME>?api-version=2022-01-31-preview
{
"properties": {
"issuer": "https://oidc.prod-aks.azure.com/IssuerGUID",
"subject": "system:serviceaccount:ns:svcaccount",
"audiences": [
"api://AzureADTokenExchange"
]
}
}
Header permintaan
Header permintaan | Deskripsi |
---|---|
Tipe-Konten | Harus diisi. Atur ke application/json . |
Authorization | Harus diisi. Atur ke token akses Bearer yang valid. |
Badan permintaan
Nama | Deskripsi |
---|---|
properties.audiences | Harus diisi. Daftar audiens yang dapat muncul dalam token yang dikeluarkan. |
properties.issuer | Harus diisi. URL penerbit yang akan dipercaya. |
properties.subject | Harus diisi. Pengidentifikasi identitas eksternal. |
Mencantumkan kredensial identitas gabungan pada identitas terkelola yang ditetapkan pengguna
Cantumkan semua kredensial identitas gabungan pada identitas terkelola yang ditetapkan pengguna yang ditentukan.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials?api-version=2022-01-31-preview' -H "Content-Type: application/json" -X GET -H "Authorization: Bearer <ACCESS TOKEN>"
GET
https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials?api-version=2022-01-31-preview
Header permintaan
Header permintaan | Deskripsi |
---|---|
Tipe-Konten | Harus diisi. Atur ke application/json . |
Authorization | Harus diisi. Atur ke token akses Bearer yang valid. |
Mendapatkan kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna
Dapatkan kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna yang ditentukan.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview' -X GET -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
GET
https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview
Header permintaan
Header permintaan | Deskripsi |
---|---|
Tipe-Konten | Harus diisi. Atur ke application/json . |
Authorization | Harus diisi. Atur ke token akses Bearer yang valid. |
Menghapus kredensial identitas federasi dari identitas terkelola yang ditetapkan pengguna
Hapus kredensial identitas gabungan pada identitas terkelola yang ditetapkan pengguna yang ditentukan.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview' -X DELETE -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
DELETE
https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview
Header permintaan
Header permintaan | Deskripsi |
---|---|
Tipe-Konten | Harus diisi. Atur ke application/json . |
Authorization | Harus diisi. Atur ke token akses Bearer yang valid. |
Langkah berikutnya
- Untuk informasi tentang format JWT yang diperlukan yang dibuat oleh penyedia identitas eksternal, baca tentang format pernyataan.