Развертывание приложения Service Fabric с управляемым удостоверением, назначаемым системой
Примечание.
Включение удостоверения для существующего приложения, которое изначально было развернуто с помощью командлетов Azure, не поддерживается.
Чтобы получить доступ к функции управляемого удостоверения для приложений Azure Service Fabric, сначала включите Службу токенов управляемого удостоверения в кластере. Эта служба отвечает за проверку подлинности приложений Service Fabric с помощью их управляемых удостоверений, а также за получение токенов от их имени. После включения службы она отобразится в Service Fabric Explorer в разделе Система на левой панели; выполняется под именем fabric:/System/ManagedIdentityTokenService рядом с другими системными службами.
Примечание.
Развертывание приложений Service Fabric с управляемыми удостоверениями поддерживается начиная с API версии "2019-06-01-preview"
. Вы также можете использовать ту же версию API для типа приложения, версии типа приложения и ресурсов службы. Минимальное поддерживаемое время выполнения Service Fabric составляет 6,5 CU2. Кроме того, среда сборки и пакета должна также иметь пакет SDK для Service Fabric для .NET в накопительном пакете обновления 2 (CU2) или более поздней версии.
Управляемое удостоверение, назначаемое системой
Шаблон приложения
Для включения приложения с удостоверением, назначаемым системой, добавьте свойство удостоверение в ресурс приложения с типом systemAssigned, как показано в примере ниже:
{
"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": {
}
}
}
Это свойство объявляет (Azure Resource Manager и Поставщикам управляемых удостоверений и ресурсов Service Fabric, соответственно) о наличии у этого ресурса управляемого удостоверения, предоставленного (system assigned
).
Приложение и пакет службы
Обновите манифест приложения, чтобы добавить элемент ManagedIdentity в раздел Субъекты, содержащий одну запись, как показано ниже:
ApplicationManifest.xml
<Principals> <ManagedIdentities> <ManagedIdentity Name="SystemAssigned" /> </ManagedIdentities> </Principals>
Это сопоставит удостоверение, назначенное приложению, как ресурс с понятным именем для дальнейшего назначения службам, составляющим приложение.
В разделе ServiceManifestImport, соответствующем службе, которой назначается управляемое удостоверение, добавьте элемент IdentityBindingPolicy, как указано ниже:
ApplicationManifest.xml
<ServiceManifestImport> <Policies> <IdentityBindingPolicy ServiceIdentityRef="WebAdmin" ApplicationIdentityRef="SystemAssigned" /> </Policies> </ServiceManifestImport>
Этот элемент назначает удостоверение приложения службе; без такого назначения служба не сможет получить доступ к удостоверению приложения. В приведенном выше фрагменте
SystemAssigned
удостоверение (которое является зарезервированным ключевым словом) сопоставляется с определением службы с понятным именемWebAdmin
.Обновите манифест службы, чтобы элемент ManagedIdentity внутри раздела Ресурсы с именем, соответствующим значению параметра
ServiceIdentityRef
из определенияIdentityBindingPolicy
в манифесте приложения:ServiceManifest.xml
<Resources> ... <ManagedIdentities DefaultIdentity="WebAdmin"> <ManagedIdentity Name="WebAdmin" /> </ManagedIdentities> </Resources>
Это эквивалентное сопоставление службы, как описано выше, но с точки зрения определения службы. На удостоверение указывает здесь понятное имя (
WebAdmin
), как объявлено в манифесте приложения.
Next Steps
- Проверьте, поддерживается ли управляемое удостоверение в Azure Service Fabric
- Развертывание нового кластера Azure Service Fabric с поддержкой управляемого удостоверения
- Включите управляемое удостоверение в существующем кластере Azure Service Fabric
- Используйте управляемое удостоверение из исходного кода приложения Service Fabric
- Разверните приложение Azure Service Fabric с назначенным пользователем управляемым удостоверением
- Предоставьте приложению Azure Service Fabric доступ к другим ресурсам Azure