本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
的操作、资源和条件键 AWS CodeCommit
AWS CodeCommit (服务前缀:codecommit
)提供以下特定于服务的资源、操作和条件上下文密钥,供在 IAM 权限策略中使用。
参考:
由 AWS CodeCommit 定义的操作
您可以在 IAM 策略语句的 Action
元素中指定以下操作。可以使用策略授予在 AWS中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。
操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource
元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 Resource
元素限制资源访问权限,则必须为每种必需的资源类型添加 ARN 或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。
操作表的条件键列包括可以在策略语句的 Condition
元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。
注意
资源条件键在资源类型表中列出。您可以在操作表的资源类型(* 为必需)列中找到应用于某项操作的资源类型的链接。资源类型表中的资源类型包括条件密钥列,这是应用于操作表中操作的资源条件键。
有关下表中各列的详细信息,请参阅操作表。
操作 | 描述 | 访问级别 | 资源类型(* 为必需) | 条件键 | 相关操作 |
---|---|---|---|---|---|
AssociateApprovalRuleTemplateWithRepository | 授予权限以将批准规则模板与存储库关联 | Write | |||
BatchAssociateApprovalRuleTemplateWithRepositories | 授予权限以在单个操作中将一个批准规则模板与多个存储库关联 | Write | |||
BatchDescribeMergeConflicts | 授予权限以获取有关在尝试使用三向合并或压缩合并选项合并两个提交时发生的多个合并冲突的信息 | Read | |||
BatchDisassociateApprovalRuleTemplateFromRepositories | 授予权限以在单个操作中删除一个批准规则模板与多个存储库之间的关联 | 写入 | |||
BatchGetCommits | 授予返回 AWS CodeCommit 仓库中一个或多个提交信息的权限 | 读取 | |||
BatchGetPullRequests [仅权限] | 授予返回 AWS CodeCommit 仓库中一个或多个拉取请求信息的权限 | 读取 | |||
BatchGetRepositories | 授予权限以获取有关多个存储库的信息 | Read | |||
CancelUploadArchive [仅权限] | 授予取消将档案上传到管道的权限 AWS CodePipeline | 读取 | |||
CreateApprovalRuleTemplate | 授予权限以创建批准规则模板,该模板将在拉取请求中自动创建与模板中定义的条件匹配的批准规则;不授予为单个拉取请求创建批准规则的权限 | 写入 | |||
CreateBranch | 授予使用此 API 在 AWS CodeCommit 仓库中创建分支的权限;不控制 Git 创建分支操作 | 写入 | |||
CreateCommit | 授予添加、复制、移动或更新 AWS CodeCommit 存储库中分支中的单个或多个文件的权限,以及为指定分支中的更改生成提交信息的权限 | 写入 | |||
CreatePullRequest | 授予权限以在指定的存储库中创建拉取请求 | Write | |||
CreatePullRequestApprovalRule | 授予权限以创建特定于单个拉取请求的批准规则;不授予创建批准规则模板的权限 | 写入 | |||
CreateRepository | 授予创建 AWS CodeCommit 仓库的权限 | 写入 | |||
CreateUnreferencedMergeCommit | 授予权限以创建未引用的提交,其中包含使用三向或压缩合并选项合并两个提交的结果;不控制 Git 合并操作 | Write | |||
DeleteApprovalRuleTemplate | 授予权限以删除批准规则模板 | 写入 | |||
DeleteBranch | 授予使用此 API 删除 AWS CodeCommit 仓库中分支的权限;不控制 Git 删除分支操作 | 写入 | |||
DeleteCommentContent | 授予权限以删除对存储库中的更改、文件或提交进行的评论内容 | Write | |||
DeleteFile | 授予权限以从指定的分支中删除指定的文件 | Write | |||
DeletePullRequestApprovalRule | 授予权限以删除为拉取请求创建的批准规则(如果该规则不是由批准规则模板创建) | 写入 | |||
DeleteRepository | 授予删除 AWS CodeCommit 仓库的权限 | 写入 | |||
DescribeMergeConflicts | 授予权限以获取有关在尝试使用三向或压缩合并选项合并两个提交时发生的特定合并冲突的信息 | Read | |||
DescribePullRequestEvents | 授予权限以返回有关一个或多个拉取请求事件的信息 | Read | |||
DisassociateApprovalRuleTemplateFromRepository | 授予权限以删除批准规则模板与存储库之间关联 | Write | |||
EvaluatePullRequestApprovalRules | 授予权限以根据拉取请求的当前批准状态和批准规则要求评估拉取请求是否可合并 | Read | |||
GetApprovalRuleTemplate | 授予权限以返回有关批准规则模板的信息 | 读取 | |||
GetBlob | 授予从控制台查看 AWS CodeCommit 存储库中单个文件的编码内容的 AWS CodeCommit 权限 | 读取 | |||
GetBranch | 授予使用此 API 获取 AWS CodeCommit 仓库中分支详细信息的权限;不控制 Git 分支操作 | 读取 | |||
GetComment | 授予权限以获取对存储库中的更改、文件或提交进行的评论内容 | Read | |||
GetCommentReactions | 授予权限以获取对评论的反应 | Read | |||
GetCommentsForComparedCommit | 授予权限以获取有关对两次提交的比较结果进行的评论的信息 | Read | |||
GetCommentsForPullRequest | 授予权限以获取对拉取请求进行的评论 | Read | |||
GetCommit | 授予权限以使用该 API 返回有关提交的信息,包括提交消息和提交者信息;不控制 Git 日志操作 | Read | |||
GetCommitHistory [仅权限] | 授予权限以获取有关存储库中的提交历史记录的信息 | Read | |||
GetCommitsFromMergeBase [仅权限] | 授予权限以获取有关潜在合并上下文中的两次提交之间差异的信息 | Read | |||
GetDifferences | 授予权限以查看有关有效提交说明符(例如分支、标签、HEAD、提交 ID 或其他完全限定的引用)之间差异的信息 | Read | |||
GetFile | 授予权限以返回指定文件及其元数据的 Base-64 编码内容 | Read | |||
GetFolder | 授予权限以返回存储库中的指定文件夹的内容 | Read | |||
GetMergeCommit | 授予权限以获取有关创建合并提交的拉取请求合并选项之一创建的合并提交的信息。并非所有合并选项都创建合并提交。该权限不控制 Git 合并操作 | Read | |||
GetMergeConflicts | 授予权限以获取有关存储库中的拉取请求的之前提交 ID 和之后提交 ID 之间的合并冲突的信息 | Read | |||
GetMergeOptions | 授予权限以获取有关可用于合并两个提交的拉取请求合并选项的信息;不控制 Git 合并操作 | Read | |||
GetObjectIdentifier [仅权限] | 授予权限以将 Blob、树和提交解析为其标识符 | Read | |||
GetPullRequest | 授予权限以获取有关指定存储库中的拉取请求的信息 | Read | |||
GetPullRequestApprovalStates | 授予权限以在输入的拉取请求上检索当前的批准 | Read | |||
GetPullRequestOverrideState | 授予权限以检索给定拉取请求的当前覆盖状态 | Read | |||
GetReferences [仅权限] | 授予获取 AWS CodeCommit 仓库中引用详细信息的权限;不控制 Git 引用操作 | 读取 | |||
GetRepository | 授予获取 AWS CodeCommit 仓库信息的权限 | 读取 | |||
GetRepositoryTriggers | 授予权限以获取有关为存储库配置的触发器的信息 | Read | |||
GetTree [仅权限] | 授予从 AWS CodeCommit 控制台查看 AWS CodeCommit 存储库中指定树内容的权限 | 读取 | |||
GetUploadArchiveStatus [仅权限] | 授予权限以获取有关上传到管道的档案的状态信息 AWS CodePipeline | 读取 | |||
GitPull [仅权限] | 授予将信息从 AWS CodeCommit 存储库提取到本地存储库的权限 | 读取 | |||
GitPush [仅权限] | 授予将信息从本地存储库推送到存储库的 AWS CodeCommit 权限 | 写入 | |||
ListApprovalRuleTemplates | 授予在中列出所有批准规则模板 AWS 区域 的权限 AWS 账户 | 列出 | |||
ListAssociatedApprovalRuleTemplatesForRepository | 授予权限以列出与存储库关联的批准规则模板 | 列出 | |||
ListBranches | 授予使用此 API 列出 AWS CodeCommit 仓库分支的权限;不控制 Git 分支操作 | 列出 | |||
ListFileCommitHistory | 授予列出对指定文件的提交和更改的权限 | 列出 | |||
ListPullRequests | 授予权限以列出指定存储库的拉取请求 | 列出 | |||
ListRepositories | 授予您列出当前区域中 AWS CodeCommit 仓库信息的权限 AWS 账户 | 列出 | |||
ListRepositoriesForApprovalRuleTemplate | 授予权限以列出与批准规则模板关联的存储库 | 列出 | |||
ListTagsForResource | 授予列出附加到资源 ARN 的 CodeCommit 资源的权限 | 列出 | |||
MergeBranchesByFastForward | 授予权限以使用快进合并选项将两个提交合并到指定的目标分支中 | Write | |||
MergeBranchesBySquash | 授予权限以使用压缩合并选项将两个提交合并到指定的目标分支中 | Write | |||
MergeBranchesByThreeWay | 授予权限以使用三向合并选项将两个提交合并到指定的目标分支中 | Write | |||
MergePullRequestByFastForward | 授予权限以关闭拉取请求,并尝试使用快进合并选项将其合并到指定提交中的该拉取请求的指定目标分支中 | Write | |||
MergePullRequestBySquash | 授予权限以关闭拉取请求,并尝试使用压缩合并选项将其合并到指定提交中的该拉取请求的指定目标分支中 | Write | |||
MergePullRequestByThreeWay | 授予权限以关闭拉取请求,并尝试使用三向合并选项将其合并到指定提交中的该拉取请求的指定目标分支中 | Write | |||
OverridePullRequestApprovalRules | 授予权限以覆盖某个拉取请求的所有批准规则,包括由模板创建的批准规则 | Write | |||
PostCommentForComparedCommit | 授予权限以对两个提交之间的比较结果发布评论 | Write | |||
PostCommentForPullRequest | 授予权限以对拉取请求发布评论 | Write | |||
PostCommentReply | 授予权限以发布评论,以便回复对提交之间的比较结果或拉取请求进行的评论 | Write | |||
PutCommentReaction | 授予权限以对评论发布反应 | 写入 | |||
PutFile | 授予在 AWS CodeCommit 存储库分支中添加或更新文件的权限,以及为指定分支中的新增文件生成提交 | 写入 | |||
PutRepositoryTriggers | 授予权限以创建、更新或删除存储库的触发器 | 写入 | |||
TagResource | 授予将资源标签附加到 CodeCommit 资源 ARN 的权限 | 标记 | |||
TestRepositoryTriggers | 授予权限以将信息发送到触发器目标,以便测试存储库触发器的功能 | 写入 | |||
UntagResource | 授予取消资源标签与资源 ARN 关联的 CodeCommit 权限 | 标记 | |||
UpdateApprovalRuleTemplateContent | 授予权限以更新批准规则模板内容;不授予更新专为拉取请求创建的批准规则内容的权限 | Write | |||
UpdateApprovalRuleTemplateDescription | 授予权限以更新批准规则模板的描述 | Write | |||
UpdateApprovalRuleTemplateName | 授予权限以更新批准规则模板的名称 | Write | |||
UpdateComment | 授予权限以在身份与用于创建评论的身份匹配时更新评论内容 | 写入 | |||
UpdateDefaultBranch | 授予更改 AWS CodeCommit 仓库中默认分支的权限 | 写入 | |||
UpdatePullRequestApprovalRuleContent | 授予权限以更新为特定拉取请求创建的批准规则内容;不授予更新使用批准规则模板为规则创建的批准规则内容的权限 | Write | |||
UpdatePullRequestApprovalState | 授予权限以更新拉取请求的批准状态 | Write | |||
UpdatePullRequestDescription | 授予权限以更新拉取请求描述 | Write | |||
UpdatePullRequestStatus | 授予权限以更新拉取请求状态 | Write | |||
UpdatePullRequestTitle | 授予权限以更新推送请求标题 | 写入 | |||
UpdateRepositoryDescription | 授予更改 AWS CodeCommit 仓库描述的权限 | 写入 | |||
UpdateRepositoryEncryptionKey | 授予更改用于加密和解密存储库的 AWS KMS 加密密钥的权限 AWS CodeCommit | 写入 | |||
UpdateRepositoryName | 授予更改 AWS CodeCommit 仓库名称的权限 | 写入 | |||
UploadArchive [仅权限] | 向的服务角色授予将仓库变更上传 AWS CodePipeline 到管道的权限 | 写入 |
AWS CodeCommit 定义的资源类型
以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource
元素中使用这些资源类型。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在资源类型表的最后一列。有关下表中各列的详细信息,请参阅资源类型表。
资源类型 | ARN | 条件键 |
---|---|---|
repository |
arn:${Partition}:codecommit:${Region}:${Account}:${RepositoryName}
|
AWS CodeCommit 的条件键
AWS CodeCommit 定义了可在 IAM 策略Condition
元素中使用的以下条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表。
要查看适用于所有服务的全局条件键,请参阅可用的全局条件键。
条件键 | 描述 | 类型 |
---|---|---|
aws:RequestTag/${TagKey} | 根据在请求中是否具有标签键值对来筛选访问权限 | String |
aws:ResourceTag/${TagKey} | 按附加到资源的标签键值对筛选操作 | String |
aws:TagKeys | 根据在请求中是否具有标签键来筛选访问 | ArrayOfString |
codecommit:References | 通过 Git 对指定 AWS CodeCommit 操作的引用筛选访问权限 | String |