本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 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 控制台需要ListRepositories
Amazon 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
查看,搜索也不会返回这些资源。