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 Kendra Google Drive データソースコネクタのトラブルシューティングについては、「」を参照してくださいデータソースのトラブルシューティング

サポートされている機能

  • フィールドマッピング

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

  • 包含/除外フィルター

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

  • 仮想プライベートクラウド (VPC)

前提条件

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

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

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

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

    注記

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

  • 認証のために server-to-server有効化 G Suite ドメイン全体の委任を有効にした Google Cloud Service アカウント (ユーザー ID を引き受けるための委任された権限を持つアカウント) を作成し、そのアカウントを使用してJSONプライベートキーを生成しました。

    注記

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

  • ユーザーアカウントAPIに Admin SDKAPIと Google Drive を追加しました。

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

  • スーパー管理者ロールを使用して、サービスアカウントに次の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 Kendra Identity Crawler に必要です。

    • https://www.googleapis.com/auth/admin.directory.user.readonly - ユーザーまたはユーザーエイリアスのみを取得するスコープ。これは、 Amazon Kendra Identity 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 および同じインデックスを使用予定の他のデータソース間で一意であることが確認されていること。インデックスに使用する各データソースには、データソース全体に同じドキュメントが含まれていてはなりません。ドキュメントIDsはインデックスに対してグローバルであり、インデックスごとに一意である必要があります。

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

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

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

    注記

    認証タイプと認証情報を変更する場合は、 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 Management Console し、Amazon Kendra コンソール を開きます。

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

    注記

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

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

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

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

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

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

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

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

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

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

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

    2. 認証の場合 — ユースケースに基づいて、Google サービスアカウントOAuth 2.0 認証を選択します。

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

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

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

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

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

    4. Virtual Private Cloud (VPC) — の使用を選択できますVPC。その場合は、サブネットVPCセキュリティグループ を追加する必要があります。

    5. (Google サービスアカウント認証ユーザーのみ)

      ID クローラー — Amazon Kendraの ID クローラーを有効にするかどうかを指定します。ID クローラーは、ドキュメントのアクセスコントロールリスト (ACL) 情報を使用して、ユーザーまたはそのグループのドキュメントへのアクセスに基づいて検索結果をフィルタリングします。ドキュメントACLに があり、 を使用することを選択した場合はACL、 Amazon Kendraの ID クローラーをオンにして、検索結果のユーザーコンテキストフィルタリングを設定することもできます。それ以外の場合、ID クローラーがオフになっていると、すべてのドキュメントをパブリックに検索できます。ドキュメントのアクセスコントロールを使用し、ID クローラーがオフになっている場合は、 を使用してユーザーコンテキストフィルタリング用のユーザーおよびグループのアクセス情報PutPrincipalMappingAPIをアップロードすることもできます。

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

      注記

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

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

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

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

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

      1. 最大ファイルサイズ — クロールするMBsファイルの最大サイズ制限を設定します。

      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. [Next (次へ)] を選択します。

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

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

      注記

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

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

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

API

Google Drive Amazon Kendra に接続するには

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

  • データソースTemplateConfigurationJSONスキーマを使用するGOOGLEDRIVEV2ときは、データソースタイプを として指定します。また、 を呼び出すTEMPLATEときにデータソースを CreateDataSource として指定しますAPI。

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

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

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

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

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

    重要

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

  • シークレット Amazon リソースネーム (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" }
  • IAM ロール — を呼び出しCreateDataSourceて、 Secrets Manager シークレットにアクセスするためのアクセス許可を IAM ロールに提供し、Google Drive コネクタと に必要なパブリックAPIsを呼び出すRoleArnタイミングを指定します Amazon Kendra。詳細については、「IAM roles for Google Drive data sources」を参照してください。

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

  • Virtual Private Cloud (VPC) - を呼び出すVpcConfigurationときに を指定しますCreateDataSource。詳細については、「を使用する Amazon Kendra ための の設定 Amazon VPC」を参照してください。

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

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

    注記

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

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

  • ID クローラー — Amazon Kendraの ID クローラーを有効にするかどうかを指定します。ID クローラーは、ドキュメントのアクセスコントロールリスト (ACL) 情報を使用して、ユーザーまたはそのグループのドキュメントへのアクセスに基づいて検索結果をフィルタリングします。ドキュメントACLに があり、 を使用することを選択した場合はACL、 Amazon Kendraの ID クローラーをオンにして、検索結果のユーザーコンテキストフィルタリングを設定することもできます。それ以外の場合、ID クローラーがオフになっていると、すべてのドキュメントをパブリックに検索できます。ドキュメントのアクセスコントロールを使用し、ID クローラーがオフになっている場合は、 を使用してユーザーコンテキストフィルタリングのためにユーザーおよびグループのアクセス情報PutPrincipalMappingAPIをアップロードすることもできます。

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

    注記

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

設定するその他の重要なJSONキーのリストについては、「Google Drive テンプレートスキーマ」を参照してください。

メモ

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

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

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

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