Habilitar autenticação Kerberos do Microsoft Entra para o Arquivos do Azure no macOS com SSO de plataforma (versão preliminar)

Aplica-se a: ✔️ compartilhamentos de arquivos SMB

Este artigo explica como configurar a autenticação Kerberos do Microsoft Entra do Arquivos do Azure em dispositivos macOS usando o Logon único da plataforma do macOS (PSSO) (versão preliminar). Usando essa configuração, os dispositivos macOS ingressados no Microsoft Entra podem acessar de forma transparente os compartilhamentos de arquivos SMB do Azure usando Tickets de Concessão de Tickets (TGTs) do Kerberos baseados em nuvem, sem solicitar que os usuários informem suas credenciais.

O SSO da Plataforma macOS integra dispositivos Mac com Microsoft Entra ID e permite que os usuários entrem com suas credenciais de Microsoft Entra ID usando uma chave associada a hardware, cartão inteligente ou senha Microsoft Entra ID. Além do Token de atualização primária (PRT) do SSO da plataforma, o Microsoft Entra ID emite um TGT Kerberos de nuvem, compartilhado com a pilha Kerberos nativa do macOS por meio do mapeamento de TGT no PSSO. Os TGTs Kerberos locais também podem ser obtidos quando o cliente está configurado (por exemplo, por meio do Intune) para consultar controladores de domínio locais. Essa configuração permite o logon único contínuo ao Arquivos do Azure sem solicitar credenciais interativas aos usuários.

Para obter mais informações sobre a autenticação Kerberos do Microsoft Entra para o Arquivos do Azure, consulte Visão geral das opções de autenticação baseada em identidade do Arquivos do Azure para acesso SMB.

Pré-requisitos

Antes de configurar o acesso Arquivos do Azure no macOS usando o SSO da Plataforma, conclua os pré-requisitos a seguir.

Requisitos de dispositivo macOS

  • macOS Tahoe 26.5 ou posterior com as atualizações mais recentes instaladas.
  • Microsoft Intune Portal da Empresa versão 5.2408.0 ou posterior instalada no dispositivo.
  • O dispositivo macOS deve ser registrado em uma solução de MDM (gerenciamento de dispositivo móvel).
  • O SSO da Plataforma macOS já deve estar configurado e implantado em dispositivos. Se você não configurou o SSO da Plataforma, consulte a documentação do SSO da Plataforma para informações gerais ou o guia de implantação do Intune para instruções passo a passo antes de continuar.

requisitos de Arquivos do Azure

Permissões e requisitos de ferramentas

Para executar o script de atualização de registro de aplicativo descrito neste artigo, você precisa:

  • PowerShell 5.1 ou PowerShell 7.x.
  • O módulo do PowerShell Microsoft.Graph.Applications. Se você não tiver esse módulo instalado, execute Install-Module Microsoft.Graph.Applications -Scope CurrentUser.
  • O Administrador de aplicativos ou o Administrador global função do Microsoft Entra, com a permissão Application.ReadWrite.All da API do Microsoft Graph.

Atualizar o URI do identificador de registro do aplicativo

Essa etapa só será necessária se você tiver compartilhamentos de arquivos existentes na conta de armazenamento. Ele não se aplica a compartilhamentos de arquivos recém-criados. Se não houver compartilhamentos de arquivos existentes na conta de armazenamento, você poderá ignorar esta etapa.

Para que os clientes macOS acessem compartilhamentos de arquivos do Azure existentes usando o Microsoft Entra Kerberos com SSO de Plataforma, você deve atualizar o URI do identificador CIFS para cifs em minúsculas, ou a montagem do compartilhamento de arquivos falhará.

Quando você habilita uma conta de armazenamento para autenticação Kerberos do Microsoft Entra, o sistema registra automaticamente um aplicativo Microsoft Entra com URIs de identificador que incluem um prefixo CIFS/<storageaccount>.file.core.windows.net. O macOS requer que o cifs prefixo seja minúsculo ao montar um compartilhamento de arquivos SMB usando Kerberos. Se qualquer URI do identificador contiver o prefixo maiúsculo CIFS , os clientes macOS não poderão autenticar e montar o compartilhamento.

Para atualizar o URI do identificador, use o script do PowerShell fornecido no repositório de exemplos do Arquivos do Azure. O script atualiza URIs de identificador nos registros de aplicativo de CIFS/<storageaccount>.file.core.windows.net para cifs/<storageaccount>.file.core.windows.net. Ele dá suporte a atualizações de aplicativo único e em massa por meio de um arquivo CSV e cria um log de auditoria de todas as alterações.

Dica

Execute o script com o -WhatIf parâmetro primeiro para visualizar as alterações sem aplicá-las.

Atualizar um único registro de aplicativo

Substitua <app-registration-id> pela ID de registro do aplicativo para sua conta de armazenamento. Para encontrar essa ID, acesse Microsoft Entra ID>Registros de aplicativo>Todos aplicativos e pesquise o nome da conta de armazenamento.

.\updateappmanifestazurefiles.ps1 -AppId "<app-registration-id>"

Para gerar um log de auditoria, especifique o -OutputFile parâmetro:

.\updateappmanifestazurefiles.ps1 -AppId "<app-registration-id>" -OutputFile "C:\audit\output.csv"

Atualizar vários registros de aplicativo

Crie um arquivo CSV com um AppId cabeçalho de coluna contendo as IDs de registro do aplicativo para cada conta de armazenamento que você deseja atualizar. Por exemplo:

AppId
12345678-1234-1234-1234-123456789012
87654321-4321-4321-4321-210987654321

Em seguida, execute o script com o -CsvFilePath parâmetro:

$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
$outputFile = "C:\audit\production_update_$timestamp.csv"
.\updateappmanifestazurefiles.ps1 -CsvFilePath "C:\apps.csv" -OutputFile $outputFile

Note

O script processa aplicativos em lotes de 50, com um atraso de 100 ms entre aplicativos e um atraso de 2 segundos entre lotes. Ele funciona com até 20.000 aplicativos. Para execuções grandes, teste com um pequeno subconjunto primeiro e examine o log de auditoria antes da execução em escala.

Verifique a atualização do URI do identificador

Depois de executar o script, verifique se o URI do identificador foi atualizado com êxito.

  1. No portal do Azure, abra Microsoft Entra ID.
  2. Em Gerenciar, selecione Registros de aplicativo>Todos os aplicativos.
  3. Pesquise o nome da conta de armazenamento e selecione o aplicativo correspondente.
  4. Em Gerenciar, selecione Manifesto.
  5. Confirme se o URI do identificador agora é mostrado cifs/<storageaccount>.file.core.windows.net em letras minúsculas.

Configurar perfis MDM de SSO Kerberos no macOS

Para habilitar o SSO Kerberos para o Arquivos do Azure no macOS, implante um perfil MDM de SSO Kerberos que direcione o macOS para o domínio do Microsoft Entra ID Cloud Kerberos. Se seus usuários também precisarem acessar recursos do Active Directory local via Kerberos, implante um perfil separado para o domínio AD local.

Note

Se você planeja usar tanto os domínios do Cloud Kerberos do Microsoft Entra ID quanto do Active Directory local, implante o perfil do Active Directory local antes do perfil do Cloud Kerberos do Microsoft Entra ID.

Configurar o perfil do Microsoft Entra ID Cloud Kerberos

Use as configurações a seguir para configurar o perfil de MDM do Microsoft Entra ID Cloud Kerberos. Substitua todos os valores dos marcadores pelos valores corretos para seu locatário.

Chave de Configuração Valor recomendado Note
preferredKDCs kkdcp://login.microsoftonline.com/<tenantId>/kerberos Substitua <tenantId> pela sua ID de locatário do Microsoft Entra. Você pode encontrar esse valor na página Visão geral do centro de administração do Microsoft Entra.
PayloadOrganization Nome da sua organização
Hosts .windows.net e windows.net
Realm KERBEROS.MICROSOFTONLINE.COM Deve estar em letras maiúsculas.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>ExtensionData</key>
            <dict>
                <key>usePlatformSSOTGT</key>
                <true/>
                <key>performKerberosOnly</key>
                <true/>
                <key>preferredKDCs</key>
                <array>
                    <string>kkdcp://login.microsoftonline.com/<tenantId>/kerberos</string>
                </array>
            </dict>
            <key>ExtensionIdentifier</key>
            <string>com.apple.AppSSOKerberos.KerberosExtension</string>
            <key>Hosts</key>
            <array>
                <string>windows.net</string>
                <string>.windows.net</string>
            </array>
            <key>Realm</key>
            <string>KERBEROS.MICROSOFTONLINE.COM</string>
            <key>PayloadDisplayName</key>
            <string>Single Sign-On Extensions Payload for Microsoft Entra ID Cloud Kerberos</string>
            <key>PayloadIdentifier</key>
            <string>com.apple.extensiblesso.00aa00aa-bb11-cc22-dd33-44ee44ee44ee</string>
            <key>PayloadType</key>
            <string>com.apple.extensiblesso</string>
            <key>PayloadUUID</key>
            <string>00aa00aa-bb11-cc22-dd33-44ee44ee44ee</string>
            <key>TeamIdentifier</key>
            <string>apple</string>
            <key>Type</key>
            <string>Credential</string>
        </dict>
    </array>
    <key>PayloadDescription</key>
    <string></string>
    <key>PayloadDisplayName</key>
    <string>Kerberos SSO Extension for macOS for Microsoft Entra ID Cloud Kerberos</string>
    <key>PayloadEnabled</key>
    <true/>
    <key>PayloadIdentifier</key>
    <string>11bb11bb-cc22-dd33-ee44-55ff55ff55ff</string>
    <key>PayloadOrganization</key>
    <string>Contoso</string>
    <key>PayloadRemovalDisallowed</key>
    <true/>
    <key>PayloadScope</key>
    <string>System</string>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>11bb11bb-cc22-dd33-ee44-55ff55ff55ff</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
</dict>
</plist>

Salve essa configuração usando um editor de texto com a .mobileconfig extensão de arquivo (por exemplo, cloud-kerberos.mobileconfig) depois de atualizar os valores para seu ambiente.

Note

Quando você define a chave usePlatformSSOTGT como true, a extensão do Kerberos usa o TGT do SSO da plataforma com o mesmo domínio. Quando você define a performKerberosOnly chave como true, a extensão não executa verificações de expiração de senha, verificações de alteração de senha externa ou recupera o diretório base do usuário. Configure as duas chaves em quaisquer perfis de SSO do Kerberos que você implantar.

Configurar o perfil do Kerberos do Active Directory on-premises (opcional)

Se os usuários também precisarem de SSO Kerberos para recursos do Active Directory local, configure um perfil MDM separado para o domínio do AD local. Substitua todas as referências a contoso.com e à Contoso pelos valores corretos para seu ambiente.

Chave de Configuração Valor recomendado Note
Hosts .contoso.com e contoso.com Substitua pelo seu domínio local ou pelo nome da sua floresta local. Mantenha o caractere anterior . antes do nome de domínio.
Realm CONTOSO.COM Substitua pelo nome do realm no local. Deve estar em letras maiúsculas.
PayloadOrganization Nome da sua organização
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>ExtensionData</key>
            <dict>
                <key>allowPasswordChange</key>
                <true/>
                <key>allowPlatformSSOAuthFallback</key>
                <true/>
                <key>performKerberosOnly</key>
                <true/>
                <key>pwReqComplexity</key>
                <true/>
                <key>syncLocalPassword</key>
                <false/>
                <key>usePlatformSSOTGT</key>
                <true/>
            </dict>
            <key>ExtensionIdentifier</key>
            <string>com.apple.AppSSOKerberos.KerberosExtension</string>
            <key>Hosts</key>
            <array>
                <string>.contoso.com</string>
                <string>contoso.com</string>
            </array>
            <key>Realm</key>
            <string>CONTOSO.COM</string>
            <key>PayloadDisplayName</key>
            <string>Single Sign-On Extensions Payload for On-Premises</string>
            <key>PayloadIdentifier</key>
            <string>com.apple.extensiblesso.1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5</string>
            <key>PayloadType</key>
            <string>com.apple.extensiblesso</string>
            <key>PayloadUUID</key>
            <string>1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5</string>
            <key>TeamIdentifier</key>
            <string>apple</string>
            <key>Type</key>
            <string>Credential</string>
        </dict>
    </array>
    <key>PayloadDescription</key>
    <string></string>
    <key>PayloadDisplayName</key>
    <string>Kerberos SSO Extension for macOS for On-Premises</string>
    <key>PayloadEnabled</key>
    <true/>
    <key>PayloadIdentifier</key>
    <string>2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6</string>
    <key>PayloadOrganization</key>
    <string>Contoso</string>
    <key>PayloadRemovalDisallowed</key>
    <true/>
    <key>PayloadScope</key>
    <string>System</string>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
</dict>
</plist>

Salve essa configuração usando um editor de texto com a .mobileconfig extensão de arquivo (por exemplo, on-prem-kerberos.mobileconfig) depois de atualizar os valores para seu ambiente.

Implantar os perfis usando Microsoft Intune

Se você usar o Intune como sua solução de MDM, siga estas etapas para implantar cada perfil. Repita as etapas para cada .mobileconfig arquivo que você precisa implantar.

  1. Entre no Centro de administração do Microsoft Intune.
  2. Selecione Dispositivos>Configuração>Criar>Nova política.
  3. Insira as seguintes propriedades:
    • Plataforma: selecione macOS.
    • Tipo de perfil: selecione Modelos.
  4. Escolha o modelo Personalizado e selecione Criar.
  5. No Basics, insira um nome descritivo para a política, como macOS – Arquivos do Azure SSO do Kerberos na nuvem e uma descrição opcional. Selecione Próximo.
  6. Insira um nome na caixa Nome do perfil de configuração personalizada.
  7. Para Canal de implantação, selecione Canal do dispositivo.
  8. Selecione o ícone de pasta e carregue o .mobileconfig arquivo salvo e personalizado anteriormente.
  9. Selecione Próximo.
  10. Em marcas de escopo, atribua as marcas de escopo aplicáveis e selecione Avançar.
  11. Em Atribuições, selecione os usuários ou grupos de usuários que recebem o perfil. As políticas de SSO da plataforma são baseadas no usuário; não atribua a política a dispositivos.
  12. Selecione Avançar, examine suas configurações e, em seguida, selecione Criar.

As configurações são aplicadas na próxima vez que cada dispositivo verificar se há atualizações de configuração.

Atribuir permissões de nível de compartilhamento

Para cada Azure compartilhamento de arquivos, atribua permissões de nível de compartilhamento aos usuários ou grupos que precisam de acesso. Depois que as permissões no nível de compartilhamento estiverem definidas, as ACLs do Windows em arquivos e diretórios individuais controlam o acesso granular.

Para definir permissões de nível de compartilhamento, siga as instruções em Atribuir permissões de nível de compartilhamento a uma identidade.

Montar o compartilhamento de arquivos Azure no macOS

Depois de implantar os perfis de SSO do Kerberos e atualizar o registro do aplicativo, os usuários do macOS poderão montar o Azure compartilhamento de arquivos do Finder.

  1. Abra Finder.

  2. No menu Go , selecione Conectar ao Servidor ou pressione Command+K.

  3. No campo Endereço do Servidor , insira a URL SMB do compartilhamento de arquivos. Converta o caminho UNC do Windows em uma URL SMB substituindo \\ por smb:// e cada \ por /. Por exemplo:

    smb://<storageaccountname>.file.core.windows.net/<sharename>
    
  4. Selecione Conectar.

Se a configuração estiver correta, o compartilhamento será montado sem solicitar credenciais ao usuário.

Teste e verifique a autenticação do Kerberos

Depois de concluir a configuração, verifique se os tíquetes Kerberos estão sendo emitidos e se o acesso ao compartilhamento de arquivos funciona conforme o esperado.

Verificar emissão de tickets Kerberos

No cliente macOS, abra o Terminal e execute o seguinte comando:

app-sso platform -s

Confirme se a saída inclui um tíquete do Kerberos do realm do Microsoft Entra ID Cloud Kerberos, indicado por um valor de ticketKeyPathtgt_cloud. Se você também tiver implantado o perfil do AD Kerberos no local, um segundo tíquete com ticketKeyPath definido como tgt_ad também deverá estar presente.

Verifique se a porta 445 está aberta:

nc -vz exampleaccount.file.core.windows.net 445

Verificar o acesso ao compartilhamento de arquivos

Tente montar o compartilhamento de arquivos do Azure pelo Finder usando os passos da seção anterior. O compartilhamento deve ser montado sem solicitar credenciais interativas. Se um prompt de credencial for exibido, consulte a seção de solução de problemas.

Troubleshoot

Os usuários são solicitados a obter credenciais ao montar o compartilhamento de arquivos

Se os usuários forem solicitados a inserir credenciais ao se conectarem ao compartilhamento de arquivos Azure, verifique as seguintes condições:

  • O URI do identificador de registro do aplicativo é atualizado de CIFS/ para cifs/ (minúscula). Veja Atualizar o URI do identificador de registro do aplicativo e Verificar a atualização do URI do identificador.
  • O dispositivo macOS tem uma nuvem válida Kerberos TGT, confirmada pela execução app-sso platform -s no Terminal.
  • Os perfis de MDM do Kerberos SSO são aplicados ao dispositivo.
  • O consentimento do administrador é concedido ao registro do aplicativo Arquivos do Azure em Microsoft Entra ID.
  • O usuário tem permissões de nível de compartilhamento no compartilhamento de arquivos Azure.
  • A MFA está desabilitada para o aplicativo Microsoft Entra que representa a conta de armazenamento.

Erros de script

Erro Resolução
Nem AppId nem CsvFilePath foi especificado Especifique exatamente um desses parâmetros.
Arquivo CSV inválido Verifique se o arquivo existe, é codificado em UTF-8, tem um AppId cabeçalho de coluna e não contém entradas duplicadas.
Erros da API do Microsoft Graph Verifique se você tem a permissão Application.ReadWrite.All e a função Administrador de Aplicativos ou Administrador Global .
ID de registro de aplicativo inválida Confirme se a ID de registro do aplicativo existe em seu locatário e se está acessível. Limpe as credenciais armazenadas em cache usando Disconnect-MgGraph e autentique novamente, se necessário.

Problemas conhecidos

Menu extra da extensão Single Sign-On do Kerberos

Quando você implanta o suporte a SSO do Kerberos usando o SSO da plataforma, o item extra da barra de menus da extensão Kerberos SSO do macOS aparecerá na barra de menus. Os usuários não precisam interagir com a barra de menus extra para que o SSO do Kerberos funcione. A funcionalidade de SSO funciona corretamente mesmo que a barra de menus informe "Não conectado". Você pode instruir os usuários a ignorar a barra de menus extra.