翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
GitHub
GitHub は、バージョン管理機能を備えたコードストレージおよび管理サービスを提供するソフトウェア開発用のウェブベースのホスティングサービスです。を使用して Amazon Kendra 、GitHub Enterprise Cloud (SaaS) および GitHub Enterprise Server (オンプレミス) リポジトリファイルのインデックス作成、リクエストの発行とプル、リクエストのコメントの発行とプル、コメントの添付ファイルの発行とプルを行うことができます。また、特定のファイルを含めるまたは除外することもできます。
注記
Amazon Kendra はアップグレードされた GitHub コネクタをサポートするようになりました。
コンソールが自動的にアップグレードされました。コンソールで作成する新しいコネクタは、アップグレードされたアーキテクチャを使用します。API を使用する場合は、 TemplateConfiguration オブジェクトではなく GitHubConfiguration
オブジェクトを使用してコネクタを設定する必要があります。
古いコンソールと API アーキテクチャを使用して設定されたコネクタは、引き続き設定どおりに機能します。ただし、編集または更新することはできません。コネクタ設定を編集または更新する場合は、新しいコネクタを作成する必要があります。
コネクタワークフローをアップグレードされたバージョンに移行することをお勧めします。古いアーキテクチャを使用して設定されたコネクタのサポートは、2024 年 6 月までに終了する予定です。
Amazon Kendra コンソール
Amazon Kendra GitHub データソースコネクタのトラブルシューティングについては、「」を参照してくださいデータソースのトラブルシューティング。
サポートされている機能
Amazon Kendra GitHub データソースコネクタは、次の機能をサポートしています。
-
フィールドマッピング
-
ユーザーアクセスコントロール
-
包含/除外フィルター
-
完全および増分コンテンツ同期
-
仮想プライベートクラウド (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 (オンプレミス) アカウントの組織の名前を記録しました。組織名は、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 が ACLsクロールするために必要です。 -
user:follow
– 他のユーザーをフォローまたはフォロー解除するためのアクセス許可を付与します。Amazon Kendra が ACLsクロールするために必要です。 -
read:user
– ユーザーのプロファイルデータを読み取るためのアクセス許可を付与します。Amazon Kendra が ACLsクロールするために必要です。 -
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 ワークフローファイルを追加および更新する機能を付与します。同じリポジトリ内の別のブランチに同じファイル (同じパスとコンテンツの両方を持つ) が存在する場合、このスコープなしでワークフローファイルをコミットできます。
詳細については、「Docs での OAuth アプリケーションのスコープ
」および「GitHubDeveloper GitHub での OAuth アプリケーションのスコープの理解」を参照してください。 OAuth -
-
各ドキュメントが GitHub および同じインデックスを使用予定の他のデータソース間で一意であることを確認しました。インデックスに使用する各データソースには、データソース全体に同じドキュメントが含まれていてはなりません。ドキュメント ID はインデックス全体に適用され、インデックスごとに一意である必要があります。
で AWS アカウント、以下があることを確認します。
-
Amazon Kendra インデックスを作成し、 API を使用している場合はインデックス ID を記録しました。
-
データソースの IAM ロールを作成し、 API を使用している場合は、 IAM ロールの ARN を記録しました。
注記
認証タイプと認証情報を変更する場合は、 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、「」を参照してください前提条件。
詳細
Amazon Kendra と GitHub データソースとの統合の詳細については、以下を参照してください。