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

AWS CodeCommit 不再向新客户提供。 AWS 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需要 AWS Key Management Service (AWS KMS) 操作的权限。IAM用户无需显式Allow权限即可执行这些操作,但该用户不得附加任何将以下权限设置为Deny

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

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

在控制台中查看资源

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

  • AWS CodeBuild:构建项目

  • AWS CodeCommit:存储库

  • AWS CodeDeploy:应用程序

  • AWS CodePipeline:管道

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

  • CodeBuild: ListProjects

  • CodeCommit: ListRepositories

  • CodeDeploy: ListApplications

  • CodePipeline: ListPipelines

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