Partilhar via


Configurar a autenticação OIDC no SharePoint Server com chaves públicas RSA

APLICA-SE A:no-img-132013 no-img-162016 no-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint no Microsoft 365

O OIDC é um protocolo de autenticação que utiliza JSON Web Tokens (JWTs) para verificar a identidade dos utilizadores e conceder-lhes acesso a recursos protegidos. Os JWTs são assinados digitalmente com chaves simétricas (partilhadas entre o emissor e o consumidor) ou chaves assimétricas (pares de chaves públicas/privadas).

Atualmente, o SharePoint Server suporta o fluxo de autenticação OIDC com chaves x5c, que são certificados que contêm a chave pública e outros metadados. No entanto, alguns fornecedores de OIDC podem não utilizar chaves x5c, mas sim chaves públicas RSA que são representadas diretamente com o módulo RSA e o expoente público RSA. Para suportar estes fornecedores, o SharePoint Server adicionou a capacidade de analisar e validar chaves públicas RSA em JWTs.

Este artigo explica as novas melhorias da Versão 24H2 que o ajudarão a configurar a autenticação OIDC no SharePoint Server com chaves públicas RSA.

Descrição geral da configuração do OIDC com chaves públicas RSA

  1. Configure o OIDC com Microsoft Entra ID através de credenciais de Administrador Global ao efetuar os passos mencionados aqui.
  2. Modifique as propriedades do farm do SharePoint Server com base na versão do farm do SharePoint Server. Para obter mais informações, veja Alterar as propriedades do farm do SharePoint.
  3. Configure o SharePoint para confiar no fornecedor de identidade ao criar SPTrustedIdentityTokenIssuer com chaves públicas RSA com os passos mencionados neste artigo.
  4. Configure uma aplicação Web no SharePoint para ser federada com o Microsoft Entra OIDC, utilizando o SPTrustedIdentityTokenIssuer criado no passo anterior. Para obter mais informações, veja Criar uma nova aplicação Web.
  5. Certifique-se de que a aplicação Web está configurada com o certificado SSL. Para configurar a aplicação Web, execute os passos para definir o certificado.
  6. Crie uma coleção de sites de equipa como administrador do Windows e administrador federado (Microsoft Entra ID). Para obter mais informações, consulte Criar a coleção de sites.
  7. Configure um Seletor de Pessoas com um Fornecedor de Afirmações Personalizadas ou o novo fornecedor de afirmações suportado pela UPA incluído no Edição de Assinatura do SharePoint Server. Consulte Configurar Pessoas Picker.

Passo 3: Configurar o SharePoint para confiar no fornecedor de identidade com chaves públicas RSA

Para chaves públicas RSA, crie ou configure uma SPTrustedTokenIssuer para armazenar a configuração em que o SharePoint precisa de confiar como fornecedor OIDC. Pode configurar o SharePoint para confiar no fornecedor de identidade manualmente ou através do ponto final de metadados.

Configurar o OIDC do SharePoint com chaves públicas RSA com o ponto final de metadados

Um administrador pode seguir o mesmo comando do PowerShell que é utilizado para chaves x5c ao utilizar um ponto final de metadados para chaves públicas RSA. O SharePoint descobre que tipo de chave é utilizada a partir da resposta do ponto final de metadados e cria o SPTrustedIdentityTokenIssuer adequado. Para obter mais informações, veja configurar o SharePoint para confiar Microsoft Entra ID ao utilizar um ponto final de metadados para obter um exemplo.

Configurar o OIDC do SharePoint com chaves públicas RSA manualmente

Ao criar ou configurar manualmente o SPTrustedIdentityTokenIssuer para chaves públicas RSA, tem de especificar um novo -PublicKey parâmetro durante a execução dos New-SPTrustedIdentityTokenIssuer cmdlets ou Set-SPTrustedIdentityTokenIssuer para definir o módulo e o expoente da chave pública RSA.

New-SPTrustedIdentityTokenIssuer

Pode executar o seguinte cmdlet do PowerShell com o -PublicKey parâmetro :

New-SPTrustedIdentityTokenIssuer -Name "RSA-Manual" -Description "RSA Manually Created" -PublicKey $publicKeyXML -ClaimsMappings $emailClaimMap -IdentifierClaim $emailClaimMap.InputClaimType -DefaultClientIdentifier $clientIdentifier -RegisteredIssuerName $registeredissuernameurl -AuthorizationEndPointUri $authendpointurl -SignOutUrl $signouturl -Scope "openid profile" 

O New-SPTrustedIdentityTokenIssuer cmdlet do PowerShell utiliza os seguintes parâmetros:

Parâmetro Descrição
Nome Dá um nome ao novo emissor de tokens.
Descrição Fornece uma descrição para o novo emissor de tokens.
Chave Pública Especifica que o valor deve ser uma cadeia XML que define o módulo e o expoente da chave pública RSA
Exemplo de $publicKeyXML valor:

<RSAKeyValue><Modulus>modulus</Modulus><Exponent>exponent</Exponent></RSAKeyValue>

ClaimsMappings Um SPClaimTypeMapping objeto, que é utilizado para identificar que afirmação no id_token é considerado identificador no SharePoint.
IdentifierClaim Especifica o tipo de identificador.
DefaultClientIdentifier Especifica o client_id do servidor do SharePoint, que é atribuído pelo fornecedor de identidade OIDC. Isto é validado relativamente à afirmação aud no id_token.
RegisteredIssuerName Especifica o identificador do emissor, que emite o id_token. É utilizado para validar o id_token.
AuthorizationEndPointUrl Especifica o ponto final de autorização do fornecedor de identidade OIDC.
SignoutUrl Especifica o ponto final de fim de sessão do fornecedor de identidade OIDC.

Para extrair o valor correto $publicKeyXML de um certificado x509, pode executar o seguinte comando do PowerShell:

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 

$cert.Import("c:\certs\YourSigningCertificateHere.cer") 

$publicKeyXml = $cert.PublicKey.Key.ToXmlString($false) 

Set-SPTrustedIdentityTokenIssuer

O Set-SPTrustedIdentityTokenIssuer cmdlet suporta o novo -PublicKey parâmetro para chaves públicas RSA e utiliza a mesma <RSAKeyValue><Modulus>modulus</Modulus><Exponent>exponent</Exponent></RSAKeyValue> cadeia XML que New-SPTrustedIdentityTokenIssuer utiliza. Exemplo:

Set-SPTrustedIdentityTokenIssuer -Identity "RSA-Manual" -PublicKey $publicKeyXml -IsOpenIDConnect 

Melhorias na configuração do OIDC

Com a Versão 24H2, os administradores podem esperar as seguintes melhorias ao configurar o SharePoint Server para confiar no fornecedor de identidade.

Permitir a configuração de vários identificadores de cliente no OIDC

A configuração de vários identificadores de cliente é agora permitida através do comutador -ScopedClientIdentifier num OIDC SPTrustedIdentityTokenIssuer. Execute o seguinte comando:

Set-SPTrustedIdentityTokenIssuer -Identity <name> -ScopedClientIdentifier Dictionary<Uri,string> -IsOpenIDConnect 

Ativar a capacidade de edição ClaimsMappings no Set-SPTrustedIdentityTokenIssuer

Em versões anteriores do SharePoint Server, ao criar SPTrustedIdentityTokenIssuero , tem de fornecer a lista de mapeamentos de afirmações, que é utilizada para mapear a afirmação do token de IdP para o token emitido do SharePoint. Depois de SPTrustedIdentityTokenIssuer criado, só pode remover o mapeamento de afirmações existente ou adicionar o mapeamento de afirmações removido de volta, que é idêntico ao que removeu. No entanto, não pode adicionar um novo mapeamento de afirmações, que não está originalmente na lista ou alterar um mapeamento de afirmações existente. 

A nova atualização da compilação versão 24H2 permite que os utilizadores adicionem um novo parâmetro para Set-SPTrustedIdentityTokenIssuer que possam alterar a lista de mapeamentos de afirmações. Com este novo parâmetro seguinte, pode até modificar a lista de mapeamentos de afirmações do emissor de tokens.

Novo parâmetro: -ClaimsMappings <SPClaimMappingPipeBind[]>

Suportar IdPs OIDC que não podem funcionar com carateres universais no URL de redirecionamento

Alguns IdPs OIDC, como o Azure Active Directory B2C, não conseguem trabalhar com carateres universais no URL de redirecionamento. Isto faz com que o SharePoint não consiga redirecionar novamente para o recurso original que está a ser pedido após a autenticação. Nesta versão, adicionámos uma propriedade de estado no cabeçalho da resposta para preservar o URL de redirecionamento para que o SharePoint possa saber para que URL redirecionar. 

Pode utilizar o seguinte cmdlet do PowerShell para o ativar no token que criou:

Set-SPTrustedIdentityTokenIssuer -Identity <name> -UseStateToRedirect:$True -IsOpenIDConnect

Atualizar certificado por tarefa de temporizador

É criada uma nova tarefa de temporizador (RefreshMetadataFeed) para obter automaticamente as definições de configuração mais recentes do ponto final de metadados OIDC configurado diariamente e atualizar o emissor de tokens fidedignos OIDC em conformidade. Inclui os certificados utilizados para encriptação e assinatura de tokens, emissor de tokens, ponto final de autorização e SignoutUrl. Pode alterar a frequência de atualização ao alterar o agendamento da tarefa de temporizador. Por exemplo, pode alterar a agenda da tarefa de temporizador para "5:00 todos os sábados" com o PowerShell:

Get-SPTimerJob refreshmetadafeed | Set-SPTimerJob -Schedule "weekly at sat 5:00" 

Esta tarefa de temporizador é ativada quando configura um emissor de tokens fidedignos OIDC com o ponto final de metadados. Se tiver uma configuração do emissor de tokens fidedignos OIDC antes de aplicar esta atualização, terá de repor este emissor de tokens novamente para que a tarefa de temporizador possa ser ativada para este emissor de tokens. Pode repor o emissor de tokens com o PowerShell

Set-SPTrustedIdentityTokenIssuer -Identity <OIDCtokenissuer> -MetadataEndPoint <URL>