Compartilhar via


MinimalCsomPermissionsPlugin

Detecta permissões mínimas necessárias para chamar as solicitações de API do CSOM (Modelo de Objeto) do Share Client-Side Point registradas.

Captura de tela de uma linha de comando mostrando o Proxy de Desenvolvimento listando permissões mínimas necessárias para chamar o conjunto registrado de APIs CSOM do SharePoint.

Definição de instância do plug-in

{
  "name": "MinimalCsomPermissionsPlugin",
  "enabled": true,
  "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
  "configSection": "minimalCsomPermissionsPlugin"
}

Exemplo de configuração

{
  "minimalCsomPermissionsPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/minimalcsompermissionsplugin.schema.json",
    "typesFilePath": "./api-specs"
  }
}

Propriedades de configuração

Propriedade Descrição Padrão
typesFilePath Caminho para o arquivo que lista as permissões necessárias para chamar APIs CSOM do SharePoint ~appFolder/config/spo-csom-types.json

Opções de linha de comando

Nenhum

Observações

O MinimalCsomPermissionsPlugin plug-in detecta quais permissões o aplicativo cliente precisa no mínimo para chamar o conjunto de APIs CSOM do SharePoint. Para detectar essas permissões mínimas, o plug-in usa informações sobre permissões para APIs CSOM do SharePoint localizadas no arquivo de tipos CSOM do SharePoint especificado.

Arquivo de tipos CSOM do SharePoint

O MinimalCsomPermissionsPlugin usa um arquivo de tipos CSOM para determinar quais permissões mínimas o aplicativo cliente precisa para chamar o conjunto específico de APIs CSOM. O arquivo de tipos CSOM é um arquivo JSON que contém informações sobre tipos CSOM do SharePoint e suas permissões. O exemplo a seguir mostra um exemplo de arquivo de tipos CSOM:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/minimalcsompermissions.types.schema.json",
  "types": {
    "268004ae-ef6b-4e9b-8425-127220d84719": "Microsoft.Online.SharePoint.TenantAdministration.Tenant",
    "3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a": "Microsoft.SharePoint.Client.RequestContext"
  },
  "returnTypes": {
    "Microsoft.SharePoint.Client.RequestContext.Current.Site": "Microsoft.SharePoint.Client.Site"
  },
  "actions": {
    "Microsoft.SharePoint.Client.RequestContext.Current": {
      "delegated": [
        "AllSites.Read",
        "AllSites.Write",
        "AllSites.Manage",
        "AllSites.FullControl"
      ],
      "application": []
    },
    "Microsoft.SharePoint.Client.Site.setProperty": {
      "delegated": [
        "AllSites.FullControl"
      ],
      "application": []
    },
    "Microsoft.Online.SharePoint.TenantAdministration.Tenant.ctor": {
      "delegated": [
        "AllSites.Read",
        "AllSites.Write",
        "AllSites.Manage",
        "AllSites.FullControl"
      ],
      "application": [
      ]
    },
    "Microsoft.Online.SharePoint.TenantAdministration.Tenant.query": {
      "delegated": [
        "AllSites.Write",
        "AllSites.Manage",
        "AllSites.FullControl"
      ],
      "application": [
      ]
    },
    "Microsoft.Online.SharePoint.TenantAdministration.Tenant.GetSitePropertiesFromSharePointByFilters": {
      "delegated": [
        "AllSites.FullControl"
      ],
      "application": [
      ]
    }
  }
}

O arquivo consiste em três partes principais:

  • types
  • returnTypes
  • actions

A types seção contém uma lista de tipos CSOM do SharePoint e suas IDs. Esta seção é incluída para legibilidade porque é mais fácil de entender Microsoft.SharePoint.Client.RequestContext.Current do que 3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a.Current.

A returnTypes seção contém uma lista de tipos de retorno para os métodos na actions seção. O plug-in usa essas informações ao analisar solicitações CSOM para percorrer a hierarquia das APIs CSOM.

A actions seção contém uma lista de ações que podem ser executadas usando APIs CSOM do SharePoint. Para cada ação, ela lista as permissões delegadas e de aplicativo que um aplicativo cliente pode usar para executar essa ação. As permissões são classificadas crescentes por seus privilégios, de modo que as permissões menos privilegiadas sejam listadas primeiro.

A partir de hoje, o arquivo de tipos CSOM que incluímos com o Proxy de Desenvolvimento está incompleto. Estamos trabalhando em conjunto com nossa comunidade para documentar mais tipos. Enquanto isso, você pode atualizá-lo para incluir os tipos e permissões necessários se as informações necessárias estiverem ausentes. Em seguida, você pode usar seu próprio arquivo de tipos. Recomendamos que você contribua com suas alterações de volta para a comunidade para que todos possamos nos beneficiar delas, criando uma solicitação pull no repositório de exemplos do Proxy de Desenvolvimento. Extraimos regularmente as alterações mais recentes do repositório para o repositório de Proxy de Desenvolvimento para que você possa se beneficiar das alterações mais recentes sem precisar atualizar a instalação do Proxy de Desenvolvimento.