次の方法で共有


MinimalCsomPermissionsプラグイン

記録された SharePoint Client-Side オブジェクト モデル (CSOM) API 要求を呼び出すために必要な最小限のアクセス許可を検出します。

記録された SharePoint CSOM API のセットを呼び出すために必要な最小限のアクセス許可を示す開発プロキシを示すコマンド ラインのスクリーンショット。

プラグイン インスタンスの定義

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

構成の例

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

構成プロパティ

プロパティ 説明 既定値
typesFilePath SharePoint CSOM API を呼び出すために必要なアクセス許可を一覧表示するファイルへのパス ~appFolder/config/spo-csom-types.json

コマンドライン オプション

無し

注釈

MinimalCsomPermissionsPlugin プラグインは、クライアント アプリケーションが SharePoint CSOM API のセットを呼び出すために必要なアクセス許可を少なくとも検出します。 これらの最小限のアクセス許可を検出するために、プラグインは、指定された SharePoint CSOM 型ファイルにある SharePoint CSOM API のアクセス許可に関する情報を使用します。

SharePoint CSOM 型ファイル

MinimalCsomPermissionsPluginでは、CSOM 型ファイルを使用して、クライアント アプリケーションが特定の CSOM API のセットを呼び出すために必要な最小限のアクセス許可を決定します。 CSOM 型ファイルは、SharePoint CSOM 型とそのアクセス許可に関する情報を含む JSON ファイルです。 次の例は、CSOM 型ファイルの例を示しています。

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.1/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": [
      ]
    }
  }
}

このファイルは、次の 3 つの主要な部分で構成されます。

  • types
  • returnTypes
  • actions

types セクションには、SharePoint CSOM 型とその ID の一覧が含まれています。 このセクションは、Microsoft.SharePoint.Client.RequestContext.Currentよりも3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a.Currentを理解しやすいため、読みやすくするために含まれています。

returnTypes セクションには、actions セクションのメソッドの戻り値の型の一覧が含まれています。 プラグインは、CSOM API の階層を走査するために CSOM 要求を解析するときに、この情報を使用します。

actions セクションには、SharePoint CSOM API を使用して実行できるアクションの一覧が含まれています。 アクションごとに、クライアント アプリケーションがこのアクションの実行に使用できる委任されたアクセス許可とアプリケーションのアクセス許可が一覧表示されます。 権限は特権によって昇順に並べ替えられるため、最小特権のアクセス許可が最初に一覧表示されます。

現在、開発プロキシに含まれている CSOM 型ファイルは不完全です。 私たちはコミュニティと協力して、より多くの種類を文書化しています。 一方、必要な情報が不足している場合は、必要な種類とアクセス許可を含むように更新できます。 その後、独自の型ファイルを使用できます。 Dev Proxy サンプル リポジトリに pull request を作成することで、すべてのユーザーがメリットを得ることができるように、コミュニティに変更内容を投稿することをお勧めします。 Dev Proxy のインストールを更新しなくても最新の変更を利用できるように、リポジトリから Dev Proxy リポジトリに最新の変更を定期的にプルします。