OpenAI
このページは機械翻訳されています。元の英語の記事を表示。

SharePoint サイトアクセスと秘密度ラベルによる除外の管理

ChatGPT で SharePoint サイトへのアクセスを管理し、選択した秘密度ラベルが付いた対応ファイルを除外する方法を説明します。

更新日: 4 days ago

概要

ワークスペース管理者は、SharePoint のコントロールを使用して、承認済みサイトコレクションの許可、選択したサイトコレクションのブロック、指定した Microsoft Purview 秘密度ラベルが付いた対応ファイルの除外を行えます。

SharePoint サイトコレクションは SPSite とも呼ばれ、複数のサイトを含むことができます。コレクションのルールは、各ユーザーの既存の Microsoft 権限の範囲内で、コレクション全体に適用されます。Microsoft 365 でアクセスできないコンテンツへのアクセス権を、ユーザーに付与するものではありません。

サイト制限は、対応する SharePoint の検索、閲覧、ファイル取得、読み取り/書き込み操作に適用されます。OneDrive へのアクセスは別途管理されます。

ポリシーに合ったアクセスモードを選択してください。

  • 許可されたサイト:許可リストに項目がある場合、ユーザーがアプリ経由でアクセスできるのは、リストに記載されたサイトコレクションのみです。

  • ブロックされたサイト:ユーザーは、自身の Microsoft 権限の範囲内で、拒否リストにないサイトコレクションにアクセスできます。

一度に項目を登録できるのは、どちらか一方のリストのみです。許可リストが空でも、すべてのサイトがブロックされるわけではありません。両方のリストが空の場合、SharePoint サイトの制限は解除されます。ただし、Microsoft の権限と、設定済みのその他のコントロールは引き続き適用されます。

利用条件

コントロールとワークスペース Admin API を使用するには、ワークスペースでの有効化が必要です。利用可能なコントロールには、サイトコレクションの許可リストと拒否リスト、CSV によるサイトのインポート、秘密度ラベルによる除外があります。

ルールはサイトコレクション全体に適用されます。これらのサイトコレクション用コントロールには、対象範囲を個別のサイト、フォルダー、ファイルに限定する機能や、Microsoft Sites.Selected の適用機能は含まれていません。

事前準備

  • 組織で許可またはブロックするサイトコレクションを特定します。

  • 各コレクションの GUID を取得します。完全な Microsoft Graph サイト ID では、中央の値がコレクション GUID です。Admin API はコレクション GUID を使用します。UI の CSV インポーターは、Graph サイト ID の 3 要素の組からコレクション GUID を抽出することもできます。

  • ChatGPT の権限設定と Microsoft Entra の両方で、Sites.Read.All と Files.Read.All を含む、SharePoint アプリに必要な Microsoft の権限を有効にします。これらのコントロールは OpenAI 側でアクセスをフィルタリングするものであり、Microsoft の委任されたアクセス許可に代わるものではありません。

  • 秘密度ラベルによる除外を設定するには、暗号化を適用しない各ラベルの不変の GUID を、Microsoft 365 または Purview の管理者に確認してください。

  • API で管理する場合は、ワークスペース UUID と ChatGPT ワークスペース管理者キーを取得します。SharePoint URL を解決する必要がある場合は、Microsoft Graph トークンも取得してください。この 2 つの認証情報は、用途が異なります。

OpenAI Cookbook について

OpenAI Cookbook は、OpenAI が公開しているサンプルコードとガイドの集成です。この記事では、Cookbook のSharePoint サイトアクセスガイドとPython 管理スクリプトを使用します。どちらも GitHub で公開されています。ブラウザーでこれらのリンクを開くと、ファイルの内容を確認できます。スクリプトを実行するには、ダウンロードしたうえで、ガイドのセットアップ手順とコマンドの説明に従ってください。

この記事では、「Cookbook」は上記の SharePoint ガイドを、「Cookbook ユーティリティ」はリンク先の Python スクリプトを指します。コマンドの例や API による許可リストの管理については、これらの資料を参照してください。

API 管理用の認証情報の設定

注:管理者キーを作成するには、ワークスペース管理者である必要があります。詳細はこちら

ChatGPT ワークスペース管理者キーの作成

  1. ChatGPT 管理コンソールを開き、対象のワークスペースを選択します。

  2. 認証情報に移動し、管理者キーを選択します。

  3. 権限を制限付きにしてキーを作成し、アプリを書き込みに設定します。

  4. キーを安全に保管してください。このキーは、ワークスペースの SharePoint ポリシーの読み取りと変更を許可します。

必要な権限は chatgpt.enterprise.apps.write です。API プラットフォームのキーや Microsoft Graph トークンは、ChatGPT ワークスペース管理者キーの代わりにはなりません。

詳しくは、認証情報タブでの管理者キーの管理を参照してください。スクリプトの認証情報用環境変数と安全な入力例については、Cookbook の認証情報に関する手順を参照してください。

Microsoft Graph トークンの取得

組織で承認された Microsoft 認証プロセスを使用してください。組織で Graph Explorer の利用が許可されている場合は、次の手順で対話的に検索できます。

  1. Microsoft Graph Explorer を開き、SharePoint サイトがあるテナントの職場アカウントでサインインします。

  2. アクセス許可の変更またはアクセス許可への同意で、サイトの読み取りに必要な権限(通常は Sites.Read.All)を選択します。組織で承認が必要な場合は、Microsoft 管理者にアクセスの承認を依頼してください。

  3. アクセストークンタブを開き、Microsoft Graph で使用するトークンをコピーします。

Microsoft の手順については、Graph Explorer の操作を参照してください。

Graph トークンは、SharePoint URL を識別子に解決するために使用します。ChatGPT 管理者キーは、ChatGPT ポリシーの読み取りや更新に使用します。Cookbook ユーティリティで Graph トークンが必要なのは、URL を解決するコマンドのみです。既存の許可リストの読み取りやクリアには、ChatGPT 管理者キーのみが必要です。

どちらの認証情報も、ソース管理、共有ドキュメント、スクリーンショット、ログに含めないでください。

サイトコレクションの GUID の確認

SharePoint サイト URL の使用

  1. サイトにアクセスできるアカウントで Microsoft にサインインした状態で、SharePoint サイトを開きます。

  2. サイト URL の末尾に /_api/site/id を追加します。たとえば、https://contoso.sharepoint.com/sites/Finance/_api/site/id を使用します。

  3. レスポンスで返された GUID をコピーします。

注:この記事の例に使用しているドメインと識別子はプレースホルダーです。

Microsoft Graph の使用

Microsoft Graph は、ホスト名、サイトコレクションの GUID、サイトの GUID という 3 つの要素をカンマで区切ったサイト ID を返します。サイトコレクションのルールには、中央の値を使用します。異なるサイト URL が、同じコレクション GUID に解決される場合があります。

検索方法と識別子の例については、SharePoint サイト識別子についてを参照してください。ChatGPT のポリシーを変更せずに複数の URL を解決するには、Cookbook の検査手順とPython 管理スクリプトを使用してください。

Microsoft の検索要件については、パスによる SharePoint サイトの取得を参照してください。

許可・ブロックするサイトコレクションの管理

ワークスペースのコントロールの使用

  1. ワークスペースで、SharePoint アプリの安全性とセキュリティのコントロールを開きます。

  2. アクセスモードで、許可されたサイトまたはブロックされたサイトを選択します。

  3. 選択したリストにサイトコレクションを追加します。後述の CSV アップロードも使用できます。

  4. 変更内容を確認し、保存を選択します。

  5. 保存したポリシーを確認し、設定をテストします。

Admin API で追加したサイトは、ワークスペースのコントロールに表示されます。UI で追加したサイトも、API から利用できます。項目の追加や削除は、どちらからでも行えます。サイトの追加に使った方法に、その後の管理方法が限定されることはありません。

許可されたサイトとブロックされたサイトの切り替え

一度に項目を登録できるのは、どちらか一方のリストのみです。もう一方のモードで項目を追加する前に、既存のリストを空にして、その変更を保存してください。その後、もう一方のモードを選択し、対象のコレクションを追加して再度保存します。


有効なリストを空にして保存すると、アクセス範囲は直ちに変わります。許可リストを空にすると、そのリストによるサイト制限が解除されます。拒否リストを空にすると、そのリストによるブロックが解除されます。一方のリストを空にしてから、もう一方を保存するまでの間は、最終的なポリシーでは制限されるアクセスが許可される可能性があります。他の管理者と連携して切り替えを計画してください。

CSV からのサイトコレクションのアップロード

CSV アップロードは、サイトコレクションにのみ対応しています。秘密度ラベルでファイルを除外するには、除外する暗号化なしの秘密度ラベルにラベルの GUID を追加してください。

  1. 安全性とセキュリティのコントロールを開き、目的のアクセスモードを選択します。

  2. サイトコレクションの GUID、または Microsoft Graph サイト ID の 3 要素の組を含む CSV を用意します。ファイル全体で識別子の形式を統一してください。

  3. CSV ファイルをアップロードを選択し、ファイルを指定します。

  4. インポート結果と、選択したリストを確認します。行のエラーや警告がある場合は、解消してから続行してください。

  5. 保存を選択して変更を適用し、保存されたリストを確認します。

CSV の要件と動作:

  • 最大ファイルサイズ:1 MB

  • ヘッダーは任意です。

  • 各行にコレクション GUID を 1 つ、または Graph サイト ID の 3 要素の組を指定してください。3 要素の組は、引用符で囲んで 1 つのフィールドに入れるか、3 つの列に分けて指定できます。

  • Graph の 3 要素の組は、コレクション GUID に変換されます。3 要素の組をインポートしても、個別のサイトのみを対象とするルールは作成されません。

  • インポートでは、既存の項目を保持したまま、選択したリストに項目を追加します。コレクションの重複は排除され、インポート件数には新しく追加されたコレクションの数が表示されます。

  • 形式が混在している場合や、行の形式が正しくない場合は拒否されます。サイト URL のみを含むファイルをアップロードすると警告が表示され、サイトは追加されません。まず URL をコレクション GUID に解決してください。

  • アップロードで変更されるのは、未保存のリストのみです。保存を選択するまで、ワークスペースのアクセス設定は更新されません。

  • ここで説明した CSV アップロードは、サイトコレクションを管理するためのものです。秘密度ラベルによる除外は、別途設定してください。

SharePoint URL を含む CSV がある場合は、Cookbook ユーティリティの CSV ワークフローで URL を解決し、API 経由で許可リストを管理できます。このワークフローの site_url または url 入力は、UI での識別子アップロードとは形式も手順も異なります。

ポリシーとリクエストの上限

ポリシーのデフォルトの上限は、サイトコレクション 10,000 件です。ワークスペースのポリシー上限を引き上げるには、OpenAI による有効化が必要です。最大 120,000 件のサイトコレクションに対応できます。大規模な導入を計画する前に、担当の OpenAI チームにお問い合わせください。

個々の API 変更操作と現在の Cookbook スクリプトが受け付ける上限は、リクエストあたり 10,000 件のコレクション GUIDです。ワークスペースのポリシー上限を引き上げても、このリクエストあたりの上限は変わりません。複数の URL が同じコレクションを指す場合があるため、元の URL 数ではなく、重複を除いたサイトコレクション数を数えてください。

ワークスペース Admin API の使用

ワークスペース UUID と ChatGPT ワークスペース管理者キーを使用して、https://api.chatgpt.com にアクセスします。

継続的に更新されている許可リスト用コマンドとリクエスト例については、Cookbook を参照してください。

変更前に現在のポリシーを確認し、変更後に再度読み取って、実際のアクセスをテストしてください。許可された最後のコレクションを削除するか、許可リストを空にすると、そのリストによるサイト制限が解除されます。許可リストによる制限を解除する意図がない限り、空の追加リクエストを送信しないでください。

公開されている Cookbook ユーティリティが現在管理できるのは、許可リストのみです。拒否リストや秘密度ラベルによる除外は管理できません。これらの管理には、前述のワークスペースのコントロールを使用してください。

秘密度ラベルによるファイルの除外

ラベル GUID の確認

対象ラベルの不変の GUID を、Microsoft 365 または Purview の管理者に確認してください。表示名ではなく GUID を使用してください。

管理者は Microsoft Graph でラベルの一覧を取得できます。トークンには、該当する SensitivityLabel.Read または SensitivityLabels.Read.All の権限が必要です。対象ラベルの名前と ID を照合し、保護設定を確認します。

要件と例については、秘密度ラベルの一覧取得と秘密度ラベルのプロパティを参照してください。これらのラベル用権限は、SharePoint URL の解決に使用するサイト読み取り権限とは別のものです。

除外対象ラベルの追加

  1. SharePoint アプリの安全性とセキュリティのコントロールを開きます。

  2. 除外する暗号化なしの秘密度ラベルに、暗号化を適用しない各ラベルの GUID を入力します。

  3. 設定を保存し、除外対象ラベルが付いた対応ファイルでテストします。

対応するラベルが除外対象と一致するファイルは、SharePoint アプリの結果から除外されます。暗号化を適用するラベルが付いたファイルは、デフォルトですでに除外されています。

設定のテスト

組織が承認したテスト用ファイルとアカウントを使用してください。テスト前に、テストに使う Microsoft アカウントで、SharePoint 上の各ファイルに直接アクセスできることを確認してください。

  1. リストに項目がある許可されたサイトモードで、許可されたコレクション内のファイルと、リストにないコレクション内のファイルを確認します。アプリ経由でアクセスできるのは、許可されたコレクションのみであることを確認してください。

  2. ブロックされたサイトモードで、ブロックされたコレクション内のファイルと、ブロックされていないコレクション内のファイルを確認します。ブロックされたコレクションは利用できないことを確認してください。ブロックされていないコレクションには、引き続き Microsoft の権限とその他のコントロールが適用されます。

  3. 除外対象の秘密度ラベルが付いた、対応形式のテスト用ファイルを確認します。そのファイルがアプリの結果に表示されないことを確認してください。

  4. API で変更した後は、UI に保存されたリストと API が返すポリシーを比較してください。

  5. CSV アップロード後は変更を保存し、コントロールを開き直して、意図したコレクションが保持されていることを確認してください。

結果が意図したポリシーと異なる場合は、ワークスペース、選択したアクセスモード、保存済みリスト、コレクション GUID、ラベル GUID、対応ファイル形式、ユーザーの Microsoft 権限を確認してください。リストを空にするとアクセス範囲が変わります。その変更を意図していない限り、トラブルシューティングの一環としてリストを空にしないでください。

コントロールが見つからない場合や、想定外のアクセスが発生した場合は、OpenAI サポートへのお問い合わせを参照してください。サポートへのお問い合わせに、管理者キーや Microsoft Graph トークンを含めないでください。

制限事項

  • コレクションのルールは、サイトコレクション全体に適用されます。アクセス範囲を特定のサブサイト、フォルダー、ファイルに限定することはできません。

  • SharePoint サイトの制限によって、OneDrive へのアクセスが自動的に制限されることはありません。

  • 秘密度ラベルによるフィルタリングは、Microsoft Graph が対応するラベルメタデータを公開している場合にのみ適用されます。対象には、対応する Office ドキュメント、PDF、MP4 ファイルが含まれます。

  • TXT や CSV など、秘密度ラベルに対応していないファイル形式は、ラベルなしとして扱われます。これらのファイルは、他の条件で許可されていれば引き続きアクセスできます。このファイル形式の制限は、サイトアクセスを設定するための CSV アップロードとは別のものです。

  • CSV アップロードと公開されているサンプルユーティリティでは、秘密度ラベルによる除外は設定できません。この記事では、ラベルを一括管理する API については説明していません。

  • ポリシーの保存や API レスポンスの成功だけでは、対象のアカウントを使ったアクセステストの代わりにはなりません。

Python 管理ユーティリティの使用

サンプルコードとコマンドの完全版は、OpenAI Cookbook で管理されています。

Python 3.10 以降を使用してください。このユーティリティは Python 標準ライブラリを使用します。実行前にガイドを読み、ドライランで変更内容を確認してください。

現在のユーティリティは環境変数から認証情報を読み取ります。ガイドに記載された安全な入力手順に従ってください。許可リストを空にするには、明示的な確認が必要です。個別の削除はその確認なしで実行できるため、まずドライランで削除内容を確認してください。

再試行時の動作と任意の冪等性キーについては、ポリシー更新の安全な再試行を参照してください。冪等性キーはワークスペースが対応している場合にのみ使用し、結果が不明確なエラーが発生した場合は、現在のポリシーを確認してください。

このユーティリティは、ワークスペース機能の有効化や、制限が実際に適用されているかの検証は行いません。オフラインテストでは、Microsoft Graph と ChatGPT Admin API の呼び出しをモック化して使用します。

複数のリクエストにまたがる変更には、原子性がありません。複数のコレクションの削除が途中で失敗した場合、それ以前の削除はすでに成功している可能性があります。再試行する前に、現在のポリシーを読み取ってください。

よくある質問

サイトのコントロールは Microsoft の権限に代わるものですか?

いいえ。アプリは引き続き、各ユーザーの Microsoft 権限を使用します。OpenAI は、レスポンスがユーザーやモデルに提示される前に、設定されたサイトフィルタリングを適用します。

許可リストが空の場合、すべてのサイトがブロックされますか?

いいえ。許可リストが空でも、「すべてブロック」を意味するわけではありません。拒否リストに項目がある場合、それらのコレクションは引き続きブロックされます。どちらのリストにも項目がない場合は、ユーザーの Microsoft 権限と、設定済みのその他のコントロールによってアクセスが決まります。

Admin API による変更はログに記録されますか?

Admin API によるポリシー変更は、ワークスペースの監査ログとコンプライアンスログに記録されます。

この記事は役に立ちましたか?