SharePoint Embedded での共有とアクセス許可

追加のアクセス許可

SharePoint Embedded では、コンテンツは常にその親階層からアクセス許可を継承します。 この継承されたアクセス許可構造を変更することはできませんが、特定のファイルやフォルダーに "追加アクセス許可" を適用することで、コンテナー内のアクセスを拡張できます。 たとえば、 UserA が閲覧者ロールに属している場合は、Microsoft Graph を使用して、そのコンテナー内の特定のドキュメントに対してユーザーの編集アクセス許可を付与できます。

シナリオ Microsoft Graph API Notes (メモ)
追加のアクセス許可を付与する POST /drive/{drive-id}/items/{item-id}/invite sendInvitation プロパティは常に false にする必要があります。 これは基本的にロールへのユーザーの追加と同じであるため、コンテナー内のルート フォルダーに追加アクセス許可を付与することはできません。 AppOnly アクセス許可を使用することはできません。
アクセス許可を取得する GET /drive/{drive-id}/items/{item-id}/permissions & GET /drive/{drive-id}/items/{item-id}/permissions/{perm-id},
追加アクセス許可を削除する DELETE /drive/{drive-id}/items/{item-id}/permissions/{perm-id} 削除できるのは、最初に追加されたドライブ項目に対する追加アクセス許可のみです。

ロールベースの共有設定

SharePoint Embedded にはロールベースの共有モデルが用意されており、開発者はコンテナーアクセス許可ロールに基づいてファイル共有アクセス許可を構成でき、制限付き共有モデルとオープン共有モデルのどちらかを選択できます。 既定では、共有設定は開いているモデルに構成され、すべてのユーザーによる無制限のコンテンツ共有が許可されます。 この共有設定は、 コンテナーの種類の構成の一部です。 この構成は、アプリケーション所有者の開発者のみが設定できます。 コンテナーのアクセス許可ロールの詳細については、「 SharePoint Embedded による認証と承認」を参照してください。

制限の厳しい共有モデル

ファイルに新しいアクセス許可を追加できるのは、所有者ロールまたはマネージャー ロールであるコンテナー メンバーのみです。

共有モデルを開く

編集アクセス許可を持つコンテナー メンバーとゲストは、このファイルに新しいアクセス許可を追加できます。

これは、次の例に従って、PowerShell コマンドレット Set-SPOcontainerTypeConfiguration を 使用して構成できます。

Set-SPOcontainerTypeConfiguration
    -containerTypeID <containerTypeID>
    -sharingRestricted $false

共有構成設定

既定では、SharePoint Embedded アプリケーション共有構成は、使用しているテナント共有構成と同じです。 たとえば、使用しているテナントがゲストの共有を無効にするように構成されている場合、SharePoint Embedded アプリケーションはゲストをコンテナー ロールに追加したり、追加のアクセス許可を付与したりできません。

アプリケーション外部共有のオーバーライド

SharePoint Embedded アプリケーションの場合、共有構成はアプリケーション レベルで調整できます。 テナント管理者を使用すると、テナント レベルの共有設定とは異なるアクセス許可を構成できます。 たとえば、テナントの共有設定でゲストとの共有が禁止されている場合、ゲスト共有を許可するように SharePoint Embedded アプリケーションを構成できます。 そのため、その SharePoint Embedded アプリケーション内のすべてのコンテナーでは、ゲストを含めたり、別のアクセス許可を拡張したりできますが、他の SharePoint Embedded アプリケーションと SharePoint は制限付き共有アクセス許可を維持します。

この設定は、テナント SharePoint Embedded 管理者を使用することによってのみ設定でき、次の例に示すように、最新の PowerShell コマンドレット Set-SPOApplication を 使用して構成できます。

Set-SPOApplication
    -OwningApplicationID <OwningApplicationId>
    -OverrideTenantSharingCapability $true
    -SharingCapability <SharingCapability>