Sistem tarafından atanan yönetilen kimlikle Service Fabric uygulaması dağıtma
Not
Başlangıçta Azure cmdlet'leri kullanılarak dağıtılan mevcut bir uygulama için kimlik etkinleştirme desteklenmez.
Azure Service Fabric uygulamalarının yönetilen kimlik özelliğine erişmek için önce kümede Yönetilen Kimlik Belirteci Hizmeti'ni etkinleştirmeniz gerekir. Bu hizmet, yönetilen kimliklerini kullanarak Service Fabric uygulamalarının kimlik doğrulamasından ve onların adına erişim belirteçleri almakla sorumludur. Hizmet etkinleştirildikten sonra, service Fabric Explorer'da sol bölmedeki Sistem bölümünün altında, diğer sistem hizmetlerinin yanındaki fabric:/System/ManagedIdentityTokenService adı altında çalıştığını görebilirsiniz.
Not
Yönetilen kimliklerle Service Fabric uygulamalarının dağıtımı API sürümünden "2019-06-01-preview"
itibaren desteklenir. Uygulama türü, uygulama türü sürümü ve hizmet kaynakları için de aynı API sürümünü kullanabilirsiniz. Desteklenen en düşük Service Fabric çalışma zamanı 6,5 CU2'dir. Buna ek olarak, derleme/paket ortamı cu2 veya üzeri bir sürümde Service Fabric .NET SDK'sını da içermelidir
Sistem tarafından atanan yönetilen kimlik
Uygulama şablonu
Uygulamayı sistem tarafından atanan yönetilen kimlikle etkinleştirmek için, aşağıdaki örnekte gösterildiği gibi systemAssigned türüyle kimlik özelliğini uygulama kaynağına ekleyin:
{
"apiVersion": "2019-06-01-preview",
"type": "Microsoft.ServiceFabric/clusters/applications",
"name": "[concat(parameters('clusterName'), '/', parameters('applicationName'))]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.ServiceFabric/clusters/', parameters('clusterName'), '/applicationTypes/', parameters('applicationTypeName'), '/versions/', parameters('applicationTypeVersion'))]"
],
"identity": {
"type" : "systemAssigned"
},
"properties": {
"typeName": "[parameters('applicationTypeName')]",
"typeVersion": "[parameters('applicationTypeVersion')]",
"parameters": {
}
}
}
Bu özellik (Azure Resource Manager'a ve Sırasıyla Yönetilen Kimlik ve Service Fabric Kaynak Sağlayıcılarına) bu kaynağın örtük (system assigned
) yönetilen bir kimliğe sahip olduğunu bildirir.
Uygulama ve hizmet paketi
Aşağıda gösterildiği gibi tek bir giriş içeren Sorumlular bölümünde bir ManagedIdentity öğesi eklemek için uygulama bildirimini güncelleştirin:
ApplicationManifest.xml
<Principals> <ManagedIdentities> <ManagedIdentity Name="SystemAssigned" /> </ManagedIdentities> </Principals>
Bu, uygulamayı oluşturan hizmetlere daha fazla atama için uygulamaya kaynak olarak atanan kimliği kolay bir ada eşler.
Yönetilen kimliğe atanan hizmete karşılık gelen ServiceManifestImport bölümünde, aşağıda gösterildiği gibi bir IdentityBindingPolicy öğesi ekleyin:
ApplicationManifest.xml
<ServiceManifestImport> <Policies> <IdentityBindingPolicy ServiceIdentityRef="WebAdmin" ApplicationIdentityRef="SystemAssigned" /> </Policies> </ServiceManifestImport>
Bu öğe, uygulamanın kimliğini hizmete atar; bu atama olmadan hizmet, uygulamanın kimliğine erişemez. Yukarıdaki kod parçacığında,
SystemAssigned
kimlik (ayrılmış anahtar sözcüktür) kolay adıWebAdmin
altında hizmetin tanımına eşlenir.Hizmet bildirimini, Kaynaklar bölümünün içine uygulama bildirimindeki tanımdaki
IdentityBindingPolicy
ayarınServiceIdentityRef
değeriyle eşleşen adla bir ManagedIdentity öğesi eklemek için güncelleştirin:ServiceManifest.xml
<Resources> ... <ManagedIdentities DefaultIdentity="WebAdmin"> <ManagedIdentity Name="WebAdmin" /> </ManagedIdentities> </Resources>
Bu, yukarıda açıklandığı gibi bir kimliğin hizmete eşdeğer eşlemesidir, ancak hizmet tanımı açısından bakıldığında. Kimlik, burada uygulama bildiriminde belirtildiği gibi kolay adıyla ()
WebAdmin
başvurulur.
Sonraki Adımlar
- Azure Service Fabric'te yönetilen kimlik desteğini gözden geçirme
- Yönetilen kimlik desteğiyle yeni bir Azure Service Fabric kümesi dağıtma
- Mevcut Azure Service Fabric kümesinde yönetilen kimliği etkinleştirme
- Kaynak koddan Service Fabric uygulamasının yönetilen kimliğinden yararlanma
- Kullanıcı tarafından atanan yönetilen kimlikle Azure Service Fabric uygulaması dağıtma
- Azure Service Fabric uygulamasına diğer Azure kaynaklarına erişim verme