Autorização, usuários, grupos e o modelo de objeto no SharePoint
No SharePoint, o acesso a sites, listas, pastas e itens de lista é controlado por meio de um sistema de associação baseado em funções pelo qual os usuários são atribuídos a funções que autorizam seu acesso a objetos do SharePoint.
Para conceder acesso a um usuário a um objeto, você pode adicionar o usuário a um grupo que já tenha permissões para o objeto ou você pode criar um objeto de atribuição de função, definir o usuário para a atribuição de função, opcionalmente vincular a atribuição de função para a definição da função apropriada com base permissões e, em seguida, adicione a atribuição à coleção de atribuições de função para o item de lista , site, lista ou pasta. Se você não vincula a atribuição de função para uma definição de função ao atribuir um usuário a uma função, o usuário tem permissão. Confira a seguir maneiras fornecidas pelo SharePoint para controlar o acesso a seus objetos:
Objetos podem usar as mesmas permissões como o site pai, lista ou pasta (herdando as funções e a usuários disponíveis no objeto pai), ou eles podem usar permissões exclusivas.
Sites, listas, pastas e itens cada fornecem as coleções de atribuição de função, habilitando o gerenciamento de problema de acesso do usuário aos objetos.
Grupos consistem em usuários e podem ou não podem ser atribuídos às funções. O SharePoint inclui os três grupos a seguir por padrão:
owners (administrador)
members (colaborador)
visitors (leitor)
Quando você cria um site com permissões exclusivas por meio da interface do usuário, você será direcionado para uma página onde você pode atribuir usuários a esses grupos como parte do provisionamento do site.
Acesso anônimo permite aos usuários para contribuir anônimo para listas e pesquisas ou exibir páginas de forma anônima. Você também pode conceder acesso a "todos os usuários autenticados" para permitir que todos os membros de seu domínio acessar um site sem precisar habilitar acesso anônimo.
Os direitos de criação de sites (CreateSSCSite e ManageSubwebs) controlam se os usuários podem criar sites, subsites ou áreas de trabalho de nível superior.
Os usuários se tornar membros de um objeto do SharePoint indiretamente por meio de um grupo que tenha uma atribuição de função ou diretamente por meio de uma atribuição de função. Os usuários também podem ser membros de um grupo de domínio do Microsoft Windows NT que é adicionado a um grupo ou a uma função. Uma definição de função associa um usuário ou grupo a um único direito ou conjunto de direitos correspondentes aos valores da enumeração Microsoft.SharePoint.SPBasePermissions . Cada usuário ou grupo tem uma ID de membro exclusiva. Você pode usar o modelo de objeto para criar ou modificar atribuições e definições de função de maneira diferente da obtida pela funcionalidade do arquivo addrole.aspx e do arquivo editrole.aspx. Ao contrário essas páginas, que são apresentadas na interface do usuário, o modelo de objeto não impor a dependência de direitos, para que você possa criar uma definição de função com uma combinação arbitrária de direitos. Porém, planeje com cuidado ao usar o modelo de objeto para personalizar definições e permissões de função, pois uma definição de função mal planejada e direitos atribuídos inadequadamente podem levar a uma experiência de usuário ruim. Para obter mais informações sobre os direitos do SharePoint, consulte SPBasePermissions.
Política de segurança
Uma política de segurança fornece uma maneira para impor a segurança uniforme ao longo de todos os conjuntos de sites em um aplicativo web (servidor virtual). Por meio da política, você pode atribuir uma função, ou um conjunto de direitos, a usuários individuais do SharePoint e a grupos de domínio usando os sistemas de autenticação conectável ou de autenticação do Windows, mas não aos grupos do SharePoint. Cada entrada de política especifica os direitos de um usuário ou grupo no aplicativo web.
Política é definida no nível do aplicativo web lógica ou no nível de zona. Um usuário pode ter, por exemplo, políticas diferentes sobre http://Server
e http://Server.extranet.microsoft.com
, mesmo que os dois aplicativos Web tenham o mesmo conteúdo.
Direitos podem ser concedidos ou negados pela diretiva. Conceder um direito concede esse direito para o usuário ou grupo em todos os objetos protegidos no aplicativo web, independentemente das permissões locais no objeto. A negação de um direito recebe uma prioridade maior que concedendo a direita, ativamente o bloqueio certo para o usuário ou grupo em todos os objetos protegidos no aplicativo web. Negar tudo para um usuário impede que esse usuário acesse qualquer conteúdo, mesmo se o usuário tem permissões explícitas no conteúdo específico: diretiva substitui as permissões de nível de site.
Nas funções da diretiva, os usuários e grupos são identificados pelo SID (identificador de segurança) e pelo logon ou nome de usuário. A aplicação de uma função da diretiva é semelhante ao gerenciamento de permissões para um site, lista, pasta ou documento: adicionar usuários ou grupos e atribuí-las a uma ou mais definições de função. Cada aplicativo web tem seus próprio funções de política. Outra diferença entre funções de política e o gerenciamento de permissões é administradores centrais podem recusar o direito de um usuário ao longo de um aplicativo web.
Observação
Funções de política da Administração Central diferem das definições de função para um conjunto de sites.
Usuários, grupos e entidades
Um usuário individual ( SPUser ) obtiver acesso a um objeto do SharePoint diretamente por meio de uma atribuição de função individuais ou indiretamente por meio de participação em um grupo de domínio ou um grupo do SharePoint ( SPGroup ) que tem uma atribuição de função. Em uma atribuição de função diretas, o usuário é o principal ( SPPrincipal ). Em um grupo de domínio ou a atribuição de função de grupo do SharePoint, o grupo de domínio ou grupo do SharePoint é o principal.
O SharePoint Server dá suporte a usuários do Windows (por exemplo, DOMÍNIO\ User_Alias) e usuários externos (por meio de autenticação plugável). A identidade do usuário é mantida pelo sistema de gerenciamento de identidade (por exemplo, o serviço de diretório do Active Directory). O perfil de usuário (que inclui o nome para exibição do usuário, endereço de email e outras informações) é o escopo no nível do conjunto de sites. Alterar um nome de exibição afeta o conjunto de sites inteiro.
Um grupo é uma coleção de usuários através do qual SharePoint Server gerencia a segurança. Gerenciamento baseado em usuário é direto para sites simples, mas se torna mais complexo, à medida que cresce o número de recursos protegidos exclusivamente. Por exemplo, um usuário pode ter a função de Contribute para lista 1, a função Read para lista 2 e a função Design para lista 3. Este modelo não se adapta bem, se houver, por exemplo, 50.000 usuários que possam resultar em listas de controle de acesso (ACLs) sendo 50.000 entradas de controle de acesso (ACEs) longos em cada objeto protegido exclusivamente.
Os grupos fornecem uma resposta para os problemas de escala e gerenciabilidade do gerenciamento de permissões baseadas em usuário. Gerenciamento baseadas em grupo pode ser mais abstrato ou mais difícil conceitualizar, mas ele permite o gerenciamento mais fácil de sites complexos com muitos objetos protegidos exclusivamente. Por exemplo, adicionando quando um usuário a um grupo que já recebeu a função adequada em vários objetos no sistema. As verificação de permissões para grupos escalas melhor porque muito menos ACEs de grupo precisam ser armazenados.
SharePoint Server suporta dois tipos de grupos: grupos do domínio e do SharePoint. Grupos de domínio permanecem fora SharePoint Server controle; os usuários não podem usar SharePoint Server para definir, procure ou modificar a associação ao grupo de domínio. Grupos do SharePoint são com escopo no nível do conjunto de sites, e eles podem ser usados somente dentro do conjunto de sites. Grupos de domínio podem ser usados em qualquer lugar dentro do escopo de serviço de diretório do Active Directory.
Uma entidade de segurança é um usuário ou grupo que é usado para controlar a segurança. Se você adicionar um usuário a um site, o usuário é o principal, mas se você adicionar um grupo para o site, o grupo é o principal. A tecla a segurança de dimensionamento no SharePoint Server é manter o número de entidades por escopo razoável. Ao usar grupos, um número menor de entidades pode ser usado para conceder acesso a um número maior de usuários.
Visualização de alto nível das relações entre objetos – escopos, usuários, grupos e funções
A Figura 1 mostra um modo de exibição de alto nível do sistema de gerenciamento de segurança SharePoint Server em um diagrama de banco de dados lógico. Cada caixa representa um objeto de segurança no sistema. As linhas representam as relações entre os objetos. A 1 e N notação representa o tipo de relacionamento. A figura mostra como os dados de permissões estão estruturados em um token de usuário e uma ACL.
Figura 1. Authorization object relations
Um escopo representa um objeto exclusivamente protegido ou um conjunto de objetos. Você pode definir o escopo para o site, lista, pasta ou nível de item.
Usuários e grupos têm uma relação de muitos-para-muitos (N para N). Cada usuário ( SPUser ) pode ser um membro de vários grupos, e cada grupo ( SPGroup ) pode conter vários usuários.
Definições de funções e direitos também possuem uma relação de muitos-para-muitos (N para N). Cada direito ( SPBasePermissions ) pode ser parte de várias definições de função. Por exemplo, o direito de Insert List Items está incluído nas definições de função Contributor, Designere Administrator. Cada definição de função ( SPRoleDefinition ) também pode conter vários direitos. Por exemplo, Contributor inclui os direitos para inserir, atualizar e excluir itens de lista.
Definições de função e atribuições de função ( SPRoleAssignment ) têm uma relação um-para-muitos (1 a N). Cada definição de função é usada em várias atribuições de função. Os leitores na lista 1 e os leitores na lista 2 podem ser diferentes, mas suas atribuições de função podem compartilhar uma definição de função única: Reader.
Usuários ou grupos e atribuições de função têm uma relação de muitos-para-muitos (N para N). Cada usuário ou grupo pode ser um membro de várias atribuições de função em um determinado objeto. Por exemplo, um usuário pode ter a função Designer e a função de Administrator no mesmo objeto.
Atribuições de função e escopos tem uma relação um-para-muitos (1 a N). Cada escopo tem várias atribuições de função, mas cada atribuição de função tem apenas um escopo. Por exemplo, um usuário pode ser leitor na lista de eventos e outro usuário pode ser um colaborador em lista de eventos, mas nenhuma dessas atribuições de função se aplica à lista de comunicados. A única maneira de duas listas compartilhem a mesma atribuição de função é herdando suas permissões do contêiner pai, caso o escopo de segurança em que é o contêiner, e não as duas listas.
Tokens de usuário e listas de controle de acesso
Para acelerar a verificação de permissões, SharePoint Server implementa tokens de usuário e as ACLs em seu modelo de segurança. O token de usuário identifica o processo de autenticação aplicado a um usuário. Um usuário do Windows tem um token complexo: uma cadeia de caracteres exclusiva para o usuário (SID) e uma lista de todos os grupos de domínio do Windows para o usuário (por exemplo, DOMAIN\Department 15688). Um usuário que não tem a autenticação do Windows pode ter um token muito simple com uma cadeia de caracteres exclusiva para o nome de usuário, ou um token complexo com associação à função/grupo apenas expresso em autenticação do Windows. A associação de grupo do SharePoint para cada usuário é expressa por meio de um token de usuário para que, lendo o token do usuário, SharePoint Server identifica todos os grupos do usuário atual.
Uma ACL é um objeto binário que determina os direitos que os usuários e grupos têm em um determinado objeto. Uma ACL consiste em vários ACEs, cada entidade de segurança (usuário ou grupo) que está sendo uma ACE na ACL. Direitos, definições de função e atribuições de função são estruturadas em uma ACL de cada escopo, para que SharePoint Server reconheça que cada usuário ou grupo tem permissão para fazer dentro do escopo determinado.
Alterações no modelo de objeto: objetos de segurança obsoletos, mas compatíveis com versões anteriores
No SharePoint, todos os escopos de objeto compartilham a mesma experiência básica de gerenciamento de permissões. O SharePoint gerencia permissões por meio de definições de função, que permitem uma experiência consistente no nível de lista, pasta e item. Os seguintes objetos de segurança usados em Windows SharePoint Services 2.0 estão obsoletos, mas continuam a funcionar para compatibilidade com versões anteriores:
Para atribuir usuários a funções, use membros da classe Microsoft.SharePoint.SPRoleAssignment e da classe Microsoft.SharePoint.SPRoleAssignmentCollection . A enumeração SPBasePermisssions , que substituiu SPRights , inclui permissões adicionais. A enumeração SPBasePermisssions também inclui permissões herdadas que mapeiam para os mesmos valores constantes permissões anteriores no SPRights . O conceito de grupo do SharePoint mapeado para o objeto existente de SPGroup e o objeto SPGroupCollection , que representam os grupos entre sites.
Funções de política: criar ou modificar políticas de segurança para zonas de URL
Para criar ou modificar as diretivas de segurança para as zonas de URL, use as seguintes classes e seus membros:
Funções de convidado (acesso limitado) para acomodar recursos compartilhados
O conceito de uma função de convidado é acomodar os recursos compartilhados na plataforma. Por exemplo, a estrutura do tema e a navegação do site deve ser usada para processar a página para um modo de exibição de lista. Esse conceito é estendido para incluir as permissões de nível de pasta e as permissões de nível de lista.
O modelo de objeto do SharePoint continua a chamá-lo a função Guest semânticos compatibilidade com o modelo de objeto anterior, embora na interface do usuário a função agora é chamada de Acesso limitado.
Extensões de pasta e item
Quando um usuário recebe permissões em uma pasta, eles também são concedidos a função Guest na lista pai dessa pasta e no site pai dessa lista de em cada escopo protegido exclusivamente acima da pasta, todo para o primeiro site exclusivo ancestral. Isso também é verdadeiro para itens de lista: concedendo permissões em um item de um usuário também concede que o usuário a função Guest em todas as pastas pai, listas e sites até o primeiro site exclusivo ancestral.
Remover usuários de um escopo ou de todos os escopos
Também remover um usuário de um escopo remove o usuário de todos os escopos protegidos exclusivamente abaixo do escopo atual. Por exemplo, remover um usuário de um site da Web também remove esse usuário protegidas exclusivamente listas no site.
A única maneira de remover um usuário de todos os escopos é para excluir o usuário do conjunto de sites, que remove o usuário de todas as funções de todos os escopos do conjunto de sites.