Configurar o suporte para identidade gerenciada em um cluster existente do Service Fabric

Para usar Identidades gerenciadas para recursos do Azure em seus aplicativos do Service Fabric, primeiro habilite o Serviço de Token de Identidade Gerenciada no cluster. Esse serviço é responsável pela autenticação de aplicativos do Service Fabric usando as respectivas identidades gerenciadas, bem como pela obtenção de tokens de acesso em nome dos aplicativos. Após habilitar o serviço, será possível vê-lo na seção Sistema do painel esquerdo do Service Fabric Explorer. Ele estará em execução com o nome fabric:/System/ManagedIdentityTokenService.

Observação

O runtime do Service Fabric versão 6.5.658.9590 ou superior é necessário para habilitar o Serviço de Token de Identidade Gerenciada.

Você pode encontrar a versão do Service Fabric de um cluster no portal do Azure abrindo o recurso de cluster e verificando a propriedade Versão do Service Fabric na seção Essentials.

Se o cluster estiver no modo de atualização Manual, primeiro você precisará atualizá-lo para 6.5.658.9590 ou posterior.

Habilitar o Serviço de Token de Identidade Gerenciada em um cluster existente

Para habilitar o Serviço de Token de Identidade Gerenciada em um cluster existente, você precisará iniciar uma atualização do cluster especificando duas alterações: (1) Habilitando o Serviço de Token de Identidade Gerenciada e (2) solicitando uma reinicialização de cada nó. Primeiro, adicione o seguinte snippet ao modelo do Azure Resource Manager do cluster:

"fabricSettings": [
    {
        "name": "ManagedIdentityTokenService",
        "parameters": [
            {
                "name": "IsEnabled",
                "value": "true"
            }
        ]
    }
]

Para que as alterações entrem em vigor, você também precisará alterar a política de atualização para especificar uma reinicialização forçada do runtime do Service Fabric em cada nó à medida que a atualização progredir pelo cluster. Essa reinicialização garante que o serviço do sistema recém-habilitado seja iniciado e executado em cada nó. No snippet abaixo, forceRestart é a configuração essencial para habilitar a reinicialização. Para os parâmetros restantes, use os valores descritos abaixo ou valores personalizados existentes já especificados para o recurso de cluster. Configurações personalizadas da Política de Atualização do Fabric ('upgradeDescription') podem ser vistas no portal do Azure selecionando a opção 'Atualizações do Fabric' no recurso Service Fabric ou em resources.azure.com. As opções padrão da política de atualização ('upgradeDescription') não podem ser vistas no PowerShell nem em resources.azure.com. Confira ClusterUpgradePolicy para obter mais informações.

"upgradeDescription": {
    "forceRestart": true,
    "healthCheckRetryTimeout": "00:45:00",
    "healthCheckStableDuration": "00:05:00",
    "healthCheckWaitDuration": "00:05:00",
    "upgradeDomainTimeout": "02:00:00",
    "upgradeReplicaSetCheckTimeout": "1.00:00:00",
    "upgradeTimeout": "12:00:00"
}

Observação

Após a conclusão bem-sucedida da atualização, não se esqueça de reverter a configuração forceRestart para minimizar o impacto das atualizações posteriores.

Erros e solução de problemas

Quando a implantação falha com a seguinte mensagem, isso significa que o cluster não está em execução em uma versão do Service Fabric alta o suficiente:

{
    "code": "ParameterNotAllowed",
    "message": "Section 'ManagedIdentityTokenService' and Parameter 'IsEnabled' is not allowed."
}

Próximas etapas