AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解"
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CodeCommit 許可參考
下表列出每項 CodeCommit API操作、您可以授予許可的對應動作,以及ARN用於授予許可的資源格式。根據 CodeCommit APIs該 所允許動作的範圍,將 分組為資料表API。在設定存取控制和寫入您可以連接到IAM身分的許可政策 (身分型政策) 時,請參閱該政策。
當您建立許可政策時,您需要在政策的 Action
欄位中指定動作。您可以將政策Resource
欄位中的資源值指定為 ARN,包含或不包含萬用字元 (*)。
若要在 CodeCommit 政策中表達條件,請使用 AWS-wide 條件索引鍵。如需 AWS全局金鑰的完整清單,請參閱 IAM 使用者指南 中的可用金鑰。如需IAM政策 CodeCommit 中 的動作、資源和條件索引鍵的完整資訊,請參閱 的動作、資源和條件索引鍵 AWS CodeCommit。
注意
若要指定動作,請使用字codecommit:
首,後面加上API操作名稱 (例如, codecommit:GetRepository
或 codecommit:CreateRepository
。
使用萬用字元
若要指定多個動作或資源,請在 中使用萬用字元 (*)ARN。例如,codecommit:*
指定所有 CodeCommit 動作,並codecommit:Get*
指定以字詞 開頭的所有 CodeCommit 動作Get
。以下範例授予對所有以 MyDemo
為名稱開頭之儲存庫的存取權。
arn:aws:codecommit:us-west-2:111111111111:MyDemo*
您只能搭配 使用萬用字元 repository-name
下表中列出的資源。您無法搭配 使用萬用字元 region
或 account-id
的費用。如需萬用字元的詳細資訊,請參閱 IAM 使用者指南 中的IAM識別符。
主題
Git 用戶端命令的必要許可
在 中 CodeCommit,GitPull
IAM政策許可適用於從 擷取資料的任何 Git 用戶端命令 CodeCommit,包括 git fetch、 git clone等。同樣地,GitPush
IAM政策許可也適用於將資料傳送至 的任何 Git 用戶端命令 CodeCommit。例如,如果GitPush
IAM政策許可設定為 Allow
,使用者可以使用 Git 通訊協定推送分支的刪除。該推送不受套用至該IAM使用者DeleteBranch
操作的任何許可影響。此DeleteBranch
許可適用於使用主控台、 AWS CLI、 SDKs和 執行的動作API,但不適用於 Git 通訊協定。
GitPull
和 GitPush
是 IAM 政策許可。它們不是API動作。
使用捲軸查看資料表的其餘部分。
CodeCommit Git 的許可 | 所需的許可 | 資源 |
---|---|---|
GitPull |
必須將資訊從 CodeCommit 儲存庫提取至本機儲存庫。這只是IAM政策許可,不是API動作。 |
arn:aws:codecommit: |
GitPush |
將資訊從本機儲存庫推送到儲存庫時的必要項目 CodeCommit。這只是IAM政策許可,不是API動作。 注意如果您建立包含內容金鑰的政策和包含此許可的 |
arn:aws:codecommit: |
分支上動作的許可
下列許可允許或拒絕 CodeCommit 儲存庫中分支的動作。這些許可僅適用於在 CodeCommit 主控台和 中執行的動作 CodeCommit API,以及使用 執行的命令 AWS CLI。不適用於可使用 Git 通訊協定執行的類似動作。例如,git show-branch -r 命令會顯示儲存庫的遠端分支清單,及其使用 Git 通訊協定所做的遞交。它不受任何操作許可 CodeCommit ListBranches
的影響。
如需分支政策的詳細資訊,請參閱 在 中限制推播和合併至分支 AWS CodeCommit和 客戶受管政策範例。
使用捲軸查看資料表的其餘部分。
CodeCommit API 分支的操作 | 必要的許可 (API 動作) | 資源 |
---|---|---|
在 CodeCommit 儲存庫中建立分支所需的項目。 |
arn:aws:codecommit: |
|
從 CodeCommit 儲存庫刪除分支所需的項目。 |
arn:aws:codecommit: |
|
需要取得儲存庫中 CodeCommit分支的詳細資訊。 |
arn:aws:codecommit: |
|
ListBranches |
取得儲存庫中分支的清單所 CodeCommit必需。 |
arn:aws:codecommit: |
MergeBranchesByFastForward |
必須使用 CodeCommit 儲存庫中的快速向前合併策略來合併兩個分支。 |
arn:aws:codecommit:region :account-id :repository-name |
MergeBranchesBySquash |
需要使用儲存 CodeCommit 庫中的壁式合併策略來合併兩個分支。 |
arn:aws:codecommit:region :account-id :repository-name |
MergeBranchesByThreeWay |
必須使用 CodeCommit 儲存庫中的三向合併策略來合併兩個分支。 |
arn:aws:codecommit:region :account-id :repository-name |
UpdateDefaultBranch | codecommit:UpdateDefaultBranch 變更 CodeCommit 儲存庫中的預設分支時需要。 |
arn:aws:codecommit: |
合併上動作的許可
下列許可允許或拒絕 CodeCommit 儲存庫中合併的動作。這些許可與使用 CodeCommit 主控台和 CodeCommit 執行的動作有關API,而使用 執行的命令也有關 AWS CLI。不適用於可使用 Git 通訊協定執行的類似動作。如需分支的相關許可,請參閱分支上動作的許可。如需提取請求的相關許可,請參閱提取請求的動作許可。
使用捲軸查看資料表的其餘部分。
CodeCommit 合併的許可 | 所需的許可 | 資源 |
---|---|---|
傳回儲存 CodeCommit 庫中遞交之間合併中衝突的相關資訊。 |
arn:aws:codecommit: |
|
必須在兩個分支之間建立不參考的遞交或在 CodeCommit 儲存庫中遞交,以進行比較並識別任何潛在衝突。 |
arn:aws:codecommit: |
|
傳回在儲存 CodeCommit 庫中潛在合併中檔案之基礎、來源和目的地版本之間合併衝突的相關資訊。 |
arn:aws:codecommit: |
|
傳回儲存 CodeCommit 庫中來源和目的地遞交之間合併的相關資訊時,需要此資訊。 |
arn:aws:codecommit: |
|
傳回兩個分支之間可用合併選項的資訊,或提交指定器到 CodeCommit儲存庫中時所需的資訊。 |
arn:aws:codecommit: |
提取請求的動作許可
下列許可允許或拒絕對儲存庫中 CodeCommit提取請求的動作。這些許可與使用 CodeCommit 主控台和 執行的動作有關 CodeCommit API,而使用 執行的命令也有關 AWS CLI。不適用於可使用 Git 通訊協定執行的類似動作。如需註解的相關許可,請參閱註解上動作的許可。
使用捲軸查看資料表的其餘部分。
CodeCommit API 操作 | 必要的許可 (API 動作) | 資源 |
---|---|---|
BatchGetPullRequests |
傳回 CodeCommit 儲存庫中一或多個提取請求的相關資訊所需。這只是IAM政策許可,而不是您可以呼叫API的動作。 |
arn:aws:codecommit: |
在儲存庫中建立提取請求所需的項目 CodeCommit。 |
arn:aws:codecommit: |
|
CreatePullRequestApprovalRule |
為 CodeCommit 儲存庫中的提取請求建立核准規則時需要。 |
arn:aws:codecommit: |
DeletePullRequestApprovalRule |
刪除 CodeCommit 儲存庫中提取請求的核准規則時需要。 |
arn:aws:codecommit: |
DescribePullRequestEvents | 傳回 CodeCommit 儲存庫中一或多個提取請求事件的相關資訊所必需。 | arn:aws:codecommit:region :account-id :repository-name |
EvaluatePullRequestApprovalRules |
評估提取請求是否符合儲存庫中其相關聯核准規則中指定的所有條件所 CodeCommit必需。 |
arn:aws:codecommit: |
傳回在提取請求上所做的註解時需要。 |
arn:aws:codecommit: |
|
GetCommitsFromMergeBase |
在潛在合併情況下傳回遞交之間差異的相關資訊時需要。這只是IAM政策許可,而不是您可以呼叫API的動作。 |
arn:aws:codecommit: |
GetMergeConflicts |
在提取請求中傳回來源和目的地分支之間合併衝突的相關資訊。 |
arn:aws:codecommit:region :account-id :repository-name |
傳回提取請求的相關資訊時需要。 |
arn:aws:codecommit: |
|
傳回所指定提取請求的核准狀態相關資訊時需要。 |
arn:aws:codecommit: |
|
需要傳回有關提取請求是否將核准規則設為預留 (覆寫) 的資訊,如果是如此,則會傳回覆寫規則的使用者或身分的 Amazon Resource Name (ARN),以及其對提取請求的要求。 |
arn:aws:codecommit: |
|
ListPullRequests |
傳回儲存庫的提取請求的相關資訊時需要。 |
arn:aws:codecommit: |
MergePullRequestByFastForward | codecommit:MergePullRequestByFastForward 關閉提取請求和嘗試使用向前快轉合併策略將提取請求的來源分支合併到目的地分支時需要。 |
arn:aws:codecommit: |
MergePullRequestBySquash | codecommit:MergePullRequestBySquash 關閉提取請求和嘗試使用 squash 合併策略將提取請求的來源分支合併到目的地分支時需要。 |
arn:aws:codecommit: |
MergePullRequestByThreeWay | codecommit:MergePullRequestByThreeWay 關閉提取請求和嘗試使用三方合併選項將提取請求的來源分支合併到目的地分支時需要。 |
arn:aws:codecommit: |
OverridePullRequestApprovalRules | codecommit:OverridePullRequestApprovalRules
需要將提取請求的所有核准規則要求放在 CodeCommit 儲存庫中。 |
arn:aws:codecommit: |
PostCommentForPullRequest | codecommit:PostCommentForPullRequest
在儲存庫中發佈提取請求的評論時需要 CodeCommit。 |
arn:aws:codecommit: |
UpdatePullRequestApprovalRuleContent | codecommit:UpdatePullRequestApprovalRuleContent
變更儲存 CodeCommit 庫中提取請求的核准規則結構時需要。 |
arn:aws:codecommit: |
UpdatePullRequestApprovalState | codecommit:UpdatePullRequestApprovalState
必須變更儲存 CodeCommit 庫中提取請求的核准狀態。 |
arn:aws:codecommit: |
UpdatePullRequestDescription | codecommit:UpdatePullRequestDescription
變更 CodeCommit 儲存庫中提取請求的描述所必需。 |
arn:aws:codecommit: |
UpdatePullRequestStatus | codecommit:UpdatePullRequestStatus
變更儲存庫中提取請求的狀態時需要 CodeCommit。 |
arn:aws:codecommit: |
UpdatePullRequestTitle | codecommit:UpdatePullRequestTitle
變更儲存庫中提取請求的標題時需要 CodeCommit。 |
arn:aws:codecommit: |
核准規則範本上動作的許可
下列許可允許或拒絕對 CodeCommit 儲存庫中的核准規則範本執行動作。這些許可僅適用於在 CodeCommit主控台、 和 中執行的動作 CodeCommit API,以及使用 執行的命令 AWS CLI。不適用於可使用 Git 通訊協定執行的類似動作。如需提取請求的相關許可,請參閱提取請求的動作許可。
使用捲軸查看資料表的其餘部分。
CodeCommit API 核准規則範本的操作 | 所需的許可 | 資源 |
---|---|---|
必須將範本與 Amazon Web Services 帳戶中指定的儲存庫建立關聯。建立關聯後,這會自動建立核准規則,讓指定儲存庫中建立的每個提取請求都符合範本條件。 |
* |
|
必須將範本與 Amazon Web Services 帳戶中的一或多個指定儲存庫建立關聯。 |
* |
|
需要取消範本與 Amazon Web Services 帳戶中一或多個指定儲存庫的關聯。 |
* |
|
為核准規則建立範本時需要,然後範本就能與 AWS 帳戶中的一或多個儲存庫建立關聯。 |
* |
|
刪除 Amazon Web Services 帳戶中指定的範本時需要。在已使用範本建立的提取請求上不會移除核准規則。 |
* |
|
需要取消指定範本與 Amazon Web Services 帳戶中儲存庫的關聯。在已使用範本建立的提取請求上不會移除核准規則。 |
* |
|
需要傳回 Amazon Web Services 帳戶中核准規則範本的相關資訊。 |
* |
|
在 Amazon Web Services 帳戶中列出核准規則範本所需的項目。 |
* |
|
需要列出與 Amazon Web Services 帳戶中指定儲存庫相關聯的所有核准規則範本。 |
* |
|
需要列出與 Amazon Web Services 帳戶中指定核准規則範本相關聯的所有儲存庫。 |
* |
|
需要更新 Amazon Web Services 帳戶中核准規則範本的內容。 |
* |
|
更新 Amazon Web Services 帳戶中核准規則範本的描述時需要。 |
* |
|
需要更新 Amazon Web Services 帳戶中核准規則範本的名稱。 |
* |
個別檔案動作的許可
下列許可允許或拒絕對儲存庫中的 CodeCommit個別檔案執行動作。這些許可僅適用於在 CodeCommit主控台、 和 中執行的動作 CodeCommit API,以及使用 執行的命令 AWS CLI。不適用於可使用 Git 通訊協定執行的類似動作。例如, git push
命令會使用 Git 通訊協定,將新的和變更的檔案推送到 CodeCommit儲存庫。它不受任何 CodeCommit PutFile
操作許可的影響。
使用捲軸查看資料表的其餘部分。
CodeCommit API 個別檔案的操作 | 所需的許可 | 資源 |
---|---|---|
從 CodeCommit 主控台中刪除儲存 CodeCommit 庫中指定分支的指定檔案時,需要此項目。 |
arn:aws:codecommit: |
|
從 CodeCommit 主控台檢視 CodeCommit 儲存庫中個別檔案的編碼內容所需的項目。 |
arn:aws:codecommit: |
|
從 CodeCommit 主控台檢視個別檔案的編碼內容及其中繼資料儲存 CodeCommit 庫所需的項目。 |
arn:aws:codecommit: |
|
從 CodeCommit 主控台檢視儲存庫中 CodeCommit指定資料夾的內容所需的項目。 |
arn:aws:codecommit: |
|
需要從 CodeCommit 主控台或 將新的或修改的檔案新增至 CodeCommit 儲存庫 CodeCommit API AWS CLI。 |
arn:aws:codecommit: |
註解上動作的許可
下列許可允許或拒絕對 CodeCommit 儲存庫中的註解執行動作。這些許可適用於使用 CodeCommit 主控台和 CodeCommit 執行的動作API,以及使用 執行的命令 AWS CLI。如需提取請求中註解的相關許可,請參閱提取請求的動作許可。
使用捲軸查看資料表的其餘部分。
CodeCommit API 操作 | 必要的許可 (API 動作) | 資源 |
---|---|---|
將儲存庫中的變更、檔案或遞交所做的註解內容刪除時需要。無法刪除註解,但可以移除註解的內容 (如果使用者具有此許可)。 |
arn:aws:codecommit: |
|
傳回對 CodeCommit 儲存庫中的變更、檔案或遞交所提出之評論的相關資訊時,需要此項目。 |
arn:aws:codecommit: |
|
必須將表情符號反應的相關資訊傳回給對儲存庫中 CodeCommit變更、檔案或遞交的註解。 |
arn:aws:codecommit: |
|
需要傳回有關儲存 CodeCommit 庫中兩個遞交之間比較的註解資訊。 |
arn:aws:codecommit: |
|
為儲存 CodeCommit 庫中兩個遞交之間的比較建立註解所必需。 |
arn:aws:codecommit: |
|
PostCommentReply |
對遞交之間的比較或提取請求的註解建立回覆時需要。 |
arn:aws:codecommit: |
PutCommentReaction |
需要建立或更新註解的表情符號反應。 |
arn:aws:codecommit: |
UpdateComment |
在遞交之間的比較或提取請求上編輯註解時需要。只有註解作者才能編輯註解。 |
arn:aws:codecommit: |
遞交程式碼之動作的許可
下列許可允許或拒絕對 CodeCommit遞交至儲存庫的程式碼執行動作。這些許可與使用 CodeCommit 主控台和 執行的動作有關 CodeCommit API,而使用 執行的命令也有關 AWS CLI。不適用於可使用 Git 通訊協定執行的類似動作。例如,git commit 命令使用 Git 通訊協定為儲存庫中的分支建立遞交。它不受任何操作許可 CodeCommit CreateCommit
的影響。
明確拒絕其中某些許可可能會導致 CodeCommit 主控台產生非預期的後果。例如,將 GetTree
設為 Deny
可防止使用者在主控台瀏覽儲存庫的內容,但無法阻止使用者檢視儲存庫中某個檔案的內容 (例如,如果以電子郵件將檔案的連結傳送給他們)。將 GetBlob
設為 Deny
可防止使用者檢視檔案的內容,但無法阻止使用者瀏覽儲存庫的結構。將 GetCommit
設為 Deny
可防止使用者擷取遞交的詳細資訊。將 GetObjectIdentifier
設為 Deny
可封鎖程式碼瀏覽的大部分功能。如果您在政策Deny
中將這三個動作全部設定為 ,則具有該政策的使用者無法在 CodeCommit 主控台中瀏覽程式碼。
使用捲軸查看資料表的其餘部分。
CodeCommit API 操作 | 必要的許可 (API 動作) | 資源 |
---|---|---|
BatchGetCommits |
傳回 CodeCommit 儲存庫中一或多個遞交的相關資訊所必需。這只是IAM政策許可,而不是您可以呼叫API的動作。 |
arn:aws:codecommit: |
CreateCommit |
建立遞交時需要。 |
arn:aws:codecommit: |
傳回遞交的相關資訊時需要。 |
arn:aws:codecommit: |
|
GetCommitHistory |
傳回儲存庫中遞交歷史記錄的相關資訊時需要。這只是IAM政策許可,而不是您可以呼叫API的動作。 |
arn:aws:codecommit: |
GetDifferences |
傳回遞交規格符之間差異的相關資訊 (例如分支、標籤HEAD、、遞交 ID 或其他完全合格的參考) 時所需。 |
arn:aws:codecommit: |
GetObjectIdentifier | codecommit:GetObjectIdentifier 將 Blob、樹狀結構和遞交解析為其識別符時需要。這只是IAM政策許可,而不是您可以呼叫API的動作。 |
arn:aws:codecommit: |
GetReferences | codecommit:GetReferences 傳回所有參考時需要,例如分支和標籤。這只是IAM政策許可,而不是您可以呼叫API的動作。 |
arn:aws:codecommit: |
GetTree | codecommit:GetTree 從 CodeCommit 主控台檢視 CodeCommit 儲存庫中指定樹狀目錄的內容所需的項目。這只是IAM政策許可,而不是您可以呼叫API的動作。 |
arn:aws:codecommit: |
儲存庫上動作的許可
下列許可允許或拒絕 CodeCommit 儲存庫的動作。這些許可適用於使用 CodeCommit 主控台和 執行的動作 CodeCommit API,以及使用 執行的命令 AWS CLI。不適用於可使用 Git 通訊協定執行的類似動作。
使用捲軸查看資料表的其餘部分。
CodeCommit API 操作 | 必要的許可 (API 動作) | 資源 |
---|---|---|
需要取得 Amazon Web Services 帳戶中多個 CodeCommit 儲存庫的相關資訊。在 中 |
arn:aws:codecommit: |
|
建立 CodeCommit 儲存庫所需的 。 |
arn:aws:codecommit: |
|
刪除 CodeCommit 儲存庫的必要項目。 |
arn:aws:codecommit: |
|
GetRepository |
需要 才能取得單一 CodeCommit儲存庫的相關資訊。 |
arn:aws:codecommit: |
ListRepositories | codecommit:ListRepositories 需要取得 Amazon Web Services 帳戶IDs多個 CodeCommit 儲存庫的名稱和系統清單。針對此動作, |
* |
UpdateRepositoryDescription | codecommit:UpdateRepositoryDescription 變更 CodeCommit 儲存庫描述時需要。 |
arn:aws:codecommit: |
UpdateRepositoryName | codecommit:UpdateRepositoryName 變更 CodeCommit 儲存庫的名稱時需要。在 中 |
arn:aws:codecommit: |
標籤上動作的許可
下列許可允許或拒絕對 CodeCommit 資源的 AWS 標籤執行動作。
使用捲軸查看資料表的其餘部分。
CodeCommit API 操作 | 必要的許可 (API 動作) | 資源 |
---|---|---|
需要傳回在 中資源上設定之 AWS 標籤的相關資訊 CodeCommit。 |
arn:aws:codecommit: |
|
為 中的資源新增或編輯 AWS 標籤時需要 CodeCommit。 |
arn:aws:codecommit: |
|
需要從 中的資源移除 AWS 標籤 CodeCommit。 |
arn:aws:codecommit: |
觸發程序動作的許可
下列許可允許或拒絕對儲存庫的 CodeCommit觸發程序執行動作。
使用捲軸查看資料表的其餘部分。
CodeCommit API 操作 | 必要的許可 (API 動作) | 資源 |
---|---|---|
傳回為儲存庫而設定的觸發相關資訊時需要。 |
arn:aws:codecommit: |
|
為儲存庫建立、編輯或刪除觸發時需要。 |
arn:aws:codecommit: |
|
將資料傳送到為觸發而設定的主題或函數以測試儲存庫觸發的功能時需要。 |
arn:aws:codecommit: |
CodePipeline 整合上動作的許可
若要 CodePipeline 讓 在管道的來源動作中使用 CodeCommit 儲存庫,您必須將下表中列出的所有許可授予 的服務角色 CodePipeline。如果服務角色中未設定這些許可,或設定為 Deny
,則變更儲存庫時不會自動執行管道,也無法手動發佈變更。
使用捲軸查看資料表的其餘部分。
CodeCommit API 操作 | 必要的許可 (API 動作) | 資源 |
---|---|---|
需要取得儲存庫中 CodeCommit分支的詳細資訊。 |
arn:aws:codecommit: |
|
需要將遞交的相關資訊傳回 的服務角色 CodePipeline。 |
arn:aws:codecommit: |
|
UploadArchive |
需要 才能允許 的服務角色 CodePipeline 將儲存庫變更上傳至管道。這只是IAM政策許可,而不是您可以呼叫API的動作。 |
arn:aws:codecommit: |
GetUploadArchiveStatus |
判斷存檔上傳的狀態時需要,無論是進行中、完成、已取消或發生錯誤。這只是IAM政策許可,而不是您可以呼叫API的動作。 |
arn:aws:codecommit: |
CancelUploadArchive | codecommit:CancelUploadArchive 取消將存檔上傳至管道時需要。這只是IAM政策許可,而不是可以呼叫API的動作。 |
arn:aws:codecommit: |