使用基于身份的策略(IAM 策略) CodeCommit - Amazon CodeCommit
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon CodeCommit 不再向新客户提供。 Amazon CodeCommit 的现有客户可以继续正常使用该服务。了解更多

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用基于身份的策略(IAM 策略) CodeCommit

以下基于身份的策略示例演示了账户管理员如何向 IAM 身份(用户、群组和角色)附加权限策略,以授予对资源执行操作的权限。 CodeCommit

重要

我们建议您先阅读介绍性主题,这些主题解释了管理 CodeCommit 资源访问权限的基本概念和选项。有关更多信息,请参阅 管理 CodeCommit 资源访问权限概述

下面是基于身份的权限策略的示例:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codecommit:BatchGetRepositories" ], "Resource" : [ "arn:aws:codecommit:us-east-2:111111111111:MyDestinationRepo", "arn:aws:codecommit:us-east-2:111111111111:MyDemo*" ] } ] }

该政策有一条声明,允许用户获取有关名为的 CodeCommit存储库MyDestinationRepo以及该us-east-2区域MyDemo中所有以该名称开头的 CodeCommit 存储库的信息。

使用 CodeCommit 控制台所需的权限

要查看每个 CodeCommit API 操作所需的权限以及有关 CodeCommit 操作的更多信息,请参阅CodeCommit 权限参考

要允许用户使用 CodeCommit 控制台,管理员必须向他们授予 CodeCommit 操作权限。例如,您可以将AWSCodeCommitPowerUser托管策略或其等效策略附加到用户或组。

除了通过基于身份的策略向用户授予的权限外,还 CodeCommit需要 Amazon Key Management Service (Amazon KMS) 操作的权限。IAM 用户不需要这些操作的显式 Allow 权限,但该用户不能附加有任何将以下权限设为 Deny 的策略:

"kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:DescribeKey"

有关加密和的更多信息 CodeCommit,请参阅Amazon KMS 和加密

在控制台中查看资源

CodeCommit 控制台需要ListRepositories获得在您登录时显示您的 Amazon Web Services 账户的 Amazon Web Services 区域 存储库列表的权限。该控制台还包括一个转到资源功能,可对资源快速执行不区分大小写的搜索。此搜索是在您登录的亚马逊 Web S Amazon Web Services 区域 ervices 账户中执行的。将显示以下服务中的以下资源:

  • Amazon CodeBuild:构建项目

  • Amazon CodeCommit:存储库

  • Amazon CodeDeploy:应用程序

  • Amazon CodePipeline:管道

要在所有服务中跨资源执行此搜索,您必须具有如下权限:

  • CodeBuild: ListProjects

  • CodeCommit: ListRepositories

  • CodeDeploy: ListApplications

  • CodePipeline: ListPipelines

如果您没有针对某个服务的权限,搜索将不会针对该服务的资源返回结果。即使您有权限查看资源,但如果特定资源明确 Deny 查看,搜索也不会返回这些资源。