本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
GitHub
GitHub 是一種基於 Web 的託管服務,用於軟件開發,提供代碼存儲和管理服務以及版本控制。您可以用 Amazon Kendra 來為 GitHub 企業雲端 (SaaS) 和 GitHub 企業伺服器 (在 Prem) 儲存庫檔案建立索引、發出和提取要求、發出和提取要求註解,以及發出和提取要求註解附件。您也可以選擇包含或排除特定檔案。
注意
Amazon Kendra 現在支援升級的 GitHub 連接器。
主機已自動為您升級。您在主控台中建立的任何新連接器都會使用升級的架構。如果您使用API,您現在必須使用TemplateConfiguration物件而非GitHubConfiguration
物件來配置連接器。
使用舊版主控台和API架構設定的連接器將繼續如設定般運作。但是,您將無法編輯或更新它們。如果您要編輯或更新連接器組態,您必須建立新的連接器。
我們建議您將連接器工作流程移轉至升級版本。使用舊架構設定的連接器 Support 排程於 2024 年 6 月結束。
您可 Amazon Kendra 以使 GitHub 用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權杖。使用OAuth令牌可獲得更好的API節流限制和連接器性能。請參GitHub 閱OAuth授權
文件。 -
記下您使URL用的 GitHub服務類型的 GitHub 主機。例如, GitHub 雲的主URL機可能是
https://api.github.com
並且服 GitHub 務器URL的主機可能是https://on-prem-host-url/api/v3/
. -
記下您要連線的 GitHub企業雲端 (SaaS) 帳戶或 GitHub 企業伺服器 (內部部署) 帳戶的組織名稱。 GitHub 您可以登入 GitHub 桌面,然後在您的設定檔圖片下拉式清單中選取您的組織,以找到您的組織名稱。
-
可選(僅限伺服器):產生SSL憑證並將路徑複製到儲存在 Amazon S3 值區中的憑證。 GitHub 如果您需要安全SSL連線,請使用此連線到。您可以使用 Open 在任何電腦上簡單地產生自我簽署的 X509 憑證。SSL如需使用「開啟SSL」建立 X509 憑證的範例,請參閱建立並簽署 X509 憑證。
-
已新增下列權限:
適用於 GitHub 企業雲端 (SaaS)
-
repo:status
— 授予讀取/寫入存取權限,以便在公用和私有存放庫中認可 此範圍僅用於授予其他用戶或服務訪問私有存儲庫提交狀態,而不授予對代碼的訪問權限。 -
repo_deployment
— 授予公用和私有存放庫部署狀態的存取權。只有在授與其他使用者或服務存取部署狀態的情況下,才需要此範圍,而不授與程式碼存取權。 -
public_repo
— 限制對公共存儲庫的訪問。這包括對代碼的讀/寫訪問權限,提交狀態,存儲庫項目,協作者以及公共存儲庫和組織的部署狀態。也需要為公共存儲庫主演。 -
repo:invite
— 授予邀請在存儲庫上協作的接受/拒絕能力。只有在不授與程式碼存取權的情況下授與其他使用者或服務存取邀請時,才需要此範圍。 -
security_events
— 授予:在代碼掃描中對安全事件的讀寫訪問權限API。只有在不授與程式碼存取權的情況下授與其他使用者或服務存取安全性事件時,才需要此範圍。 -
read:org
— 組織成員資格、組織專案和小組成員資格的唯讀存取權。 -
user:email
— 授予對使用者電子郵件地址的讀取權限。Amazon Kendra 要求抓ACLs取。 -
user:follow
— 授予關注或取消關注其他用戶的訪問權限。Amazon Kendra 要求抓ACLs取。 -
read:user
— 授予讀取使用者設定檔資料的存取權。Amazon Kendra 要求抓ACLs取。 -
workflow
— 授予新增和更新 GitHub 動作工作流程檔案的功能。如果相同的檔案 (具有相同的路徑和內容) 存在於相同存放庫中的另一個分支上,則可以在沒有此範圍的情況下提交工作流程檔案。
如需詳細資訊,請參閱GitHub文件中OAuth應用程式的範圍
。 適用於 GitHub 企業伺服器 (在內部部署)
-
repo:status
— 授予讀取/寫入存取權限,以便在公用和私有存放庫中認可 此範圍僅用於授予其他用戶或服務訪問私有存儲庫提交狀態,而不授予對代碼的訪問權限。 -
repo_deployment
— 授予公用和私有存放庫部署狀態的存取權。只有在授與其他使用者或服務存取部署狀態的情況下,才需要此範圍,而不授與程式碼存取權。 -
public_repo
— 限制對公共存儲庫的訪問。這包括對代碼的讀/寫訪問權限,提交狀態,存儲庫項目,協作者以及公共存儲庫和組織的部署狀態。也需要為公共存儲庫主演。 -
repo:invite
— 授予邀請在存儲庫上協作的接受/拒絕能力。只有在不授與程式碼存取權的情況下授與其他使用者或服務存取邀請時,才需要此範圍。 -
security_events
— 授予:在代碼掃描中對安全事件的讀寫訪問權限API。只有在不授與程式碼存取權的情況下授與其他使用者或服務存取安全性事件時,才需要此範圍。 -
read:user
— 授予讀取使用者設定檔資料的存取權。Amazon Q 業務要求抓取ACLs。 -
user:email
— 授予對使用者電子郵件地址的讀取權限。Amazon Q 業務要求抓取ACLs。 -
user:follow
— 授予關注或取消關注其他用戶的訪問權限。Amazon Q 業務要求抓取ACLs。 -
site_admin
— 授與網站管理員對 GitHub 企業伺服器管理API端點的存取權。 -
workflow
— 授予新增和更新 GitHub 動作工作流程檔案的功能。如果相同的檔案 (具有相同的路徑和內容) 存在於相同存放庫中的另一個分支上,則可以在沒有此範圍的情況下提交工作流程檔案。
如需詳細資訊,請參閱GitHub文件中的OAuth應用程式範
圍和了解GitHub開發人員中的OAuth應用程式 範圍。 -
-
已勾選的每個文件在您打算用於相同索引的其他資料來源中 GitHub 和其他資料來源之間都是唯一的。您要用於索引的每個資料來源不得包含跨資料來源的相同文件。文件對索引來說IDs是全域的,而且每個索引必須是唯一的。
在您的中 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,則必須提ARN供現有 IAM 角色和 Secrets Manager 密碼,以及索引 ID。
連接說明
若要連線 Amazon Kendra 到 GitHub 資料來源,您必須提供資料來源的必要詳細 GitHub 資訊, Amazon Kendra 以便能夠存取您的資料。如果尚未配置 Amazon Kendra, GitHub 請參閱必要條件。
進一步了解
若要進一步瞭解 Amazon Kendra 與 GitHub 資料來源整合的相關資訊,請參閱: