Google Drive コネクタ V2.0 - Amazon Kendra

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Google Drive コネクタ V2.0

Google Drive はクラウドベースのファイルストレージサービスです。を使用してAmazon Kendra、Google Drive データソースの共有ドライブ、マイドライブ、共有フォルダに保存されているドキュメントやコメントのインデックスを作成できます。Google WorkSpace のドキュメントと、ドキュメントのタイプに記載されているドキュメントにインデックスを作成できます。包含フィルターと除外フィルターを使用して、ファイル名、ファイルタイプ、ファイルパスでコンテンツにインデックスを作成することもできます。

注記

Google Drive コネクタ V1.0/Google DriveConfiguration API のサポートは 2023 年に終了しました。Google Drive コネクタ V2.0/TemplateConfiguration API に移行するか、こちらを使用することをお勧めします。

Amazon KendraGoogle Drive データソースコネクタのトラブルシューティングについては、「」を参照してくださいデータソースのトラブルシューティング

サポートされている機能

  • フィールドマッピング

  • ユーザーアクセスコントロール

  • 包含/除外フィルター

  • 完全および増分コンテンツ同期

  • Virtual Private Cloud (VPC)

前提条件

Amazon Kendraを使用して Google Drive データソースのインデックスを作成する前に、Google Drive とAWSアカウントでこれらの変更を行います。

Google Drive で以下を確認してください。

  • スーパー管理者ロールからアクセスを許可されている、管理者権限を持つユーザーであるかのどちらかです。スーパー管理者ロールからアクセス許可を付与されている場合は、スーパー管理者ロールは必要ありません。

  • 管理者アカウントの E メール、クライアントの E メール (サービスアカウントの E メール)、シークレットキーを含む Google Drive サービスアカウントの接続認証情報を設定しました。サービスアカウントキーの作成と削除については、Google Cloud のドキュメントを参照してください。

    注記

    認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。認証情報とシークレットを、データソース、コネクタバージョン 1.0 と 2.0 (該当する場合) で再利用することは推奨しません

  • サーバー間認証で [G Suite ドメイン全体の委任を有効にする] を有効化して Google Cloud サービスアカウント (ユーザー ID を引き継ぐ権限が委任されたアカウント) を作成し、そのアカウントを使用して JSON プライベートキーを生成しました。

    注記

    シークレットキーは、サービスアカウントの作成後に生成する必要があります。

  • ユーザーアカウントに管理 SDK API と Google Drive API が追加されました。

  • オプション: クライアント ID、クライアントシークレット、更新トークンを含む Google Drive OAuth 2.0 接続認証情報を特定のユーザーの接続認証情報として設定しました。これは個々のアカウントデータをクロールするのに必要です。OAuth 2.0 を使用して API にアクセスする方法については、Google のドキュメントを参照してください。

  • スーパー管理者ロールを使用して、以下の OAuth スコープをサービスアカウントに追加しました (またはスーパー管理者ロールを持つユーザーに追加を依頼しました)。これらの API スコープは、Google Workspace ドメイン内のすべてのドキュメントとアクセスコントロール (ACL) 情報をクロールするために必要です。

    • https://www.googleapis.com/auth/drive.readonly - Google Drive のファイルをすべて表示してダウンロードします

    • https://www.googleapis.com/auth/drive.metadata.readonly - Google Drive 内のファイルのメタデータを表示します。

    • https://www.googleapis.com/auth/admin.directory.group.readonly - スコープは、グループ、グループエイリアス、およびメンバー情報のみを取得するためのものです。これは Amazon KendraIdentity Crawler に必要です。

    • https://www.googleapis.com/auth/admin.directory.user.readonly - スコープは、ユーザーまたはユーザーエイリアスのみを取得するためのものです。これは、Amazon KendraIdentity Crawler でユーザーを一覧表示したり、ACLs を設定したりするために必要です。

    • https://www.googleapis.com/auth/cloud-platform - スコープは、大きな Google Drive ファイルのコンテンツを取得するためのアクセストークンを生成するためのものです。

    • https://www.googleapis.com/auth/forms.body.readonly - スコープは、Google フォームからデータを取得するためのものです。

    Forms API をサポートするには、以下のスコープを追加してください。

    • https://www.googleapis.com/auth/forms.body.readonly

  • 各ドキュメントが Google Drive および同じインデックスを使用予定の他のデータソース間で一意であることが確認されていること。インデックスに使用する各データソースには、データソース全体に同じドキュメントが含まれていてはなりません。ドキュメント ID はインデックス全体に適用され、インデックスごとに一意である必要があります。

でAWS アカウント、以下があることを確認します。

  • Amazon Kendraインデックスを作成し、API を使用している場合はインデックス ID を記録しました。

  • データソースの IAMロールを作成し、 API を使用している場合はロールの ARN を記録しましたIAM。

    注記

    認証タイプと認証情報を変更する場合は、IAMロールを更新して正しいAWS Secrets Managerシークレット ID にアクセスする必要があります。

  • Google Drive の認証情報を AWS Secrets Manager シークレットに保存し、API を使用している場合は、シークレットの ARN を記録済み。

    注記

    認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。認証情報とシークレットを、データソース、コネクタバージョン 1.0 と 2.0 (該当する場合) で再利用することは推奨しません

既存のIAMロールまたはシークレットがない場合は、Google Drive データソースを接続するときに コンソールを使用して新しいIAMロールとSecrets Managerシークレットを作成できますAmazon Kendra。API を使用している場合は、既存のIAMロールとSecrets Managerシークレットの ARN とインデックス ID を指定する必要があります。

接続手順

Google Drive データソースAmazon Kendraに接続するには、 がデータAmazon Kendraにアクセスできるように、Google Drive データソースの必要な詳細を指定する必要があります。Google Drive をまだ設定していない場合は、Amazon Kendra「」を参照してください前提条件

Console

Google Drive Amazon Kendraに接続するには

  1. にサインインAWS マネジメントコンソールし、 Amazon Kendraコンソールを開きます。

  2. 左側のナビゲーションペインで、[インデックス] を選択し、インデックスのリストから使用するインデックスを選択します。

    注記

    [インデックスの設定] で、[ユーザーアクセスコントロール] 設定を設定または編集できます。

  3. [使用開始] ページで、[データソースを追加] を選択します。

  4. [データソースを追加する] ページで [Google Drive コネクタ] を選択し、[コネクタを追加] を選択します。バージョン 2 (該当する場合) を使用している場合は、「V2.0」タグが付いた [Google Drive コネクタ] を選択します。

  5. [データソースの詳細を指定] ページで、次の情報を入力します。

    1. [名前と説明][データソース名] に、データソースの名前を入力します。ハイフン (-) は使用できますが、スペースは使用できません。

    2. (オプション) [説明] - オプションで、データソースの説明を入力します。

    3. [デフォルト言語] - インデックス用にドキュメントをフィルターするための言語。特に指定しない限り、言語はデフォルトで英語に設定されます。ドキュメントのメタデータで指定された言語は、選択した言語よりも優先されます。

    4. タグで新しいタグを追加する - リソースを検索してフィルタリングしたり、AWSコストを追跡したりするためのオプションのタグを含めます。

    5. [次へ] を選択します。

  6. [アクセスとセキュリティの定義] ページで、次の情報を入力します。

    1. [承認] - アクセスコントロールリスト (ACL) があり、それをアクセスコントロールに使用する場合に、ドキュメントの ACL 情報を有効にするか無効にするかを選択します。ACL では、ユーザーとグループがアクセスできるドキュメントを指定します。ACL 情報は、ユーザーまたはそのグループのドキュメントへのアクセスに基づいて、検索結果をフィルタリングするために使用されます。詳細については、「User context filtering」を参照してください。

    2. [認証] 用 - ユースケースに基づいて [Google サービスアカウント][OAuth 2.0 認証] のいずれかを選択します。

    3. AWS Secrets Managersecret — 既存のシークレットを選択するか、新しいSecrets Managerシークレットを作成して Google Drive 認証情報を保存します。新しいシークレットの作成を選択すると、AWS Secrets Manager シークレットウィンドウが開きます。

      1. [Google サービスアカウント] を選択した場合は、シークレットの名前、サービスアカウント設定の管理者ユーザーまたは「サービスアカウントユーザー」の E メール ID (管理者 E メール)、サービスアカウントの E メール ID (クライアント E メール)、およびサービスアカウントで作成したプライベートキーを入力します。

        シークレットを保存して追加します。

      2. [OAuth 2.0 認証] を選択した場合は、OAuth アカウントで作成したシークレット名、クライアント ID、クライアントシークレット、更新トークンを入力します。ユーザーの E メール ID (接続の詳細が設定されているユーザー) が ACL として設定されます。API の制限により、コネクタは他のユーザー/グループのプリンシパル情報を ACL として設定しません。

        シークレットを保存して追加します。

    4. [仮想プライベートクラウド (VPC)] - VPC の使用を選択できます。選択する場合は、[サブネット][VPC セキュリティグループ] を追加する必要があります。

    5. (Google サービスアカウント認証を使用しているユーザーのみ対象)

      [ID クローラー] - Amazon Kendra の ID クローラーを有効にするかどうかを指定します。ID クローラーは、ドキュメントのアクセスコントロールリスト (ACL) 情報を使用して、ユーザーまたはそのグループのドキュメントへのアクセス権に基づいて検索結果をフィルタリングします。ドキュメントの ACL があり、ACL を使用することを選択した場合は、Amazon KendraID クローラをオンにして検索結果のユーザーコンテキストフィルタリングを設定することもできます。それ以外の場合は、ID クローラーがオフになっている場合、すべてのドキュメントは公開され検索可能になります。ID クローラーがオフになっているときにドキュメントのアクセスコントロールを使用する場合は、代わりに PutPrincipalMapping API を使用して、ユーザーコンテキストフィルタリング用にユーザーとグループのアクセス情報をアップロードすることができます。

    6. IAMrole — 既存のIAMロールを選択するか、新しいIAMロールを作成してリポジトリの認証情報とインデックスコンテンツにアクセスします。

      注記

      IAMインデックスに使用される ロールは、データソースには使用できません。インデックスやよくある質問に既存のロールが使用されているかどうかが不明な場合は、エラーを避けるため、[新しいロールを作成] を選択してください。

    7. [次へ] を選択します。

  7. [同期設定の構成] ページで、次の情報を入力します。

    1. [コンテンツの同期] — クロールするオプションまたはコンテンツを選択します。[マイドライブ] (個人用フォルダ)、[共有ドライブ] (共有フォルダ)、またはその両方をクロールするように指定できます。ファイルのコメントを含めることもできます。

    2. [追加設定 - オプション] で、以下のオプション情報を入力することもできます。

      1. [最大ファイルサイズ] - クロールするファイルの最大サイズ制限を MB 単位で設定します。

      2. [ユーザー E メール] - 含める、または除外するユーザー E メールを追加します。

      3. [共有ドライブ] - 含める、または除外する共有ドライブ名を追加します。

      4. [MIME タイプ] - 含める、または除外する MIME タイプを追加します。

      5. [エンティティ正規表現パターン] - 正規表現パターンを追加して、サポートされているすべてのエンティティの特定の添付ファイルを含めたり除外したりできます。最大 100 のパターンを追加できます。

        ファイル名ファイルタイプファイルパスの包含/除外正規表現パターンを設定できます。

        • ファイル名 – 含める、または除外するファイルの名前。たとえば、teamroster.txt という名前のファイルのインデックスを作成するには、teamroster を指定します。

        • ファイルタイプ – 含める、または除外するファイルのタイプ。例: .pdf、.txt、.docx

        • ファイルパス – 含める、または除外するファイルのパス。たとえば、ドライブの Products list フォルダ内のファイルのみにインデックスを作成するには、/Products list を指定します。

    3. [同期モード] - データソースのコンテンツが変更されたときのインデックスの更新方法を選択します。Amazon Kendra でデータソースを初めて同期すると、デフォルトですべてのコンテンツがクロールされ、インデックスが作成されます。同期モードオプションとして完全同期を選択していない場合でも、最初の同期が失敗した場合は、データの完全同期を実行する必要があります。

      • 完全同期: データソースがインデックスと同期されるたびに、既存のコンテンツを置き換えて、すべてのコンテンツのインデックスを新たに作成します。

      • 新しい、変更された同期: データソースがインデックスと同期するたびに、新しいコンテンツと変更されたコンテンツのインデックスのみを作成します。 Amazon Kendraは、データソースのメカニズムを使用して、前回の同期以降に変更されたコンテンツの変更とインデックスコンテンツを追跡できます。

      • 新規作成、変更、削除の同期: データソースがインデックスと同期するたびに、新規作成、変更、削除されたコンテンツのみのインデックスを作成します。Amazon Kendra は、データソースのメカニズムを利用してコンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツのインデックスを作成することができます。

      重要

      Google Drive API は、完全に削除されたファイルからのコメントの取得をサポートしていません。ゴミ箱に捨てられたファイルからのコメントは取得可能です。ファイルが破棄されると、コネクタはAmazon Kendraインデックスからコメントを削除します。

    4. [同期実行スケジュール][頻度] - データソースコンテンツを同期してインデックスを更新する頻度を選択します。

    5. 同期実行履歴で、データソースを同期Amazon S3するときに、自動生成されたレポートを に保存することを選択します。データソースを同期する際の問題を追跡するのに役立ちます。

    6. [次へ] を選択します。

  8. [フィールドマッピングを設定] ページで、次の情報を入力します。

    1. ファイル - インデックスにマッピングするAmazon Kendra、生成されたデフォルトのデータソースフィールドから選択します。

      注記

      Google Drive API はカスタムフィールドの作成をサポートしていません。Google Drive コネクタではカスタムフィールドマッピングは使用できません。

    2. [次へ] を選択します。

  9. [確認と作成] ページで、入力した情報が正しいことを確認し、[データソースを追加] を選択します。このページで情報の編集を選択することもできます。データソースが正常に追加されると、データソースが [データソース] ページに表示されます。

API

Google Drive Amazon Kendraに接続するには

TemplateConfiguration API を使用してデータソーススキーマの JSON を指定する必要があります。これには、以下の情報を入力する必要があります。

  • [データソース]TemplateConfiguration JSON スキーマを使用する場合は、データソースタイプを GOOGLEDRIVEV2 と指定します。また、CreateDataSource API を呼び出す場合は、データソースを TEMPLATE と指定します。

  • [認証タイプ] — サービスアカウント認証と OAuth 2.0 認証のどちらを使用するかを指定します。

  • 同期モード — データソースコンテンツが変更されたときに Amazon Kendraがインデックスを更新する方法を指定します。データソースを Amazon Kendraと初めて同期すると、デフォルトですべてのコンテンツがクロールされ、インデックスが作成されます。同期モードオプションとして完全同期を選択していない場合でも、最初の同期が失敗した場合は、データの完全同期を実行する必要があります。以下のいずれかから選択できます。

    • FORCED_FULL_CRAWL は、データソースがインデックスと同期されるたびに、既存のコンテンツを置き換えて、すべてのコンテンツのインデックスを新たに作成します。

    • FULL_CRAWL は、データソースがインデックスと同期するたびに、新規、変更、削除されたコンテンツのインデックスのみを作成します。 Amazon Kendraは、データソースのメカニズムを使用して、コンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツのインデックスを作成できます。

    • CHANGE_LOG は、データソースがインデックスと同期するたびに、新規および変更されたコンテンツのインデックスのみを作成します。 Amazon Kendraは、データソースのメカニズムを使用して、コンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツのインデックスを作成できます。

    重要

    Google Drive API は、完全に削除されたファイルからのコメントの取得をサポートしていません。ゴミ箱に捨てられたファイルからのコメントは取得可能です。ファイルが破棄されると、コネクタはAmazon Kendraインデックスからコメントを削除します。

  • Secret Amazon Resource Name (ARN) — Google Drive アカウントで作成した認証情報を含むSecrets Managerシークレットの Amazon リソースネーム (ARN) を指定します。Google サービスアカウント認証を使用する場合、シークレットは以下のキーを含む JSON 構造に保存されます。

    { "clientEmail": "user account email", "adminAccountEmail": "service account email", "privateKey": "private key" }

    OAuth 2.0 認証を使用する場合、シークレットは以下のキーを含む JSON 構造に保存されます。

    { "clientID": "OAuth client ID", "clientSecret": "client secret", "refreshToken": "refresh token" }
  • IAMrole — を呼び出しCreateDataSourceて、シーSecrets Managerクレットにアクセスするためのアクセス許可を IAMロールに提供し、Google Drive コネクタと に必要なパブリック APIsを呼び出すRoleArnタイミングを指定しますAmazon Kendra。詳細については、「IAM roles for Google Drive data sources」を参照してください。

オプションで、次の機能を追加することもできます。

  • [仮想プライベートクラウド (VPC)] - VpcConfigurationCreateDataSource を呼び出すタイミングを指定します。詳細については、「を使用するAmazon Kendraように を設定するAmazon VPC」を参照してください。

  • [マイドライブ、共有ドライブ、コメント] — これらのタイプのコンテンツをクロールするかどうかを指定できます。

  • [包含フィルターと除外フィルター] — 特定のユーザーアカウント、共有ドライブ、MIME タイプを含めるか除外するかを指定できます。

    注記

    ほとんどのデータソースは、フィルターと呼ばれる包含または除外パターンである正規表現パターンを使用しています。包含フィルターを指定すると、包含フィルターに一致するコンテンツのみのインデックスが作成されます。包含フィルターに一致しないドキュメントのインデックスは作成されません。包含フィルターと除外フィルターを指定した場合、除外フィルターに一致するドキュメントは、包含フィルターと一致してもインデックスは作成されません。

  • [アクセスコントロールリスト (ACL)] - ACL があり、それをアクセスコントロールに使用したい場合に、ドキュメントの ACL 情報をクロールするかどうかを指定します。ACL では、ユーザーとグループがアクセスできるドキュメントを指定します。ACL 情報は、ユーザーまたはそのグループのドキュメントへのアクセスに基づいて、検索結果をフィルタリングするために使用されます。詳細については、「User context filtering」を参照してください。

  • [ID クローラー] - Amazon Kendra の ID クローラーを有効にするかどうかを指定します。ID クローラーは、ドキュメントのアクセスコントロールリスト (ACL) 情報を使用して、ユーザーまたはそのグループのドキュメントへのアクセス権に基づいて検索結果をフィルタリングします。ドキュメントの ACL があり、ACL を使用することを選択した場合は、Amazon KendraID クローラをオンにして、検索結果のユーザーコンテキストフィルタリングを設定することもできます。それ以外の場合は、ID クローラーがオフになっている場合、すべてのドキュメントは公開され検索可能になります。ID クローラーがオフになっているときにドキュメントのアクセスコントロールを使用する場合は、代わりに PutPrincipalMapping API を使用して、ユーザーコンテキストフィルタリング用にユーザーとグループのアクセス情報をアップロードすることができます。

  • フィールドマッピング - 選択すると、Google Drive データソースフィールドを Amazon Kendra インデックスフィールドにマッピングします。詳細については、「データソースフィールドのマッピング」を参照してください。

    注記

    がドキュメントAmazon Kendraを検索するには、ドキュメント本文フィールドまたはドキュメントと同等のドキュメント本文が必要です。データソースのドキュメント本文フィールド名をインデックスフィールド名 _document_body にマッピングする必要があります。その他のすべてのフィールドはオプションです。

設定が必要なその他の重要な JSON キーのリストについては、「Google Drive template schema」を参照してください。

注意事項

  • Google Drive UI はカスタムフィールドの作成をサポートしていないため、Google Drive コネクタではカスタムフィールドマッピングを使用できません。

  • Google Drive API は、完全に削除されたファイルからのコメントの取得をサポートしていません。ただし、ゴミ箱に捨てられたファイルのコメントは取得できます。ファイルが破棄されると、Amazon KendraコネクタはAmazon Kendraインデックスからコメントを削除します。

  • Google Drive API は .docx ファイルにあるコメントを返しません。

  • 特定の Google document (ドキュメント、スプレッドシート、スライドなど) のアクセス許可が [一般的なアクセス: リンクを知っている全員]、または [特定の会社ドメインと共有] に設定されていいる場合は、クエリを実行するユーザーがそのドキュメントにアクセスするまでは、ドキュメントは Amazon Kendra の検索ユーザーに表示されません。