AWS CodeCommit 不再向新客户提供。 AWS CodeCommit 的现有客户可以继续正常使用该服务。了解更多
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CodeCommit 权限参考
下表列出了每项 CodeCommit API操作、您可以为其授予权限的相应操作以及用于授予权限的资源ARN格式。根据允许的操作范围将 CodeCommit APIs它们分成表格API。在设置访问控制和编写可以附加到身份的权限策略(基于IAM身份的策略)时,请参考它。
在创建权限策略时,可以在策略的 Action
字段中指定操作。您可以在策略Resource
字段中将资源值指定为ARN,带或不带通配符 (*)。
要在 CodeCommit 策略中表达条件,请使用 AWS-wide 条件密钥。有关 AWS-wide 密钥的完整列表,请参阅《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 客户端命令,包括 CodeCommitgit
fetchgit clone、等。同样,GitPush
IAM策略权限适用于向其发送数据的任何 Git 客户端命令 CodeCommit。例如,如果GitPush
IAM策略权限设置为Allow
,则用户可以使用 Git 协议推送分支的删除。该推送不受应用于该IAM用户DeleteBranch
操作的任何权限的影响。该DeleteBranch
权限适用于使用控制台、SDKs、和(但不是 Git 协议)执行的操作。 AWS CLI API
GitPull
和 GitPush
是 IAM 策略权限。它们不是API行动。
使用滚动条查看表的其余部分。
CodeCommit Git 的权限 | 所需权限 | 资源 |
---|---|---|
GitPull |
需要将信息从 CodeCommit 存储库提取到本地存储库。这仅是IAM策略权限,不是API操作。 |
arn: aws: codemit: |
GitPush |
需要将信息从本地存储库推送到 CodeCommit存储库。这仅是IAM策略权限,不是API操作。 注意如果您创建一条策略,其中包含一个上下文键和一个 |
arn: aws: codemit: |
分支操作权限
以下权限允许或拒绝对 CodeCommit 存储库中的分支执行操作。这些权限仅适用于在 CodeCommit 控制台中执行的操作 CodeCommit API以及使用执行的 AWS CLI命令。它们与可以使用 Git 协议执行的类似操作无关。例如,git show-branch -r 命令使用 Git 协议显示存储库的远程分支及其提交的列表。它不受任何 CodeCommit ListBranches
操作权限的影响。
有关为分支创建策略的更多信息,请参阅限制推送和合并到中的分支 AWS CodeCommit和客户管理型策略示例。
使用滚动条查看表的其余部分。
CodeCommit API分支机构的运营 | 所需权限(API操作) | 资源 |
---|---|---|
在 CodeCommit 存储库中创建分支所必需的。 |
arn: aws: codemit: |
|
需要从 CodeCommit 存储库中删除分支。 |
arn: aws: codemit: |
|
获取有关 CodeCommit存储库中分支的详细信息所必需的。 |
arn: aws: codemit: |
|
ListBranches |
获取 CodeCommit存储库中分支列表所必需的。 |
arn: aws: codemit: |
MergeBranchesByFastForward |
需要在 CodeCommit 仓库中使用快进合并策略合并两个分支。 |
arn: aws: codemit:region :account-id :repository-name |
MergeBranchesBySquash |
需要在 CodeCommit 存储库中使用 squash 合并策略合并两个分支。 |
arn: aws: codemit:region :account-id :repository-name |
MergeBranchesByThreeWay |
需要在 CodeCommit 存储库中使用三向合并策略合并两个分支。 |
arn: aws: codemit:region :account-id :repository-name |
UpdateDefaultBranch | codecommit:UpdateDefaultBranch 需要更改 CodeCommit 存储库中的默认分支。 |
arn: aws: codemit: |
针对合并的操作所需的权限
以下权限允许或拒绝对 CodeCommit 仓库中的合并执行操作。这些权限与使用 CodeCommit 控制台和执行的操作以及使用执行的 CodeCommitAPI命令有关。 AWS CLI它们与可以使用 Git 协议执行的类似操作无关。有关分支的相关权限,请参阅分支操作权限。有关拉取请求的相关权限,请参阅针对拉取请求的操作所需的权限。
使用滚动条查看表的其余部分。
CodeCommit 合并权限 | 所需权限 | 资源 |
---|---|---|
需要返回有关 CodeCommit 仓库中提交之间合并时发生冲突的信息。 |
arn: aws: codemit: |
|
需要在两个分支之间创建未引用的提交,或者在 CodeCommit 存储库中的提交之间创建未引用的提交,以便比较它们并识别任何潜在的冲突。 |
arn: aws: codemit: |
|
需要返回有关 CodeCommit 存储库中可能合并的文件的基础版本、源版本和目标版本之间的合并冲突的信息。 |
arn: aws: codemit: |
|
返回有关 CodeCommit 存储库中源提交和目标提交之间合并的信息所必需的。 |
arn: aws: codemit: |
|
需要返回有关 CodeCommit存储库中两个分支之间可用合并选项或提交说明符的信息。 |
arn: aws: codemit: |
针对拉取请求的操作所需的权限
以下权限允许或拒绝对 CodeCommit仓库中的拉取请求执行操作。这些权限与使用 CodeCommit 控制台和执行的操作以及使用执行的 CodeCommit API命令有关。 AWS CLI它们与可以使用 Git 协议执行的类似操作无关。有关相关评论权限,请参阅针对评论的操作所需的权限。
使用滚动条查看表的其余部分。
CodeCommit API运营 | 所需权限(API操作) | 资源 |
---|---|---|
BatchGetPullRequests |
返回有关 CodeCommit 存储库中一个或多个拉取请求的信息所必需的。这仅是IAM策略权限,不是您可以调用的API操作。 |
arn: aws: codemit: |
在 CodeCommit存储库中创建拉取请求所必需的。 |
arn: aws: codemit: |
|
CreatePullRequestApprovalRule |
需要为 CodeCommit 仓库中的拉取请求创建批准规则。 |
arn: aws: codemit: |
DeletePullRequestApprovalRule |
需要删除 CodeCommit 存储库中拉取请求的批准规则。 |
arn: aws: codemit: |
DescribePullRequestEvents | 返回有关 CodeCommit 存储库中一个或多个拉取请求事件的信息所必需的。 | arn: aws: codemit:region :account-id :repository-name |
EvaluatePullRequestApprovalRules |
用于评估拉取请求是否满足 CodeCommit存储库中关联的批准规则中指定的所有条件。 |
arn: aws: codemit: |
返回对拉取请求的评论时是必需的。 |
arn: aws: codemit: |
|
GetCommitsFromMergeBase |
返回潜在合并上下文中各提交之间的差异的相关信息时是必需的。这仅是IAM策略权限,不是您可以调用的API操作。 |
arn: aws: codemit: |
GetMergeConflicts |
返回有关拉取请求中源分支和目标分支之间的合并冲突的信息时是必需的。 |
arn: aws: codemit:region :account-id :repository-name |
返回有关拉取请求的信息时是必需的。 |
arn: aws: codemit: |
|
返回有关指定拉取请求的审批状态的信息时是必需的。 |
arn: aws: codemit: |
|
需要返回有关是否已为拉取请求预留(覆盖)批准规则的信息,如果是,则返回覆盖拉取请求规则的用户或身份的 Amazon 资源名称 (ARN) 及其对拉取请求的要求。 |
arn: aws: codemit: |
|
ListPullRequests |
返回有关存储库的拉取请求的信息时是必需的。 |
arn: aws: codemit: |
MergePullRequestByFastForward | codecommit:MergePullRequestByFastForward 关闭拉取请求并尝试使用快进合并策略将源分支合并到拉取请求的目标分支时是必需的。 |
arn: aws: codemit: |
MergePullRequestBySquash | codecommit:MergePullRequestBySquash 关闭拉取请求并尝试使用压缩合并策略将源分支合并到拉取请求的目标分支时是必需的。 |
arn: aws: codemit: |
MergePullRequestByThreeWay | codecommit:MergePullRequestByThreeWay 关闭拉取请求并尝试使用三向合并策略将源分支合并到拉取请求的目标分支时是必需的。 |
arn: aws: codemit: |
OverridePullRequestApprovalRules | codecommit:OverridePullRequestApprovalRules
需要在 CodeCommit 存储库中搁置拉取请求的所有批准规则要求。 |
arn: aws: codemit: |
PostCommentForPullRequest | codecommit:PostCommentForPullRequest
需要在 CodeCommit仓库中对拉取请求发表评论。 |
arn: aws: codemit: |
UpdatePullRequestApprovalRuleContent | codecommit:UpdatePullRequestApprovalRuleContent
更改 CodeCommit 存储库中拉取请求的批准规则结构所必需的。 |
arn: aws: codemit: |
UpdatePullRequestApprovalState | codecommit:UpdatePullRequestApprovalState
需要更改 CodeCommit 仓库中拉取请求的批准状态。 |
arn: aws: codemit: |
UpdatePullRequestDescription | codecommit:UpdatePullRequestDescription
更改 CodeCommit 存储库中拉取请求的描述所必需的。 |
arn: aws: codemit: |
UpdatePullRequestStatus | codecommit:UpdatePullRequestStatus
更改 CodeCommit存储库中拉取请求的状态所必需的。 |
arn: aws: codemit: |
UpdatePullRequestTitle | codecommit:UpdatePullRequestTitle
更改 CodeCommit存储库中拉取请求的标题所必需的。 |
arn: aws: codemit: |
针对审批规则模板的操作所需的权限
以下权限允许或拒绝对 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: codemit: |
|
需要从 CodeCommit 控制台查看 CodeCommit 存储库中单个文件的编码内容。 |
arn: aws: codemit: |
|
需要从 CodeCommit 控制台查看 CodeCommit 存储库中单个文件的编码内容及其元数据。 |
arn: aws: codemit: |
|
需要从 CodeCommit 控制台查看 CodeCommit存储库中指定文件夹的内容。 |
arn: aws: codemit: |
|
需要从 CodeCommit 控制台向 CodeCommit 存储库添加新文件或修改过的文件 CodeCommit API,或 AWS CLI。 |
arn: aws: codemit: |
针对评论的操作所需的权限
以下权限允许或拒绝对 CodeCommit 存储库中的评论执行操作。这些权限适用于使用 CodeCommit 控制台和执行的操作 CodeCommitAPI,以及使用控制台执行的 AWS CLI命令。有关对拉取请求中的评论的相关权限,请参阅针对拉取请求的操作所需的权限。
使用滚动条查看表的其余部分。
CodeCommit API运营 | 所需权限(API操作) | 资源 |
---|---|---|
删除对存储库中的更改、文件或提交做出的评论的内容时是必需的。评论无法删除,但如果用户拥有此权限,则可以删除评论内容。 |
arn: aws: codemit: |
|
需要返回有关对 CodeCommit 存储库中的更改、文件或提交所做的评论的信息。 |
arn: aws: codemit: |
|
需要返回有关表情符号对 CodeCommit仓库中更改、文件或提交的评论的反应的信息。 |
arn: aws: codemit: |
|
需要返回有关对 CodeCommit 仓库中两次提交的比较所做的评论的信息。 |
arn: aws: codemit: |
|
需要对 CodeCommit 仓库中两次提交之间的比较创建评论。 |
arn: aws: codemit: |
|
PostCommentReply |
对评论之间的比较或拉取请求的评论创建回复时是必需的。 |
arn: aws: codemit: |
PutCommentReaction |
创建或更新对评论的表情符号反应时是必需的。 |
arn: aws: codemit: |
UpdateComment |
对评论之间的比较或拉取请求的评论进行编辑时是必需的。只有评论作者可以编辑评论。 |
arn: aws: codemit: |
针对已提交代码的操作所需的权限
以下权限允许或拒绝对提交到 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: codemit: |
CreateCommit |
创建提交时是必需的。 |
arn: aws: codemit: |
返回有关提交的信息时是必需的。 |
arn: aws: codemit: |
|
GetCommitHistory |
返回有关存储库中提交历史记录的信息时是必需的。这仅是IAM策略权限,不是您可以调用的API操作。 |
arn: aws: codemit: |
GetDifferences |
返回有关提交说明符(例如分支、标记HEAD、提交 ID 或其他完全限定引用)之间差异的信息所必需的。 |
arn: aws: codemit: |
GetObjectIdentifier | codecommit:GetObjectIdentifier 将 blob、树和提交解析为其标识符时是必需的。这仅是IAM策略权限,不是您可以调用的API操作。 |
arn: aws: codemit: |
GetReferences | codecommit:GetReferences 返回所有引用 (如分支和标签) 时是必需的。这仅是IAM策略权限,不是您可以调用的API操作。 |
arn: aws: codemit: |
GetTree | codecommit:GetTree 需要从 CodeCommit 控制台查看 CodeCommit 存储库中指定树的内容。这仅是IAM策略权限,不是您可以调用的API操作。 |
arn: aws: codemit: |
针对存储库的操作所需的权限
以下权限允许或拒绝对 CodeCommit 仓库执行操作。这些权限适用于使用 CodeCommit 控制台和执行的操作 CodeCommit API,以及使用控制台执行的 AWS CLI命令。它们与可以使用 Git 协议执行的类似操作无关。
使用滚动条查看表的其余部分。
CodeCommit API运营 | 所需权限(API操作) | 资源 |
---|---|---|
需要获取有关亚马逊 Web Services 账户中多个 CodeCommit 存储库的信息。在中 |
arn: aws: codemit: |
|
创建 CodeCommit 存储库所必需的。 |
arn: aws: codemit: |
|
删除 CodeCommit 存储库所必需的。 |
arn: aws: codemit: |
|
GetRepository |
获取有关单个 CodeCommit存储库的信息所必需的。 |
arn: aws: codemit: |
ListRepositories | codecommit:ListRepositories 需要获取一个 Amazon Web Services 账户IDs的多个 CodeCommit 存储库的名称和系统的列表。对于该操作来说, |
* |
UpdateRepositoryDescription | codecommit:UpdateRepositoryDescription 更改 CodeCommit 存储库描述所必需的。 |
arn: aws: codemit: |
UpdateRepositoryName | codecommit:UpdateRepositoryName 更改 CodeCommit 存储库名称所必需的。在中 |
arn: aws: codemit: |
针对标签的操作所需的权限
以下权限允许或拒绝对 CodeCommit 资源 AWS 标签执行操作。
使用滚动条查看表的其余部分。
CodeCommit API运营 | 所需权限(API操作) | 资源 |
---|---|---|
返回有关在中的资源上配置的 AWS 标签的信息所必需的 CodeCommit。 |
arn: aws: codemit: |
|
需要在中为资源添加或编辑 AWS 标签 CodeCommit。 |
arn: aws: codemit: |
|
需要从中的资源中移除 AWS 标签 CodeCommit。 |
arn: aws: codemit: |
针对触发器的操作所需的权限
以下权限允许或拒绝对 CodeCommit仓库的触发器执行操作。
使用滚动条查看表的其余部分。
CodeCommit API运营 | 所需权限(API操作) | 资源 |
---|---|---|
返回有关为存储库配置的触发器的信息时是必需的。 |
arn: aws: codemit: |
|
创建、编辑或删除存储库触发器时是必需的。 |
arn: aws: codemit: |
|
通过向为触发器配置的主题或函数发送数据来测试存储库触发器的功能时是必需的。 |
arn: aws: codemit: |
CodePipeline 集成操作权限
CodePipeline 要在管道的源操作中使用 CodeCommit 存储库,必须向的服务角色授予下表中列出的所有权限 CodePipeline。如果未在服务角色中设置这些权限或将这些权限设为 Deny
,则在对存储库进行更改时,管道不会自动运行,并且无法手动发布更改。
使用滚动条查看表的其余部分。
CodeCommit API运营 | 所需权限(API操作) | 资源 |
---|---|---|
获取有关 CodeCommit存储库中分支的详细信息所必需的。 |
arn: aws: codemit: |
|
需要返回有关向的服务角色提交的信息 CodePipeline。 |
arn: aws: codemit: |
|
UploadArchive |
需要允许的服务角色将存储库更改上传 CodePipeline 到管道。这仅是IAM策略权限,不是您可以调用的API操作。 |
arn: aws: codemit: |
GetUploadArchiveStatus |
确定存档的上传状态:是正在进行、完成、已取消还是出现错误时是必需的。这仅是IAM策略权限,不是您可以调用的API操作。 |
arn: aws: codemit: |
CancelUploadArchive | codecommit:CancelUploadArchive 取消将存档上传到管道的操作时是必需的。这仅是IAM策略权限,不是可以调用的API操作。 |
arn: aws: codemit: |