Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Para implantar um aplicativo do Service Fabric com identidade gerenciada, o aplicativo precisa ser implantado por meio do Azure Resource Manager, normalmente com um modelo do Azure Resource Manager. Para obter mais informações sobre como implantar o aplicativo Service Fabric por meio do Azure Resource Manager, consulte Gerenciar aplicativos e serviços como recursos do Azure Resource Manager.
Observação
Os aplicativos que não são implantados como um recurso do Azure não podem ter Identidades Gerenciadas.
A implantação de aplicativos do Service Fabric com Identidade Gerenciada é suportada com a versão "2019-06-01-preview"
da API. Você também pode usar a mesma versão da API para o tipo de aplicativo, versão do tipo de aplicativo e recursos de serviço.
User-Assigned Identidade
Para habilitar o aplicativo com identidade User-Assigned, primeiro adicione a propriedade identity ao recurso do aplicativo com o tipo userAssigned e as identidades atribuídas pelo usuário referenciadas. Em seguida, adicione uma seção managedIdentities dentro da seção properties para o recurso application, que contém uma lista de nomes amigáveis para o mapeamento de principalId para cada uma das identidades atribuídas pelo usuário. Para obter mais informações sobre identidades atribuídas pelo usuário , consulte Criar, listar ou excluir uma identidade gerenciada atribuída pelo usuário.
Modelo de candidatura
Para habilitar o aplicativo com identidade Atribuída pelo Usuário, primeiro adicione a propriedade identity ao recurso do aplicativo com o tipo userAssigned e as identidades atribuídas ao usuário referenciado e, em seguida, adicione um objeto managedIdentities dentro da seção de propriedades que contém uma lista de nomes amigáveis ao mapeamento principalId para cada uma das identidades atribuídas ao usuário.
{
"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'))]",
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName'))]"
],
"identity": {
"type" : "userAssigned",
"userAssignedIdentities": {
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName'))]": {}
}
},
"properties": {
"typeName": "[parameters('applicationTypeName')]",
"typeVersion": "[parameters('applicationTypeVersion')]",
"parameters": {
},
"managedIdentities": [
{
"name" : "[parameters('userAssignedIdentityName')]",
"principalId" : "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName')), '2018-11-30').principalId]"
}
]
}
}
No exemplo acima, o nome do recurso da identidade atribuída ao usuário está sendo usado como o nome amigável da identidade gerenciada para o aplicativo. Os exemplos a seguir assumem que o nome amigável real é "AdminUser".
Pacote de aplicação
Para cada identidade definida na
managedIdentities
secção no template do Azure Resource Manager, adicione um<ManagedIdentity>
tag no manifesto da aplicação na secção Principals. O atributoName
precisa corresponder à propriedadename
definida na seçãomanagedIdentities
.ApplicationManifest.xml
<Principals> <ManagedIdentities> <ManagedIdentity Name="AdminUser" /> </ManagedIdentities> </Principals>
Na seção ServiceManifestImport , adicione um IdentityBindingPolicy para o serviço que usa a Identidade Gerenciada. Esta política mapeia a
AdminUser
identidade para um nome de identidade específico do serviço que precisa ser adicionado ao manifesto do serviço posteriormente.ApplicationManifest.xml
<ServiceManifestImport> <Policies> <IdentityBindingPolicy ServiceIdentityRef="WebAdmin" ApplicationIdentityRef="AdminUser" /> </Policies> </ServiceManifestImport>
Atualize o manifesto de serviço para adicionar uma ManagedIdentity na seção Recursos com o nome que corresponde ao
ServiceIdentityRef
noIdentityBindingPolicy
do manifesto do aplicativo.ServiceManifest.xml
<Resources> ... <ManagedIdentities DefaultIdentity="WebAdmin"> <ManagedIdentity Name="WebAdmin" /> </ManagedIdentities> </Resources>