適用対象: 開発者
SharePoint Embedded コンテンツは、そのコンテナー階層からアクセス許可を継承します。 任意のファイルまたはフォルダーの継承を解除することはできません。 追加のアクセス許可を使用して、ベースライン コンテナーメンバーシップを変更せずに特定のドライブ項目へのアクセスを拡張します。
コンテナー ロールについて
コンテナー ロールは、コンテナーの継承されたベースライン アクセスを提供します。 これらのロールは、 コンテナーのアクセス許可で定義されています。
| 役割 | アクセスの概要 |
|---|---|
Reader |
コンテナーのプロパティと内容を読み取ります。 |
Writer |
閲覧者アクセス権と、コンテンツを作成、更新、削除し、該当するコンテナー プロパティを更新するアクセス許可を持ちます。 |
Manager |
ライター アクセス権と、コンテナー メンバーシップを管理するためのアクセス許可を持ちます。 |
Owner |
Manager アクセス権と、コンテナーを削除するアクセス許可を持ちます。 |
継承された Reader アクセス権を持つユーザーは、1 つのドキュメントで追加編集アクセスを受け取ることができます。 追加されたアクセス許可を削除しても、ユーザーの継承されたコンテナー ロールは削除されません。
追加アクセス権を付与する
Microsoft Graph ドライブ項目の招待で追加アクセス権を付与します。 [ sendInvitation ] を [ false] に設定します。 アプリのみの要求では、既存のユーザーとゲストを招待できますが、新しいゲストを招待することはできません。
POST https://graph.microsoft.com/v1.0/drives/{drive-id}/items/{item-id}/invite
Content-Type: application/json
{
"recipients": [
{ "email": "user@contoso.com" }
],
"message": "",
"requireSignIn": true,
"sendInvitation": false,
"roles": ["write"]
}
ビュー アクセスには roles: ["read"] を使用し、編集アクセスには roles: ["write"] を使用します。 コンテナーのルート フォルダーに追加のアクセス許可を付与しないでください。代わりに、適切なコンテナー ロールにユーザーを追加します。
アクセス許可の取得と削除
ファイルまたはフォルダーに直接共有状態を表示する必要がある場合は、アクセス許可を一覧表示します。
GET https://graph.microsoft.com/v1.0/drives/{drive-id}/items/{item-id}/permissions
GET https://graph.microsoft.com/v1.0/drives/{drive-id}/items/{item-id}/permissions/{perm-id}
最初に追加されたドライブ項目に対する追加権限のみを削除します。
DELETE https://graph.microsoft.com/v1.0/drives/{drive-id}/items/{item-id}/permissions/{perm-id}
削除後もユーザーがアクセス権を持っている場合は、継承されたコンテナー ロール、Microsoft Entra グループ、および親フォルダーに対するその他の追加アクセス許可を調べます。
共有できるユーザーを構成する
SharePoint Embedded では、コンテナーの種類に関するロールベースの共有モデルがサポートされています。 制限の厳しいモデルでは、 Owner メンバーと Manager メンバーのみが新しいアクセス許可をファイルに追加できます。 オープン モデルを使用すると、コンテナー メンバーと編集アクセス許可を持つゲストが新しいファイルアクセス許可を追加できます。 既定では、コンテナーの種類では開いているモデルが使用されます。
開発者テナントの開発者は、このコンテナーの種類の設定を制御します。 現在のユーザーのロールがアクセス許可を追加できない場合に共有アクションが無効または非表示になるように UI を設計します。 管理構成については、「管理の概要」を参照してください。
テナント共有ポリシーを尊重する
既定では、SharePoint Embedded アプリケーション共有は、使用しているテナントの共有構成に従います。 テナントがゲスト共有を無効にした場合、アプリはコンテナー ロールにゲストを追加したり、ゲスト追加アクセス許可を付与したりできません。
使用しているテナント SharePoint Embedded 管理者は、SharePoint 管理センターまたは SharePoint Embedded PowerShell でアプリケーション レベルの共有を構成できます。 詳細については、「管理の概要」を参照してください。
ユーザー向けの言語でポリシーエラーを報告します。 ユーザーがファイルを開くことができる理由をユーザーが理解できるように、継承されたコンテナー アクセスをアクセス許可パネルの直接項目アクセスと区別します。
使用しているテナントからメンバーシップを管理する
使用テナント管理者は、SharePoint 管理センターまたは SharePoint Embedded PowerShell を使用して、コンテナー メンバーシップを直接管理できます。 これらのツールは、アプリ駆動型の Microsoft Graph アクセス許可 API を補完し、管理または中断のメンバーシップの変更に役立ちます。