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

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

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

以下基于身份的策略示例说明账户管理员如何将权限策略附加到 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以及以名称开头的所有 CodeCommit 存储库MyDemo中的us-east-2区域。

使用 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 控制台需要ListRepositoriesAmazon Web ServicesAmazon Web Services 区域在哪里登录。该控制台还包括一个 Go to resource (转到资源) 功能,可对资源快速执行不区分大小写的搜索。此搜索通过亚马逊云科技账户中执行。Amazon Web Services 区域在哪里登录。将显示以下服务中的以下资源:

  • Amazon CodeBuild:构建项目

  • Amazon CodeCommit:存储库

  • Amazon CodeDeploy:应用程序

  • Amazon CodePipeline:管道

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

  • CodeBuild:ListProjects

  • CodeCommit:ListRepositories

  • CodeDeploy:ListApplications

  • CodePipeline:ListPipelines

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