Menambahkan identitas terkelola ke jenis node kluster yang dikelola oleh Service Fabric
Setiap jenis node dalam klaster yang dikelola Service Fabric didukung oleh set skala komputer virtual. Untuk memungkinkan identitas terkelola digunakan dengan jenis node klaster terkelola, properti vmManagedIdentity
telah ditambahkan ke definisi jenis node yang berisi daftar identitas yang dapat digunakan, userAssignedIdentities
. Fungsionalitas mencerminkan bagaimana identitas terkelola dapat digunakan dalam klaster yang tidak dikelola, seperti menggunakan identitas terkelola dengan ekstensi set skala komputer virtual Azure Key Vault.
Untuk contoh penyebaran kluster yang dikelola Service Fabric yang menggunakan identitas terkelola pada jenis simpul, lihat templat ini. Contohnya memiliki dua templat:
Identitas terkelola dan penetapan peran: Template untuk membuat identitas terkelola dan menetapkan peran untuk memungkinkan Service Fabric RP menetapkan identitas ke set skala komputer virtual kluster yang terkelola. Hal ini harus disebarkan hanya sekali sebelum menggunakan identitas terkelola pada sumber daya jenis simpul.
Jenis simpul dan kluster terkelola: Template untuk sumber daya jenis kluster dan simpul terkelola service fabric menggunakan identitas terkelola yang dibuat sebelumnya.
Catatan
Hanya identitas yang ditetapkan pengguna yang saat ini didukung untuk fitur ini.
Catatan
Lihat Mengonfigurasi dan menggunakan aplikasi dengan identitas terkelola pada kluster yang dikelola Service Fabric untuk konfigurasi aplikasi.
Prasyarat
Sebelum Anda mulai:
- Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
- Jika Anda berencana menggunakan PowerShell, instal Azure CLI untuk menjalankan perintah referensi CLI.
1. Membuat identitas dan Tugas peran
Buat identitas terkelola yang ditetapkan pengguna.
Identitas terkelola yang ditetapkan pengguna dapat ditentukan di bagian sumber daya dari templat Azure Resource Manager (ARM) untuk dibuat saat penyebaran:
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"name": "[parameters('userAssignedIdentityName')]",
"apiVersion": "2023-01-31",
"location": "[resourceGroup().location]"
}
atau dibuat melalui PowerShell:
New-AzResourceGroup -Name <managedIdentityRGName> -Location <location>
New-AzUserAssignedIdentity -ResourceGroupName <managedIdentityRGName> -Name <userAssignedIdentityName>
Menambahkan penetapan peran dengan Penyedia Sumber Daya Service Fabric
Tambahkan penetapan peran ke identitas terkelola dengan aplikasi Penyedia Sumber Daya Service Fabric. Penugasan ini memungkinkan Penyedia Sumber Daya Service Fabric untuk menetapkan identitas, yang dibuat pada langkah sebelumnya, ke set skala komputer virtual kluster yang terkelola. Ini adalah tindakan sekaligus
Dapatkan perwakilan layanan untuk aplikasi Penyedia Sumber Daya Service Fabric:
Login-AzAccount
Select-AzSubscription -SubscriptionId <SubId>
Get-AzADServicePrincipal -DisplayName "Azure Service Fabric Resource Provider"
Catatan
Pastikan Anda berada di langganan yang benar, ID utama akan berubah jika langganan berada di penyewa yang berbeda.
ServicePrincipalNames : {74cb6831-0dbb-4be1-8206-fd4df301cdc2}
ApplicationId : 74cb6831-0dbb-4be1-8206-fd4df301cdc2
ObjectType : ServicePrincipal
DisplayName : Azure Service Fabric Resource Provider
Id : 00000000-0000-0000-0000-000000000000
Gunakan Id dari output sebelumnya sebagai principalId dan ID definisi peran di bawah sebagai roleDefinitionId jika berlaku pada templat atau perintah PowerShell:
Nama definisi peran | ID definisi peran |
---|---|
Operator Identitas Terkelola | f1a07417-d97a-45cb-824c-7a7467783830 |
Penetapan peran ini dapat ditentukan di templat bagian sumber daya menggunakan Id Utama dan Id definisi peran:
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "2022-04-01",
"name": "[parameters('vmIdentityRoleNameGuid')]",
"scope": "[concat('Microsoft.ManagedIdentity/userAssignedIdentities', '/', parameters('userAssignedIdentityName'))]",
"dependsOn": [
"[concat('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName'))]"
],
"properties": {
"roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', 'f1a07417-d97a-45cb-824c-7a7467783830')]",
"principalId": "<Service Fabric Resource Provider ID>"
}
}
Catatan
vmIdentityRoleNameGuid harus menjadi GUID yang valid. Jika Anda kembali menyebarkan templat yang sama termasuk penetapan peran ini, pastikan bahwa GUID sama dengan GUID yang awalnya digunakan atau hapus sumber daya ini karena hanya perlu dibuat sekali.
atau dibuat melalui PowerShell menggunakan Id utama dan nama definisi peran:
New-AzRoleAssignment -PrincipalId "<Service Fabric Resource Provider ID>" -RoleDefinitionName "Managed Identity Operator" -Scope "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>"
Menyebarkan identitas yang dikelola dan penetapan peran.
Jalankan cmdlet New-AzResourceGroupDeployment untuk membuat identitas terkelola dan menambahkan penetapan peran:
New-AzResourceGroupDeployment -ResourceGroupName <managedIdentityRGName> -TemplateFile ".\MangedIdentityAndSfrpRoleAssignment.json" -TemplateParameterFile ".\MangedIdentityAndSfrpRoleAssignment.Parameters.json" -Verbose
2. Menetapkan identitas ke sumber daya tipe simpul
Tambahkan properti identitas terkelola ke definisi jenis node
Terakhir, tambahkan properti vmManagedIdentity
dan userAssignedIdentities
ke definisi jenis simpul kluster terkelola dengan ID sumber daya lengkap dari identitas yang dibuat pada langkah pertama. Pastikan untuk menggunakan 2021-05-01 atau yang lebih baru untuk apiVersion
.
{
"type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
"apiVersion": "2022-01-01",
"properties": {
"isPrimary": true,
"vmInstanceCount": 5,
"dataDiskSizeGB": 100,
"vmSize": "Standard_D2_v2",
"vmImagePublisher": "MicrosoftWindowsServer",
"vmImageOffer": "WindowsServer",
"vmImageSku": "2019-Datacenter",
"vmImageVersion": "latest",
"vmManagedIdentity": {
"userAssignedIdentities": [
"[parameters('userAssignedIdentityResourceId')]"
]
}
}
}
Menyebarkan sumber daya jenis simpul yang menetapkan identitas
Jalankan cmdlet New-AzResourceGroupDeployment untuk menyebarkan templat kluster terkelola service fabric yang menetapkan identitas terkelola ke sumber daya jenis simpul.
New-AzResourceGroupDeployment -ResourceGroupName <sfmcRGName> -TemplateFile ".\SfmcVmMangedIdentity.json" -TemplateParameterFile ".\SfmcVmMangedIdentity.Parameters.json" -Verbose
Setelah penyebaran, identitas terkelola yang dibuat telah ditambahkan ke set skala komputer virtual jenis node yang ditunjuk dan dapat digunakan seperti yang diharapkan, layaknya dalam klaster yang tidak dikelola.
Pemecahan Masalah
Kegagalan untuk menambahkan penetapan peran dengan benar akan diikutii dengan kesalahan berikut pada penyebaran:
Dalam hal ini, pastikan penetapan peran berhasil dibuat dengan Peran "Operator Identitas Terkelola". Penetapan peran dapat ditemukan di portal Microsoft Azure di bawah kontrol akses sumber daya identitas terkelola seperti yang ditunjukkan di bawah ini.