翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
GitHub
GitHub は、バージョン管理機能を備えたコードストレージおよび管理サービスを提供するソフトウェア開発用のウェブベースのホスティングサービスです。を使用してAmazon Kendra、GitHub Enterprise Cloud (SaaS) および GitHub Enterprise Server (オンプレミス) リポジトリファイルのインデックス作成、リクエストの発行とプル、リクエストのコメントの発行とプル、リクエストのコメントの添付ファイルの発行とプルを行うことができます。また、特定のファイルを含めるまたは除外することもできます。
注記
Amazon Kendraがアップグレードされた GitHub コネクタをサポートするようになりました。
コンソールは自動的にアップグレードされています。コンソールで新しくコネクタを作成すると、コネクタにはアップグレードされたアーキテクチャが使用されます。API を使用する場合は、GitHubConfiguration オブジェクトではなく TemplateConfiguration オブジェクトを使用してコネクタを設定する必要があります。
古いコンソールと API アーキテクチャを使用して設定されたコネクタは、引き続き設定どおりに機能します。ただし、それらを編集したり更新したりすることはできません。コネクタ設定を編集または更新する場合は、新しいコネクタを作成する必要があります。
コネクタワークフローをアップグレードされたバージョンに移行することをお勧めします。古いアーキテクチャを使用して設定されたコネクタのサポートは、2024 年 6 月までに終了する予定です。
Amazon Kendraコンソール
Amazon KendraGitHub データソースコネクタのトラブルシューティングについては、「」を参照してくださいデータソースのトラブルシューティング。
サポートされている機能
Amazon KendraGitHub データソースコネクタは、次の機能をサポートしています。
-
フィールドマッピング
-
ユーザーアクセスコントロール
-
包含/除外フィルター
-
完全および増分コンテンツ同期
-
Virtual Private Cloud (VPC)
前提条件
Amazon Kendraを使用して GitHub データソースのインデックスを作成する前に、GitHub と AWSアカウントでこれらの変更を行います。
GitHub で、以下を確認してください。
-
GitHub 組織への管理者アクセス許可を持つ GitHub ユーザーを作成済み。
-
認証情報として使用するように Git Hub で個人用アクセストークンを設定済み。個人アクセストークンの作成については、GitHub のドキュメントを参照してください
。 注記
認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。認証情報とシークレットを、データソース、コネクタバージョン 1.0 と 2.0 (該当する場合) で再利用することは推奨しません。
-
推奨: 認証情報用の OAuth トークンを設定済み。API のスロットル制限とコネクタのパフォーマンスを向上させるには、OAuth トークンを使用してください。OAuth 認証に関する GitHub のドキュメント
を参照してください。 -
使用している GitHub サービスのタイプに対応する GitHub ホスト URL を記録済み。
例えば、GitHub クラウドのホスト URL はである可能性があります。https://api.github.comで、GitHub サーバーのホスト URL は https://on-prem-host-url/api/v3/ -
接続する GitHub、GitHub Enterprise Cloud (SaaS) アカウント、または GitHub Enterprise Server (オンプレミス) アカウントの Organization 名前を書き留めた。組織名は、GitHub Desktop にログインし、プロファイル写真のドロップダウンから [組織] を選択して確認できます。
-
オプション (サーバーのみ): SSL 証明書を生成し、 Amazon S3バケットに保存されている証明書へのパスをコピーしました。安全な SSL 接続が必要な場合は、これを使用して GitHub に接続します。OpenSSL を使用して、任意のコンピュータで自己署名 X509 証明書を生成できます。OpenSSL を使用して X509 証明書を作成する例については、「X509 証明書の作成と署名」を参照してください。
-
以下のアクセス許可を追加しました。
GitHub Enterprise Cloud (SaaS) の場合
-
repo:status- パブリックおよびプライベートリポジトリのコミットステータスへの読み取り/書き込みアクセスを許可します。コードへのアクセスを許可せずに、プライベートリポジトリのコミットステータスへのアクセスを他のユーザーまたはサービスに許可する場合にのみこのスコープが必要になります。 -
repo_deployment– パブリックおよびプライベートリポジトリのデプロイステータスへのアクセスを許可します。コードへのアクセスを許可せずに、デプロイステータスへのアクセスを他のユーザーまたはサービスに許可する場合にのみこのスコープが必要になります。 -
public_repo– パブリックリポジトリへのアクセスを制限します。これには、パブリックリポジトリと組織のコード、コミットステータス、リポジトリプロジェクト、共同作業者、デプロイステータスへの読み取り/書き込みアクセスが含まれます。パブリックリポジトリのスター付けにも必要です。 -
repo:invite– リポジトリで共同作業を行うための招待を承諾/拒否することを許可します。コードへのアクセスを許可せずに、招待へのアクセスを他のユーザーまたはサービスに許可する場合にのみこのスコープが必要になります。 -
security_events– コードスキャン API のセキュリティイベントへの読み取りおよび書き込みアクセスを許可します。コードへのアクセスを許可せずに、セキュリティイベントへのアクセスを他のユーザーまたはサービスに許可する場合にのみこのスコープが必要になります。 -
read:org– 組織メンバーシップ、組織プロジェクト、チームメンバーシップへの読み取り専用アクセス。 -
user:email– ユーザーの E メールアドレスへの読み取りアクセスを許可します。Amazon Kendra が ACL をクロールするために必要です。 -
user:follow– 他のユーザーをフォローまたはフォロー解除するためのアクセス許可を付与します。Amazon Kendra が ACL をクロールするために必要です。 -
read:user– ユーザーのプロファイルデータを読み取るためのアクセス許可を付与します。Amazon Kendra が ACL をクロールするために必要です。 -
workflow– GitHub Actions ワークフローファイルを追加および更新することを許可します。同じリポジトリ内の別のブランチに同じファイル (同じパスとコンテンツの両方を持つ) が存在する場合、このスコープなしでワークフローファイルをコミットできます。
詳細については、GitHub Docs の「Scopes for OAuth apps
」を参照してください。 GitHub Enterprise Server (On Prem) の場合
-
repo:status- パブリックおよびプライベートリポジトリのコミットステータスへの読み取り/書き込みアクセスを許可します。コードへのアクセスを許可せずに、プライベートリポジトリのコミットステータスへのアクセスを他のユーザーまたはサービスに許可する場合にのみこのスコープが必要になります。 -
repo_deployment– パブリックおよびプライベートリポジトリのデプロイステータスへのアクセスを許可します。コードへのアクセスを許可せずに、デプロイステータスへのアクセスを他のユーザーまたはサービスに許可する場合にのみこのスコープが必要になります。 -
public_repo– パブリックリポジトリへのアクセスを制限します。これには、パブリックリポジトリと組織のコード、コミットステータス、リポジトリプロジェクト、共同作業者、デプロイステータスへの読み取り/書き込みアクセスが含まれます。パブリックリポジトリのスター付けにも必要です。 -
repo:invite– リポジトリで共同作業を行うための招待を承諾/拒否することを許可します。コードへのアクセスを許可せずに、招待へのアクセスを他のユーザーまたはサービスに許可する場合にのみこのスコープが必要になります。 -
security_events– コードスキャン API のセキュリティイベントへの読み取りおよび書き込みアクセスを許可します。コードへのアクセスを許可せずに、セキュリティイベントへのアクセスを他のユーザーまたはサービスに許可する場合にのみこのスコープが必要になります。 -
read:user– ユーザーのプロファイルデータを読み取るためのアクセス許可を付与します。Amazon Q Business が ACL をクロールするために必要です。 -
user:email– ユーザーの E メールアドレスへの読み取りアクセスを許可します。Amazon Q Business が ACL をクロールするために必要です。 -
user:follow– 他のユーザーをフォローまたはフォロー解除するためのアクセス許可を付与します。Amazon Q Business が ACL をクロールするために必要です。 -
site_admin– サイト管理者に GitHub Enterprise Server Administration API エンドポイントへのアクセスを許可します。 -
workflow– GitHub Actions ワークフローファイルを追加および更新することを許可します。同じリポジトリ内の別のブランチに同じファイル (同じパスとコンテンツの両方を持つ) が存在する場合、このスコープなしでワークフローファイルをコミットできます。
詳細については、GitHub ドキュメントの「OAuth アプリのスコープ
」および GitHub Developer の「Understanding scopes for OAuth Apps 」を参照してください。 -
-
各ドキュメントが GitHub および同じインデックスを使用予定の他のデータソース間で一意であることを確認しました。インデックスに使用する各データソースには、データソース全体に同じドキュメントが含まれていてはなりません。ドキュメント ID はインデックス全体に適用され、インデックスごとに一意である必要があります。
でAWS アカウント、以下があることを確認します。
-
Amazon Kendraインデックスを作成し、API を使用している場合はインデックス ID を記録しました。
-
データソースの IAMロールを作成し、 API を使用している場合はロールの ARN を記録しましたIAM。
注記
認証タイプと認証情報を変更する場合は、IAMロールを更新して正しいAWS Secrets Managerシークレット ID にアクセスする必要があります。
-
GitHub の認証情報を AWS Secrets Manager シークレットに保存し、API を使用している場合は、シークレットの ARN を記録済み。
注記
認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。認証情報とシークレットを、データソース、コネクタバージョン 1.0 と 2.0 (該当する場合) で再利用することは推奨しません。
既存のIAMロールまたはシークレットがない場合は、GitHub データソースを接続するときに コンソールを使用して新しいIAMロールとSecrets Managerシークレットを作成できますAmazon Kendra。API を使用している場合は、既存のIAMロールとSecrets Managerシークレットの ARN とインデックス ID を指定する必要があります。
接続手順
GitHub データソースAmazon Kendraに接続するには、 がデータAmazon Kendraにアクセスできるように、GitHub データソースの必要な詳細を指定する必要があります。GitHub をまだ設定していない場合はAmazon Kendra、「」を参照してください前提条件。
詳細はこちら
GitHub データソースAmazon Kendraとの統合の詳細については、以下を参照してください。