Planear fornecedores de afirmações personalizadas para o Selecionador de Pessoas no SharePoint
APLICA-SE A:2013 2016 2019 Subscription Edition SharePoint no Microsoft 365
Pode utilizar os fornecedores de afirmações incluídos no SharePoint Server ou pode criar os seus próprios fornecedores de afirmações personalizadas para ligar a origens adicionais de afirmações e fornecer afirmações adicionais no token de segurança para um utilizador. Por exemplo, se tiver um aplicativo de gerenciamento de relação com o cliente (CRM) que contenha funções não encontradas no repositório de usuários nos Serviços de Domínio do Active Directory (AD DS), você poderá criar um provedor de declarações personalizado para se conectar a esse banco de dados de CRM e adicionar dados de funções de CRM ao token de segurança original de um usuário . Para obter mais informações sobre cenários de uso de provedores de declarações, consulte o artigo sobre Provedor de declarações.
Um fornecedor de afirmações no SharePoint Server é utilizado para aumentar afirmações e fornecer resolução de nomes. Na função de aumento de declarações, um provedor de declarações aumenta um token de segurança do usuário com declarações adicionais durante a entrada. Para obter mais informações sobre o aumento de declarações, consulte Provedor de declarações. Na função resolução do nome, um provedor de declarações lista, resolve, pesquisa e determina a exibição "amigável" de usuários, grupos e declarações no People Picker. A escolha de declarações permite que um aplicativo revele declarações no People Picker, por exemplo, ao configurar a segurança de um site ou serviço do SharePoint. Para obter mais informações sobre o Selecionador de Pessoas, consulte Planear o Selecionador de Pessoas no SharePoint.
Por padrão, as informações que são resolvidas no People Picker quando uma consulta é executada dependem das informações fornecidas pelo provedor de declarações. Não pode alterar as informações fornecidas e a forma como são apresentadas quando utiliza um fornecedor de afirmações inicial. Para fazer isso, você deve criar um provedor de declarações personalizado que atenda às necessidades de sua solução para localizar e selecionar usuários, grupos e declarações quando um usuário atribuir permissões a itens como um site, uma lista ou uma biblioteca.
Ao criar um provedor de declarações personalizado, você pode controlar as informações que são exibidas e os resultados que são retornados em resposta a uma consulta do controle People Picker. Por padrão, você configura o aplicativo Web para usar a autenticação de declarações e, em seguida, registra o provedor de declarações no servidor.
Antes de ler este artigo, deve compreender os conceitos descritos em Planear métodos de autenticação de utilizadores no SharePoint Server e Na Função das Afirmações. Para obter informações adicionais sobre a autenticação baseada em declarações, consulte Identidade baseada em declarações do SharePoint e Um guia de identidade baseada em declarações e controle de acesso.
Arquitetura
Quando uma aplicação Web é configurada para utilizar a autenticação baseada em afirmações, o SharePoint Server utiliza automaticamente dois fornecedores de afirmações predefinidos:
A classe SPSystemClaimProvider fornece informações de afirmações relacionadas com o farm de servidores onde o SharePoint Server está instalado.
A classe SPAllUserClaimProvider fornece uma afirmação Todos os Utilizadores.
Consoante o método de autenticação selecionado para uma zona de uma aplicação Web, o SharePoint Server também utiliza um ou mais dos fornecedores de afirmações predefinidos listados na Tabela 1.
Tabela 1. Métodos de autenticação e provedores de declarações padrão
Método de autenticação | Provedor de declarações |
---|---|
autenticação |
SPActiveDirectoryClaimProvider |
Autenticação baseada em formulários |
SPFormsClaimProvider |
Autenticação baseada em token SAML |
SPTrustedClaimProvider |
Pode ver uma lista de fornecedores de afirmações para um farm com o cmdlet Get-SPClaimProvider do Microsoft PowerShell.
Observação
Quando um aplicativo Web está configurado para usar à autenticação baseada em token SAML, a classe SPTrustedClaimProvider não fornece funcionalidade de pesquisa para o controle da Web do People Picker. Qualquer texto digitado no controle People Picker é automaticamente exibido como se tivesse sido resolvido, independentemente de se tratar de um usuário, grupo ou declaração válido. Se a sua solução do SharePoint Server utilizar a autenticação baseada em tokens SAML, deve planear criar um fornecedor de afirmações personalizado para implementar a pesquisa personalizada e a resolução de nomes.
Provedores de declarações são registrados em um farm de servidores recursos que são implantados no farm. Eles são delimitados no nível de farm. Cada objeto de provedor de declarações usa a classe SPClaimProviderDefinition para incluir informações sobre o provedor de declarações, como nome para exibição, descrição, montagem e tipo. Duas propriedades importantes da classe SPClaimProviderDefinition são IsEnabled e IsUsedByDefault. Essas propriedades determinam se um provedor de declarações registrado está habilitado para uso no farm e se o provedor de declarações é usado por padrão em uma zona específica. Por padrão, todos os provedores de declarações são habilitados ao serem implantados em um farm de servidores. Para obter informações sobre a classe SPClaimProviderDefinition, veja SPClaimProviderDefinition .
Para obter mais informações sobre as zonas e autenticação, consulte Plano para métodos de autenticação do usuário no SharePoint Server.
Exemplo de configuração do provedor de declarações personalizado
Por padrão, quando você registra um provedor de declarações personalizado no farm, as propriedades IsEnabled e IsUsedByDefault são definidas como True. Dependendo do número de zonas necessárias para a sua solução do SharePoint Server, dos métodos de autenticação utilizados por cada zona e dos utilizadores para cada zona, poderá querer limitar as zonas em que o seu fornecedor de afirmações personalizadas é apresentado no Selecionador de Pessoas.
Como provedores de declarações são delimitados no nível de farm e habilitados no nível de zona, você deve planejar cuidadosamente as zonas em que deseja que o provedor de declarações personalizado seja exibido. Em geral, deve certificar-se de que a propriedade IsUsedByDefault está definida como Falso e, em seguida, configurar a classe SPIisSettings para cada zona na qual pretende utilizar o fornecedor de afirmações personalizadas. Para configurar um fornecedor de afirmações personalizadas para zonas selecionadas, pode criar um script do PowerShell que define o fornecedor de afirmações para uma zona com a propriedade ClaimsProviders() ou pode criar uma aplicação personalizada para permitir que ative um fornecedor de afirmações personalizadas para zonas selecionadas.
Por exemplo, considere um cenário no qual há dois aplicativos Web:
O primeiro aplicativo Web, PartnerWeb, tem duas zonas — uma intranet que utiliza autenticação baseada em declarações do Windows e uma extranet que utiliza autenticação baseada em formulários — e é usado para a colaboração entre os funcionários e parceiros.
O segundo aplicativo Web, PublishingWeb, tem apenas uma zona que usa a autenticação baseada em formulários e é um site de publicação da internet para os funcionários, parceiros de negócios, clientes e parceiros.
Agora, suponha que para a zona da extranet no PartnerWeb, você quer que os funcionários possam colaborar com os parceiros de negócios, mas não com os parceiros do cliente. Para fazer isso, você grava um provedor de declarações personalizado que determina se o usuário atual é um parceiros de negócios ou parceiro do cliente, com base na identidade do usuário. Neste exemplo, os usuários da fabrikam.com são parceiros de negócios, mas os usuários da contoso.com são parceiros do cliente. Quando um usuário que é um parceiro de negócios é autenticado no aplicativo Web PartnerWeb, uma declaração para uma função chamada BusinessPartner é adicionada ao token da declaração. Quando um parceiro do cliente é autenticado, uma declaração para uma função chamada CustomerPartner é adicionada ao token da declaração.
Para garantir que parceiros clientes nunca sejam adicionados ao site de colaboração da extranet, você adiciona uma política de aplicativo Web ao aplicativo Web PartnerWeb para a zona da extranet que explicitamente nega acesso a qualquer usuário que tenha uma declaração para uma função chamada CustomerPartner. O provedor de declarações personalizado também precisa implementar suporte à pesquisa e à entrada para a política de aplicativo Web para resolver a declaração de função CustomerPartner, de modo que ela possa ser adicionada à política de aplicativo Web. Por fim, para ativar esta funcionalidade na zona extranet, configure a classe SPIisSettings para que essa zona utilize o fornecedor de afirmações personalizadas. O diagrama a seguir exibe os métodos de autenticação e configurações de provedor de declarações para cada zona e aplicativo Web.
Figura 1. Exemplo dos métodos de autenticação e configurações do provedor declarações para aplicativos Web e zonas
Você pode definir a propriedade IsUsedByDefault configurando-a em um receptor de recursos que você cria para seu provedor de declarações personalizado.
Também pode substituir as definições das propriedades IsEnabled e IsUsedByDefault com o cmdlet Do PowerShell Set-SPClaimProvider .
Importante
A alteração da propriedade IsEnabled para False desabilitará o provedor de declarações para o farm de servidores. Isso pode ser útil se você precisar solucionar problemas que possam ser causados por um provedor de declarações personalizado. Em geral, a propriedade IsEnabled deve ser definida como True.
Usando declarações personalizadas em mais de um farm
Valores de declaração são uma combinação da declaração propriamente dita, do nome do provedor da declarações e da ordem em que o provedor de declarações foi instalado no servidor. Portanto, para usar uma declaração em vários farms ou ambientes, você deve instalar os provedores de declarações na mesma ordem em cada farm em que deseja usar a declaração. Use as etapas a seguir quando tiver instalado um provedor de declarações personalizado em um farm e desejar usar a mesma declaração em farms adicionais:
Registre os provedores de declarações nos farms adicionais na mesma ordem em que foram registrados no primeiro farm.
Faça backup do primeiro farm. Para obter informações sobre como criar cópias de segurança de um farm, consulte Criar cópias de segurança de farms no SharePoint Server.
Use o backup do primeiro farm para restaurar os outros farms. Para obter informações sobre como restaurar um farm, veja Restaurar farms no SharePoint Server.
Planejando as considerações para provedores de declarações personalizados
Ao planejar provedores de declarações personalizados para uso com o People Picker em sua solução do SharePoint, considere as seguintes questões:
Que zonas seu aplicativo Web possui, e que métodos de autenticação são utilizados em cada zona?
Existem declarações personalizadas que devem ser adicionadas aos usuários para permitir permissões ou cenários de segurança mais avançados?
Você usará a autenticação SAML com um provedor de identidade confiável?
Qual será a fonte dos valores para os usuários e funções que serão exibidos nos resultados de consulta do People Picker?
A equipa de Publicação de Conteúdos do SharePoint Server quer agradecer a Steve Peschka por ter contribuído para este artigo. Veja o blogue TechNet share-n-dipity de Steve Peschka.
Confira também
Conceitos
Seletor de pessoas e a visão geral de provedores de declarações
Plano para métodos de autenticação do usuário no SharePoint Server