本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
GitHub 和 GitHub Enterprise Server 存取權杖
存取字符先決條件
在開始之前,您必須將適當的許可範圍新增至您的 GitHub 存取權杖。
對於 GitHub,您的個人存取權杖必須具有下列範圍。
-
repo:授予私有儲存庫的完全控制。
-
repo:status :授予公有和私有儲存庫遞交狀態的讀取/寫入存取權。
-
admin:repo_hook:授予儲存庫勾點的完全控制。如果您的字符有
repo
範圍,則不需要此範圍。 -
admin:org_hook :授予組織掛鉤的完整控制權。只有在您使用組織 Webhook 功能時,才需要此範圍。
如需詳細資訊,請參閱了解 網站上的OAuth應用程式範圍
如果您使用的是精細的個人存取權杖,取決於您的使用案例,您的個人存取權杖可能需要下列許可:
-
內容:唯讀:授予私有儲存庫的存取權。如果您使用私有儲存庫作為來源,則需要此許可。
-
遞交狀態:讀取和寫入:准許建立遞交狀態。如果您的專案已設定 Webhook,或已啟用報告建置狀態功能,則需要此許可。
-
Webhooks:讀取和寫入:授予管理 Webhook 的許可。如果您的專案已設定 Webhook,則需要此許可。
-
提取請求:唯讀:授予存取提取請求的許可。如果您的 Webhook 具有提取請求事件的
FILE_PATH
篩選條件,則需要此許可。 -
管理:讀取和寫入:如果您使用 自我託管 GitHub 動作執行器功能搭配 ,則需要此許可 CodeBuild。如需詳細資訊,請參閱建立儲存庫的註冊權杖
和 教學課程:設定 CodeBuild GitHub託管動作執行器。
注意
如果您想要存取組織儲存庫,請務必將組織指定為存取權杖的資源擁有者。
如需詳細資訊,請參閱 GitHub 網站上的精細個人存取權杖所需的許可
GitHub 使用存取權杖連線 (主控台)
若要使用主控台, GitHub 使用存取權杖將專案連線至 ,請在建立專案時執行下列動作。如需相關資訊,請參閱 建立組建專案 (主控台)。
-
對於來源提供者 ,選擇 GitHub。
-
對於憑證 ,請執行下列其中一項操作:
-
選擇預設來源憑證,以使用您帳戶的預設來源憑證套用至所有專案。
-
如果您未連線至 GitHub,請選擇管理預設來源憑證 。
-
針對憑證類型 ,選擇個人存取權杖 。
-
如果您選擇預設來源憑證 ,針對 Service,請選擇您要用來存放權杖的服務,並執行下列動作:
-
如果您選擇使用 Secrets Manager ,您可以選擇使用現有的秘密連線或建立新的秘密,然後選擇儲存 。如需如何建立新的秘密的詳細資訊,請參閱 在 Secrets Manager 秘密中建立和存放權杖。
-
如果您選擇使用 CodeBuild,請輸入GitHub 您的個人存取權杖,然後選擇儲存 。
-
-
-
選擇自訂來源憑證以使用自訂來源憑證來覆寫帳戶的預設設定。
-
針對憑證類型 ,選擇個人存取權杖 。
-
在連線 中,選擇使用現有的秘密連線或建立新的秘密。
-
-
GitHub 使用存取權杖連線 (CLI)
請依照下列步驟,使用 AWS CLI 來 GitHub 使用存取權杖將專案連線至 。如需有關 AWS CLI 搭配 使用 的資訊 AWS CodeBuild,請參閱 命令列參考。
-
執行 import-source-credentials 命令:
aws codebuild import-source-credentials --generate-cli-skeleton
JSON輸出中會顯示 格式化的資料。將資料複製到 AWS CLI 安裝 的本機電腦或執行個體位置中的檔案 (例如
)。如下所示修改複製的資料,並儲存您的結果。import-source-credentials.json
{ "serverType": "
server-type
", "authType": "auth-type
", "shouldOverwrite": "should-overwrite
", "token": "token
", "username": "username
" }取代以下項目:
-
server-type
:必要值。用於此登入資料的來源供應商。有效值為 GITHUB、BITBUCKET、GITHUB_GITLAB、 ENTERPRISE和 GITLAB_SELF_MANAGED。 -
auth-type
:必要值。用於連線至儲存庫的身分驗證類型。有效值為 OAUTH、BASIC_AUTH、PERSONAL_ACCESS_TOKEN、 CODECONNECTIONS和 SECRETS_MANAGER。對於 GitHub,僅允許 PERSONAL_ACCESS_TOKEN。BASIC_AUTH 僅允許使用 Bitbucket 應用程式密碼。 -
should-overwrite
:選用值。設為false
可防止覆寫儲存庫來源登入資料。設為true
可覆寫儲存庫來源登入資料。預設值為true
。 -
token
:必要值。對於 GitHub 或 GitHub Enterprise Server,這是個人存取權杖。對於 Bitbucket,這是個人存取權杖或應用程式密碼。對於 auth-type CODECONNECTIONS,這是連線 ARN。對於 auth-type SECRETS_MANAGER,這是秘密 ARN。 -
username
:選用值。 GitHub 和 GitHub Enterprise Server 來源提供者會忽略此參數。
-
-
若要使用存取字符連接您的帳戶,請切換到包含您在步驟 1 中儲存的
import-source-credentials.json
檔案的目錄,並再次執行 import-source-credentials 命令。aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json
JSON格式化資料會顯示在具有 Amazon Resource Name () 的輸出中ARN。
{ "arn": "arn:aws:codebuild:
region
:account-id
:token/server-type
" }注意
如果您使用相同的伺服器類型和身分驗證類型執行 import-source-credentials 命令第二次,即會更新存放的存取字符。
帳戶與存取權杖連線後,您可以使用
create-project
來建立 CodeBuild 專案。如需詳細資訊,請參閱建立建置專案 (AWS CLI)。 -
若要檢視連接的存取字符,請執行 list-source-credentials 命令。
aws codebuild list-source-credentials
輸出中會出現JSON格式化的
sourceCredentialsInfos
物件:{ "sourceCredentialsInfos": [ { "authType": "
auth-type
", "serverType": "server-type
", "arn": "arn
" } ] }sourceCredentialsObject
包含連接的來源登入資料資訊的清單:-
authType
是登入資料使用的身分驗證類型。這可以是OAUTH
、BASIC_AUTH
、PERSONAL_ACCESS_TOKEN
、CODECONNECTIONS
或SECRETS_MANAGER
。 -
serverType
是來源供應商的類型。這可以是GITHUB
、GITHUB_ENTERPRISE
、BITBUCKET
、GITLAB
或GITLAB_SELF_MANAGED
。 -
arn
是權杖ARN的 。
-
-
若要中斷與來源提供者的連線並移除其存取權杖,請使用其 執行 delete-source-credentials命令ARN。
aws codebuild delete-source-credentials --arn
arn-of-your-credentials
JSON已格式化的資料會傳回為已刪除憑證ARN的 。
{ "arn": "arn:aws:codebuild:
region
:account-id
:token/server-type
" }