Permissões dos suplementos no SharePoint

Antes de ler este artigo, você deve primeiro estar familiarizado com o tópico Autorização e autenticação de suplementos do SharePoint.

Um suplemento do SharePoint solicita as permissões necessárias do usuário durante a instalação. O desenvolvedor de um suplemento deve solicitar, por meio do arquivo de manifesto do suplemento, as permissões que o suplemento particular precisa para ser capaz de executar. (Aplicativos Web e dispositivos que acessam o SharePoint, mas não são instalados em sites do SharePoint, devem receber permissões no runtime pelo usuário que está executando o suplemento. Para obter mais informações, confira Fluxo OAuth do Código de Autorização para Suplementos do SharePoint.)

Os usuários podem conceder apenas as permissões que eles possuem. O usuário deve conceder todas as permissões que um suplemento solicita ou não conceder permissão. Concessões seletivas não são possíveis. (Para suplementos que solicitam permissões dinamicamente, apenas um usuário com permissão de gerenciamento para os recursos do SharePoint que o suplemento procura acessar pode executar o suplemento, mesmo se o suplemento estiver solicitando apenas permissões menores, como de Leitura.)

As permissões que foram concedidas ao suplemento também são armazenadas no banco de dados de conteúdo do farm do SharePoint ou da locação do SharePoint Online. Eles não são armazenados com um serviço de token seguro, como o ACS (Serviço de Controle de Acesso) do Microsoft Azure. Quando um usuário concede permissões a um suplemento pela primeira vez, o SharePoint obtém informações sobre o suplemento pelo ACS. Em seguida, o SharePoint armazena as informações básicas sobre o suplemento no serviço de gerenciamento de suplemento e o banco de dados de conteúdo junto com as permissões do suplemento. Para obter mais informações sobre o ACS, consulte Criando suplementos do SharePoint que usam autorização de confiança baixa.

Importante

O Controle de Acesso do Azure (ACS), um serviço do Azure Active Directory (Azure AD) será desativado em 7 de novembro de 2018. Essa desativação não afeta o modele do Suplemento do SharePoint que usa o nome de host https://accounts.accesscontrol.windows.net (que não é afetado por ela). Para saber mais, confira Impacto da desativação do Controle de Acesso do Azure para Suplementos do SharePoint.

Se um objeto ao qual um suplemento recebeu permissão for excluído, as concessões correspondentes também serão excluídas. Quando um objeto ao qual um suplemento recebeu permissão é reciclado, o SharePoint não modifica a concessão correspondente. Isso ocorre de forma que, se o objeto for restaurado da Lixeira, a concessão ainda estará intacta.

Quando um suplemento é removido, todas as permissões concedidas a esse suplemento no escopo do qual ele foi removido são revogadas. Isso é para garantir que o suplemento não possa usar suas credenciais para continuar acessando recursos protegidos do SharePoint remotamente depois que um usuário remover o suplemento do SharePoint.

Tipos de permissões de suplemento e escopos de permissão

Um Suplemento do SharePoint usa solicitações de permissão para especificar as permissões necessárias para funcionar corretamente. As solicitações de permissão especificam os direitos que um suplemento precisa e o escopo em que ele precisa dos direitos. Essas permissões são solicitadas como parte do manifesto de suplemento.

Escopos de solicitação de permissão indicam o local na hierarquia do SharePoint ao qual uma solicitação de permissão se aplica.

Observação

Um suplemento do SharePoint tem sua própria identidade e é uma entidade de segurança, chamado de entidade de segurança de um suplemento. Como usuários e grupos, uma entidade de segurança de um suplemento tem certas permissões ou direitos. A entidade de segurança de um suplemento tem direitos de controle total para a Web do suplemento, portanto, ela só precisa solicitar permissões para recursos do SharePoint na Web do host ou em outros locais fora da Web do suplemento. Para obter mais informações sobre a Web do suplemento, consulte Aspectos importantes da arquitetura e do cenário de desenvolvimento do SharePoint e Webs do host, webs de suplementos e componentes do SharePoint no SharePoint.

O SharePoint oferece suporte a quatro escopos de permissão diferentes no banco de dados e locação de conteúdo, conforme mostrado na Tabela 1. Escopos de permissão são nomeados com URIs, incluindo um prefixo "http:", mas não são URLs e não contêm espaços reservados. Os escopos de permissão nesta tabela e neste artigo são sequências literais.

Tabela 1. URIs e descrições do escopo de solicitação de permissão do SharePoint

Escopo URI de escopo Descrição
Locação http://sharepoint/content/tenant O locatário em que o suplemento está instalado. Inclui todas as crianças desse escopo.
Conjunto de Sites http://sharepoint/content/sitecollection A coleção de sites em que o suplemento está instalado. Inclui todas as crianças desse escopo.
Site http://sharepoint/content/sitecollection/web O site em que o suplemento está instalado. Inclui todas as crianças desse escopo.
Lista http://sharepoint/content/sitecollection/web/list Uma única lista no site em que o suplemento está instalado.

Quando o usuário que instala o suplemento é solicitado a conceder permissões, a caixa de diálogo permite que o usuário selecione uma lista à qual o suplemento recebe permissões.

Se o suplemento precisar de permissão para mais de uma lista, ele deverá solicitar permissão para o escopo da web.

Além disso, como você, o desenvolvedor, não tem como controlar qual lista o usuário escolhe ou informar ao usuário qual escolher, você deve usar o escopo da Web se houver uma lista à qual seu suplemento deve ter permissão (mas há uma maneira de restringir a escolha do usuário a determinados subconjuntos de listas; consulte Escopo da solicitação de permissão com propriedades associadas).

Se um suplemento receber permissão para um dos escopos, a permissão se aplicará a todas as crianças do escopo. Por exemplo, se um suplemento receber permissão para um site, o suplemento também receberá permissão para cada lista contida no site e todos os itens de lista que estão em cada lista.

Como as solicitações de permissão são feitas sem informações sobre a topologia do conjunto de sites em que o suplemento está instalado, o escopo é expresso como um tipo em vez de como a URL de uma instância específica. Esses tipos de escopo são expressados como URIs. As permissões para recursos armazenados no banco de dados de conteúdo do SharePoint são organizadas sob o seguinte URI: http://sharepoint/content.

Diferenças entre os direitos de permissão do suplemento e os direitos do usuário

As permissões indicam as atividades que um suplemento tem permissão para fazer no escopo solicitado. O SharePoint dá suporte a quatro níveis de direitos no banco de dados de conteúdo. Para cada escopo, um suplemento pode ter os seguintes direitos:

  • Ler
  • Gravação
  • Gerenciar
  • FullControl

Observação

Para obter mais informações sobre o que Ler, Gravar, Gerenciar e direitos de ControleTotal incluem, consulte Planejar o gerenciamento de permissões de suplementos.

Observação

Esses direitos correspondem aos níveis de permissão de usuário padrão do SharePoint: Leitor, Colaborador, Designer e Controle Total. Para obter mais informações sobre os níveis de permissão do usuário, confira Permissões de usuário e níveis de permissão. Os nomes dos direitos de suplementos não correspondem aos nomes de direitos de funções de usuários do SharePoint, para evitar confusão entre direitos de funções de usuário e direitos de suplemento. Como a personalização das permissões associadas às funções de usuário do SharePoint não afeta os níveis de solicitação de permissão do suplemento, os nomes dos direitos dos suplementos não correspondem às funções de usuário do SharePoint correspondentes, exceto Controle Total, que não pode ser personalizado através da interface de usuário de gerenciamento de permissões.

Além disso:

  • Apenas para Pesquisar, um suplemento pode ter o direito Consultar.

  • Para alguns escopos do Microsoft Project Server 2013, há também o direito SubmitStatus ou o direito Elevate. Para a maioria dos escopos do Project Server 2013, somente leitura e gravação estão disponíveis. Para obter mais informações, consulte a seção Entenda os tipos de permissões de suplemento e escopos de permissão neste artigo.

  • Para taxonomia, somente os direitos Ler e Gravar estão disponíveis.

Observação

Os aplicativos da Loja do Office têm algumas restrições quanto ao tipo de direitos que um suplemento pode solicitar. Para obter mais informações, consulte a seção Tipos de permissões de suplemento e escopos de permissão anteriormente neste artigo.

Ao contrário das funções de usuário do SharePoint, esses níveis de direitos não são personalizáveis. Isso é para garantir que, quando um suplemento recebe uma solicitação de permissão, o suplemento tenha garantia de um conjunto previsível de recursos e não precise considerar a possibilidade de receber menos permissão do que espera.

Um usuário não pode conceder permissões de suplemento que o próprio usuário ou ela não tem. Se um usuário tentar instalar um suplemento que solicite mais permissões do que o usuário tem, uma mensagem de erro será exibida ao usuário informando que ele não tem permissões suficientes para conceder o suplemento à sua solicitação.

As permissões que não são conhecidas pelo SharePoint são ignoradas. Isso significa que, se um suplemento solicitar uma permissão que o SharePoint não reconhece, o suplemento ainda poderá ser instalado, mas o usuário não será solicitado a conceder a permissão e a permissão não será concedida ao suplemento.

Escopos e permissões disponíveis e restrições nas permissões de aplicativos da Loja do Office

Diferentes escopos têm diferentes conjuntos de direitos disponíveis para um suplemento a ser solicitado. Esta seção descreve os conjuntos de direitos disponíveis para cada escopo. Além disso, destaca as restrições para suplementos do SharePoint que são vendidos por meio da Office Store.

Direitos dos aplicativos da Office Store

Apenas os direitos Read, Writee Manage são permitidos para Office Store aplicativos. Se você tentar enviar um aplicativo para a Office Store que requer direitos de FullControl, seu aplicativo será impedido de enviar. Como o bloco está no pipeline de envio da Office Store, aplicativos que solicitam mais do que Gerenciar permissões ainda podem ser implantados por meio do catálogo de suplementos.

Escopos de solicitação de permissão para conteúdo de lista e biblioteca

A Tabela 2 mostra o escopo da solicitação de permissão para conteúdo de lista e de biblioteca e lista os direitos que podem ser especificados para cada URI de escopo.

Observação

Os URIs usados na Tabela 2 são valores literais.

Tabela 2. URIs de escopo de permissão de suplemento do SharePoint e direitos disponíveis

URI de escopo Direitos disponíveis
http://sharepoint/content/sitecollection Ler, Gravar, Gerenciar, ControleTotal
http://sharepoint/content/sitecollection/web Ler, Gravar, Gerenciar, ControleTotal
http://sharepoint/content/sitecollection/web/list Ler, Gravar, Gerenciar, ControleTotal
http://sharepoint/content/tenant Ler, Gravar, Gerenciar, ControleTotal

O código a seguir mostra como você usa escopos e direitos de permissão no arquivo AppManifest.xml. No primeiro exemplo, um suplemento está solicitando acesso de gravação ao escopo da lista.

  <?xml version="1.0" encoding="utf-8" ?>
  <App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest"
      ProductID="{4a07f3bd-803d-45f2-a710-b9e944c3396e}"
      Version="1.0.0.0"
      SharePointMinVersion="15.0.0.0"
      Name="MySampleAddIn"
  >
    <Properties>
      <Title>My Sample Add-in</Title>
      <StartPage>~remoteAppUrl/Home.aspx?{StandardTokens}</StartPage>
    </Properties>

    <AppPrincipal>
      <RemoteWebApplication ClientId="1ee82b34-7c1b-471b-b27e-ff272accd564" />
    </AppPrincipal>

    <AppPermissionRequests>
      <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write"/>
    </AppPermissionRequests>
  </App>

O código a seguir mostra um suplemento que está solicitando acesso de Leitura ao escopo da Web e acesso de Gravação ao escopo da lista.

  <?xml version="1.0" encoding="utf-8" ?>
  <App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest"
      ProductID="{4a07f3bd-803d-45f2-a710-b9e944c3396e}"
      Version="1.0.0.0"
      SharePointMinVersion="15.0.0.0"
      Name="MySampleAddIn"
  >
    <Properties>
      <Title>My Sample Add-in</Title>
      <StartPage>~remoteAppUrl/Home.aspx?{StandardTokens}</StartPage>
    </Properties>

    <AppPrincipal>
      <RemoteWebApplication ClientId="6daebfdd-6516-4506-a7a9-168862921986" />
    </AppPrincipal>

    <AppPermissionRequests>
      <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read"/>
      <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write"/>
    </AppPermissionRequests>
  </App>

Escopos de solicitação de permissão para outros recursos do SharePoint

O escopo de solicitação de permissão para outros recursos do SharePoint é listado nas tabelas a seguir.

Observação

Os URIs usados nas tabelas são valores literais.

A Tabela 3 mostra o escopo da solicitação de permissão para os Serviços Corporativos de Conectividade (BCS). Ela também lista os direitos que podem ser especificados para esse URI de escopo.

Tabela 3. URIs de escopo de solicitação de permissão do BCS e direitos disponíveis

URI de escopo Direitos disponíveis
http://sharepoint/bcs/connection Ler

Observação

Para obter mais informações sobre o escopo de solicitação de permissão do suplemento BCS, consulte Serviços Corporativos de Conectividade no SharePoint.


A Tabela 4 mostra o escopo da solicitação de permissão para Pesquisa. Ela também lista os direitos que podem ser especificados para esse URI de escopo.

Tabela 4. Pesquisar URIs de escopo de solicitação de permissão de suplemento e direitos disponíveis

URI de escopo Direitos disponíveis
http://sharepoint/search QueryAsUserIgnoreAppPrincipal

Observação

Para obter mais informações sobre o escopo da solicitação de permissão do suplemento de pesquisa, consulte Pesquisar no SharePoint.


A Tabela 5 mostra o escopo da solicitação de permissão para o Project Server 2013. Ela também lista os direitos que podem ser especificados para cada URI de escopo. > [! OBSERVAÇÃO] > Um suplemento que usa recursos e serviços do Project Server 2013 deve ser testado em um ambiente que tenha os recursos e serviços necessários do Project Server. O assembly do provedor de permissão do Project Server 2013 que conhece os escopos de permissão do Project Server 2013 não é instalado por padrão com o SharePoint Server. Para obter mais informações, consulte a documentação do desenvolvedor do Project Server 2013.

Tabela 5. URIs de escopo de solicitação de permissão do Project Server e direitos disponíveis

Scope Direitos disponíveis
http://sharepoint/projectserver Gerenciar
http://sharepoint/projectserver/projects Ler, gravar
http://sharepoint/projectserver/projects/project Ler, gravar
http://sharepoint/projectserver/enterpriseresources Ler, gravar
http://sharepoint/projectserver/statusing SubmitStatus
http://sharepoint/projectserver/reporting Ler
http://sharepoint/projectserver/workflow Elevar

A Tabela 6 mostra o escopo da solicitação de permissão para recursos sociais. Ela também lista os direitos que podem ser especificados para cada URI de escopo.

Tabela 6. URIs de escopo de solicitação de permissão de recursos sociais e direitos disponíveis

Nome do Escopo Descrição Direitos disponíveis
Perfis dos Usuários
http://sharepoint/social/tenant
O escopo de solicitação de permissão usado para acessar todos os perfis de usuário. Somente a imagem de perfil pode ser alterada; todas as outras propriedades de perfil de usuário são somente leitura para suplementos do SharePoint. Deve ser instalado por um administrador de locatário. Ler, Gravar, Gerenciar, ControleTotal
Serviços básicos
http://sharepoint/social/core
O escopo de solicitação de permissão usado para o usuário de acessar conteúdo que seguem e compartilhados metadados que são usados pelos recursos de microblog. Este escopo só se aplica aos sites pessoais que oferecem suporte ao seguinte conteúdo. Se o aplicativo instala em qualquer outro tipo de site, use o escopo de locatário. Ler, Gravar, Gerenciar, ControleTotal
Feed de notícias
http://sharepoint/social/microfeed
O escopo de solicitação de permissão usado para acessar o feed do usuário ou o feed de equipe. Este escopo aplica-se para sites pessoais que oferecem suporte a microblog ou para sites de equipe, onde o recurso de Feed de Site é ativado. Se o aplicativo instala em qualquer outro tipo de site, use o escopo de locatário. Leitura, gravação, gerenciar, controle total
http://sharepoint/social/trimming Este escopo de solicitação de permissão usado para determinar se deseja exibir o conteúdo de segurança-aparada no feed social aos aplicativos. Se essa permissão de alta confiança não é concedida, algum conteúdo (por exemplo, atividades sobre documentos e sites que o aplicativo não tem permissões para) é cortado dos dados feeds que são retornados para o aplicativo, mesmo se o usuário tem permissões suficientes. Esta permissão deve ser adicionado manualmente ao arquivo de manifesto do aplicativo. Ler, Gravar, Gerenciar, ControleTotal

Observação

Para obter mais informações sobre o escopo de solicitação de permissão do suplemento de recursos sociais, consulte Solicitações de permissão de suplemento para acessar recursos sociais.


A Tabela 7 mostra o escopo da solicitação de permissão para taxonomia. Ela também lista os direitos que podem ser especificados para esse URI de escopo.

Tabela 7. URIs de escopo de solicitação de permissão de taxonomia e direitos disponíveis

URI de escopo Direitos disponíveis
http://sharepoint/taxonomy Ler, gravar

Observação

Para obter mais informações sobre o escopo de solicitação de permissão de suplemento de taxonomia, consulte Adicionar recursos do SharePoint.

Escopo de solicitação de permissão com propriedades associadas

O escopo de solicitação de permissão de lista possui uma propriedade opcional adicional. O escopo de lista pode obter uma propriedade com o nome BaseTemplateId e um valor inteiro correspondente a um modelo de base de lista, conforme mostrado no exemplo de marcação a seguir. Sem um ID de modelo base, o usuário que instala o suplemento tem a opção de conceder permissão a uma lista dentre todas as listas da web. A especificação de um ID de modelo de base limita a escolha do usuário ao conjunto de listas que correspondam ao que é especificado pela propriedade BaseTemplateId.

A propriedade BaseTemplateId é um elemento filho, não um atributo do elemento AppPermissionRequest. O código a seguir mostra como usar a propriedade BaseTemplateId.

  <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write">
    <Property Name="BaseTemplateId" Value="101"/>
  </AppPermissionRequest>

Tabela 8. Escopo de solicitação de permissão com propriedades associadas

URI de escopo Propriedade Type
http://sharepoint/content/sitecollection/web/list BaseTemplateId Número inteiro

Observação

Para obter mais informações sobre BaseTemplateId e o valor inteiro correspondente para o modelo de base de lista, consulte o atributo Tipo do Elemento de Lista (Lista).

Gerenciando e solucionando problemas de permissões de suplementos

Os suplementos do SharePoint instalados no SharePoint recebem permissões quando são instalados. Os suplementos instalados em outras plataformas, mas que possuem acesso ao SharePoint, recebem permissões no tempo de execução pelo usuário que está executando o suplemento. Ocasionalmente, o primeiro tipo de suplemento pode perder suas permissões. Você pode renovar permissões para um suplemento usando as seguintes etapas:

  1. Na página Conteúdo do site do site em que o suplemento parece ter perdido permissões, selecione o botão ... no bloco do suplemento. Isso abre um texto explicativo com um link PERMISSÕES ou outro botão ....

  2. Selecione o link PERMISSÕES, se houver, e pule a próxima etapa ou selecione o botão ....

  3. Selecione o link Permissões.

  4. Na página que é aberta, selecione aqui na última frase. Isso concede suas permissões ao suplemento e redireciona o navegador de volta à página Conteúdo do Site.

Conceder nova permissão para um aplicativo


Quando você está desenvolvendo um suplemento ou solução de problemas de um suplemento, pode haver ocasiões em que você deseja alterar ou regrant, as permissões de um suplemento que já foi instalado. Você pode fazer isso com estas etapas:
  1. Vá para http://{SharePointWebSite}_layouts/15/AppInv.aspx, onde <o SharePointWebSite> é a URL do site em que o suplemento está instalado. Tenha cuidado para não adicionar parâmetros de consulta na URL. O formulário que você precisa só aparece nessa página se a URL for exatamente como mostrada.

  2. Insira o ID do suplemento, também chamado de ID do cliente, na caixa ID do suplemento e, em seguida, selecione Pesquisa. As outras caixas no formulário são preenchidas com informações sobre o suplemento.

  3. Preencha a caixa XML de Solicitação de Permissão com solicitações de permissão exatamente como você os inseriria em um manifesto de suplemento. Para ver exemplos, confira Escopos de solicitação de permissão para conteúdo de lista e de biblioteca. Para obter informações completas sobre sintaxe, confira o Elemento AppPermissionRequest.

  4. Selecione Criar.

Permissões de um suplemento para um escopo específico são revogadas quando ele é removido do escopo.

Por que os suplementos não podem ser ocultados dos usuários?

Qualquer usuário com direitos de navegação em um site do SharePoint pode iniciar qualquer suplemento do SharePoint instalado no site. O usuário ter ou não permissão para fazer alguma coisa com o suplemento depende das outras permissões do usuário e de qual tipo de política de autorização está sendo usado pelo suplemento. Se o usuário tentar fazer algo com o suplemento sem permissão para tal, e a chamada para o SharePoint estiver usando a política user+ de suplemento, a chamada falhará.

Confira também