检测调用记录的 SharePoint Client-Side 对象模型 (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.27.0/minimalcsompermissionsplugin.schema.json",
"typesFilePath": "./api-specs"
}
}
配置属性
资产 | DESCRIPTION | 违约 |
---|---|---|
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 类型文件是一个 JSON 文件,其中包含有关 SharePoint CSOM 类型及其权限的信息。 以下示例显示了 CSOM 类型文件的示例:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.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
部分包含 SharePoint CSOM 类型及其 ID 的列表。 本部分包含用于可读性,因为它更易于3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a.Current
理解Microsoft.SharePoint.Client.RequestContext.Current
。
该 returnTypes
节包含节中 actions
方法的返回类型列表。 该插件在分析 CSOM 请求以遍历 CSOM API 的层次结构时使用此信息。
本节 actions
包含可以使用 SharePoint CSOM API 执行的作列表。 对于每个作,它都会列出客户端应用程序可用于执行此作的委托权限和应用程序权限。 权限按特权升序排序,以便首先列出最小特权权限。
截至目前,我们随开发代理一起随附的 CSOM 类型文件不完整。 我们正在与社区合作,记录更多类型。 同时,可以更新它以包含所需的类型和权限(如果缺少所需的信息)。 然后,可以使用自己的类型文件。 我们鼓励你向社区贡献你的更改,以便我们都可以通过在 开发代理示例存储库中创建拉取请求来从它们中受益。 我们会定期将最新更改从存储库拉取到开发代理存储库,以便你可以从最新更改中受益,而无需更新开发代理安装。