Поделиться через


Минимальные разрешения CSOM плагин

Обнаруживает минимальные разрешения, необходимые для вызова записанных запросов API SharePoint Client-Side объектной модели (CSOM).

Снимок экрана: командная строка с описанием минимальных разрешений, необходимых для вызова записанного набора API CSOM SharePoint.

Определение экземпляра подключаемого модуля

{
  "name": "MinimalCsomPermissionsPlugin",
  "enabled": true,
  "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
  "configSection": "minimalCsomPermissionsPlugin"
}

Пример конфигурации

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

Свойства конфигурации

Недвижимость Описание По умолчанию
typesFilePath Путь к файлу, который перечисляет разрешения, необходимые для вызова API CSOM SharePoint ~appFolder/config/spo-csom-types.json

Параметры командной строки

Отсутствует

Замечания

Подключаемый MinimalCsomPermissionsPlugin модуль определяет, какие разрешения требуется клиентскому приложению, чтобы вызвать набор API CSOM SharePoint. Для обнаружения этих минимальных разрешений подключаемый модуль использует сведения о разрешениях для API CSOM SharePoint, расположенных в указанном файле типов CSOM SharePoint.

Файл типов CSOM SharePoint

Файл MinimalCsomPermissionsPlugin типов CSOM используется для определения минимальных разрешений, необходимых клиентскому приложению для вызова определенного набора API CSOM. Файл типов CSOM — это JSON-файл, содержащий сведения о типах CSOM SharePoint и их разрешениях. В следующем примере показан пример файла типов 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": [
      ]
    }
  }
}

Файл состоит из трех основных частей:

  • types
  • returnTypes
  • actions

В types разделе содержится список типов CSOM SharePoint и их идентификаторов. Этот раздел включен для удобства чтения, так как проще понять Microsoft.SharePoint.Client.RequestContext.Current , чем 3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a.Current.

В returnTypes разделе содержится список типов возвращаемых данных для методов в actions разделе. Подключаемый модуль использует эти сведения при анализе запросов CSOM для обхода иерархии API CSOM.

В actions разделе содержится список действий, которые можно выполнить с помощью API CSOM SharePoint. Для каждого действия в нем перечислены делегированные разрешения и разрешения приложения, которые клиентское приложение может использовать для выполнения этого действия. Разрешения сортируются по возрастанию по их привилегиям, чтобы сначала перечислены наименее привилегированные разрешения.

По состоянию на сегодняшний день файл типов CSOM, который мы включаем с прокси-сервером разработки, является неполным. Мы работаем вместе с нашим сообществом, чтобы документировать больше типов. Между тем вы можете обновить его, чтобы включить типы и разрешения, необходимые, если необходимые сведения отсутствуют. Затем можно использовать собственный файл типов. Мы рекомендуем вам внести изменения в сообщество, чтобы мы могли воспользоваться ими, создав запрос на вытягивание в репозитории примеров прокси-сервера разработки. Мы регулярно извлекаем последние изменения из репозитория в репозиторий прокси-сервера разработки, чтобы вы могли воспользоваться последними изменениями, не обновляя установку прокси-сервера разработки.