Provedores de declarações personalizados para o People Picker (SharePoint Server 2010)
Aplica-se a: SharePoint Foundation 2010, SharePoint Server 2010
Tópico modificado em: 2016-11-30
Uma declaração consiste em informações sobre a identidade de um usuário, como nome, endereço de email ou associação a um grupo. Um provedor de declarações no Microsoft SharePoint Server 2010 emite declarações, que o SharePoint Server 2010 empacota em tokens de segurança para os usuários. Quando um usuário entra no SharePoint Server 2010, o token do usuário é validado e depois usado para entrar no SharePoint Server 2010. Provedores de declarações são exibidos na interface do usuário da caixa de diálogo Selecionar Pessoas e Grupos no controle People Picker. Eles fornecem a funcionalidade usada para localizar e selecionar usuários, grupos e declarações quando permissões são atribuídas a itens como listas, bibliotecas e sites no SharePoint Server 2010. Para obter informações sobre o controle People Picker, consulte Visão geral do People Picker (SharePoint Server 2010).
Este artigo descreve o uso e os benefícios de provedores de declarações, sua arquitetura, considerações especiais para provedores de declarações personalizados e como planejá-los. Ele não explica como criar ou configurar provedores de declarações personalizados. Para obter informações sobre como criar um provedor de declarações personalizado, consulte o artigo sobre instruções para declarações (https://go.microsoft.com/fwlink/?linkid=207578&clcid=0x416) e o artigo sobre criação de provedores de declarações personalizados no SharePoint 2010 (https://go.microsoft.com/fwlink/?linkid=211324&clcid=0x416).
Antes de ler este artigo, você deve compreender os conceitos descritos em Planejar métodos de autenticação (SharePoint Server 2010) e no artigo sobre a função das declarações (https://go.microsoft.com/fwlink/?linkid=208326&clcid=0x416). Para obter informações adicionais sobre a autenticação baseada em declarações, consulte o artigo sobre identidade baseada em declarações do SharePoint (https://go.microsoft.com/fwlink/?linkid=196647&clcid=0x416) e o guia de identidade baseada em declarações e controle de acesso (https://go.microsoft.com/fwlink/?linkid=187911&clcid=0x416).
Neste artigo:
Usos e benefícios
Arquitetura
Sobre provedores de declarações personalizados
Implantando e configurando provedores de declarações personalizados
Usando declarações personalizadas em mais de um farm
Considerações para provedores de declarações personalizados
Usos e benefícios
Um provedor de declarações no SharePoint Server 2010 é usado principalmente por duas razões:
Para aumentar declarações
Para fornecer resolução de nomes
Na função de aumento, um provedor de declarações aumenta um token de usuário com declarações adicionais durante a entrada. Para obter mais informações sobre o aumento de declarações, declarações consulte o artigo sobre provedor de declarações (https://go.microsoft.com/fwlink/?linkid=207579&clcid=0x416).
Na função da escolha, 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 People Picker, consulte Visão geral do People Picker (SharePoint Server 2010).
Você pode usar os provedores de declarações incluídos no SharePoint Server 2010 ou pode criar seus próprios provedores de declarações personalizados para fornecer declarações adicionais no token de segurança para um usuário ou se conectar a fontes de declarações adicionais. Por exemplo, se tiver um aplicativo do CRM que contenha funções não encontradas no repositório de usuários no Active Directory, você poderá criar um provedor de declarações personalizado para se conectar a esse banco de dados e adicionar dados de funções do CRM para o token de declarações originais 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 (https://go.microsoft.com/fwlink/?linkid=207579&clcid=0x416).
Arquitetura
Quando um aplicativo Web é configurado para usar a autenticação baseada em declarações, o SharePoint Server 2010 usa automaticamente dois provedores de declarações padrão:
A classe SPSystemClaimProvider (https://go.microsoft.com/fwlink/?linkid=210011&clcid=0x416) fornece informações sobre declarações relacionadas ao farm de servidores em que está instalado o SharePoint Server 2010.
A classe SPAllUserClaimProvider (https://go.microsoft.com/fwlink/?linkid=210012&clcid=0x416) fornece uma declaração Todos os Usuários que é exibida na caixa de diálogo Selecionar Pessoas e Grupos do People Picker.
Dependendo do método de autenticação selecionado para uma zona de um aplicativo Web, o SharePoint Server 2010 também usa um ou mais dos provedores de declarações padrão listados na tabela a seguir.
Método de autenticação | Provedor de declarações |
---|---|
Autenticação do Windows |
SPActiveDirectoryClaimProvider (https://go.microsoft.com/fwlink/?linkid=208325&clcid=0x416) |
Autenticação baseada em formulários |
SPFormsClaimProvider (https://go.microsoft.com/fwlink/?linkid=210013&clcid=0x416) |
Autenticação baseada em token SAML |
SPTrustedClaimProvider (https://go.microsoft.com/fwlink/?linkid=210014&clcid=0x416) |
Esses provedores de declarações são exibidos na caixa de diálogo Selecionar Pessoas e Grupos do People Picker. Você pode ver uma lista de provedores de declarações para um farm usando o cmdlet Get-SPClaimProvider do Windows 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 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 sua solução do SharePoint Server 2010 vai utilizar a autenticação baseada em token SAML, você deve planejar a criação de um provedor de declarações personalizado para implementar pesquisa personalizada e 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, assembly e tipo. Duas propriedades importantes da classe SPClaimProviderDefinition são IsEnabled e IsUsedByDefault. Essas propriedades determinam se um provedor de declarações registado 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, consulte o artigo sobre a classe SPClaimProviderDefinition (https://go.microsoft.com/fwlink/?linkid=207595&clcid=0x416).
Para obter mais informações sobre zonas e autenticação, consulte Planejar métodos de autenticação (SharePoint Server 2010).
Para obter informações sobre como escrever um provedor de declarações personalizado, consulte o artigo sobre criação de provedores de declarações personalizados no SharePoint 2010 (https://go.microsoft.com/fwlink/?linkid=211324&clcid=0x416) e o artigo sobre declarações passo a passo: escrevendo provedores de declarações para o SharePoint 2010 (https://go.microsoft.com/fwlink/?linkid=207589&clcid=0x416). Para obter informações sobre como substituir o provedor de declarações padrão, consulte o artigo sobre como substituir o provedor de resolução de nomes e declarações padrão para o SharePoint 2010 (https://go.microsoft.com/fwlink/?linkid=207591&clcid=0x416).
Sobre provedores de declarações personalizados
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 é possível alterar as informações que são fornecidas e a maneira como são exibidas quando você usa um provedor de declarações não incluído. Para fazer isso, você deve solicitar que um desenvolvedor crie 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.
Por exemplo, se seu aplicativo Web usar a autenticação SAML e você também quiser resolver usuários do Active Directory, será preciso criar um provedor de declarações personalizado. Para obter exemplos adicionais de cenários de uso de provedores de declarações, consulte o artigo sobre provedor de declarações (https://go.microsoft.com/fwlink/?linkid=207579&clcid=0x416).
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.
Observação
Você não pode controlar a ordem em que provedores de declarações são exibidos no caixa de diálogo Selecionar Pessoas e Grupos no People Picker.
Para obter informações sobre como escrever um provedor de declarações personalizado, consulte o artigo sobre como criar um provedor de declarações (https://go.microsoft.com/fwlink/?linkid=207588&clcid=0x416) e o artigo sobre declarações passo a passo: escrevendo provedores de declarações para o SharePoint 2010 (https://go.microsoft.com/fwlink/?linkid=207589&clcid=0x416). Para obter informações sobre como substituir o provedor de declarações padrão, consulte o artigo sobre como substituir o provedor de resolução de nomes e declarações padrão para o SharePoint 2010 (https://go.microsoft.com/fwlink/?linkid=207591&clcid=0x416).
Implantando e configurando provedores de declarações personalizados
Por padrão, quando você registra um provedor de declarações personalizado no farm, as propriedades IsEnabled e IsUsedByDefault são definidas como True. A menos que a propriedade IsUsedByDefault seja definida como False, o provedor de declarações personalizado é exibido na caixa de diálogo Selecionar Pessoas e Grupos no People Picker para todas as zonas. Dependendo do número de zonas necessárias para sua solução do SharePoint Server 2010 , dos métodos de autenticação usados por cada zona e dos usuários para cada zona, convém limitar as zonas em que o provedor de declarações personalizado é exibido no People Picker.
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, você deve garantir que a propriedade IsUsedByDefault seja definida como False e, depois, configurar a classe SPIisSettings para cada zona em que desejar usar o provedor de declarações personalizado. Para configurar um provedor de declarações personalizado para zonas selecionadas, você pode criar um script do Windows PowerShell que defina o provedor de declarações para uma zona usando a propriedade SPIisSettings.ClaimsProviders ou pode criar um aplicativo personalizado para habilitar um provedor de declarações personalizado para zonas selecionadas. Para obter informações sobre a propriedade SPIisSettings.ClaimsProvider, consulte o artigo sobre a propriedade SPIisSettings.ClaimsProvider (https://go.microsoft.com/fwlink/?linkid=207597&clcid=0x416). Para obter informações sobre como criar um aplicativo personalizado para configurar provedores de declarações para zonas selecionadas, consulte o post no blog do TechNet sobre configuração de um provedor de declarações personalizado para ser usado somente em zonas selecionadas no SharePoint 2010 (https://go.microsoft.com/fwlink/?linkid=207592&clcid=0x416).
Por exemplo, considere um cenário em que haja dois aplicativos Web: o primeiro aplicativo Web, PartnerWeb, tem duas zonas — uma intranet que usa a autenticação baseada em declarações do Windows e uma extranet que usa a autenticação baseada em formulários — e é usado para a colaboração entre 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 na Internet para funcionários, parceiros comerciais e parceiros clientes. Agora, suponha que para a zona da extranet no PartnerWeb, você queira que os funcionários possam colaborar com parceiros comerciais, mas não com parceiros clientes. Para isso, você escreve um provedor de declarações personalizado que determina se o usuário atual é um parceiro comercial ou um parceiro cliente, com base na identidade do usuário. Neste exemplo, os usuários da fabrikam.com são parceiros comerciais, enquanto os usuários da contoso.com são parceiros clientes. Quando um usuário que é um parceiro comercial é autenticado no aplicativo Web PartnerWeb, uma declaração de uma função chamada BusinessPartner é adicionada ao token da declaração; quando um parceiro cliente é autenticado, uma declaração de 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. Finalmente, para habilitar essa funcionalidade na zona da extranet, você pode configurar a classe SPIisSettings para essa zona para usar o provedor de declarações personalizado. O diagrama a seguir ilustra os métodos de autenticação e configurações de provedor de declarações para cada zona e aplicativo Web.
Observação
No site da Administração Central, todos os provedores de declarações são exibidos na caixa de diálogo Selecionar Pessoas e Grupos do People Picker, independentemente de a propriedade IsUsedByDefault ser definida como True ou não.
Você pode definir a propriedade IsUsedByDefault configurando-a em um receptor de recursos que você cria para seu provedor de declarações personalizado. Para obter informações sobre como usar um receptor de recursos para implantar um provedor de declarações personalizado, consulte o artigo sobre exemplo de um receptor de recursos para implantar um provedor de declarações (https://go.microsoft.com/fwlink/?linkid=207590&clcid=0x416).
Você também pode substituir as configurações das propriedades IsEnabled e IsUsedByDefault usando o cmdlet Set-SPClaimProvider do Windows PowerShell.
Importante
A alteração da propriedade IsEnabled para False desabilitará o provedor de declarações para o farm de servidores inteiro. Isso pode ser útil se você precisar solucionar problemas que possam ser causados por um provedor de declarações personalizado. No entanto, 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 fazer backup de um farm, consulte Fazer backup de um farm (SharePoint Server 2010).
Use o backup do primeiro farm para restaurar os outros farms. Para obter informações sobre como restaurar um farm, consulte Restaurar um farm (SharePoint Server 2010).
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 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?
Que dados de declarações você deseja resolver na caixa de diálogo Selecionar Pessoas e Grupos?
A equipe de Publicação de Conteúdo do SharePoint Server 2010 deseja agradecer a Steve Peschka pela contribuição neste artigo. Visite seu blog aqui (https://go.microsoft.com/fwlink/?linkid=210274&clcid=0x416).