

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 針對 CodeCommit 使用身分型政策 (IAM 政策）
<a name="auth-and-access-control-iam-identity-based-access-control"></a>

下列身分型政策範例示範帳戶管理員如何將許可政策連接至 IAM 身分 （使用者、群組和角色），以授予對 CodeCommit 資源執行操作的許可。

**重要**  
我們建議您先檢閱簡介主題，這些主題說明可用於管理 CodeCommit 資源存取權的基本概念和選項。如需詳細資訊，請參閱[管理 CodeCommit 資源存取許可的概觀](auth-and-access-control.md#auth-and-access-control-iam-access-control-identity-based)。

**Topics**
+ [使用 CodeCommit 主控台所需的許可](#console-permissions)
+ [在主控台檢視資源](#console-resources)
+ [AWS CodeCommit 的 受管政策](security-iam-awsmanpol.md)
+ [客戶管理政策範例](customer-managed-policies.md)

以下是身分型許可政策範例：

------
#### [ JSON ]

****  

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

------

此政策有一個陳述式，可讓使用者取得名為 的 CodeCommit 儲存庫，`MyDestinationRepo`以及`MyDemo`以 **us-east-2** 區域中名稱開頭的所有 CodeCommit 儲存庫的相關資訊。

## 使用 CodeCommit 主控台所需的許可
<a name="console-permissions"></a>

若要查看每個 CodeCommit API 操作所需的許可，以及有關 CodeCommit 操作的詳細資訊，請參閱 [CodeCommit 許可參考](auth-and-access-control-permissions-reference.md)。

若要允許使用者使用 CodeCommit 主控台，管理員必須授予他們 CodeCommit 動作的許可。例如，您可以將 [AWSCodeCommitPowerUser](security-iam-awsmanpol.md#managed-policies-poweruser) 受管政策或其同等政策新增至使用者或群組。

除了身分型政策授予使用者的許可之外，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 和 加密](encryption.md)。

## 在主控台檢視資源
<a name="console-resources"></a>

CodeCommit 主控台需要`ListRepositories`許可，才能在您 AWS 區域 登入的 中顯示 Amazon Web Services 帳戶的儲存庫清單。主控台還包含 **Go to resource (移至資源)** 功能，可快速執行不區分大小寫的資源搜尋。此搜尋會在 AWS 區域 您登入的 中的 Amazon Web Services 帳戶中執行。將會跨以下服務來顯示以下資源：
+ AWS CodeBuild：組建專案
+ AWS CodeCommit：儲存庫
+ AWS CodeDeploy：應用程式
+ AWS CodePipeline：管道

若要跨所有服務中的資源執行此搜尋，您必須擁有以下許可：
+ CodeBuild：`ListProjects`
+ CodeCommit：`ListRepositories`
+ CodeDeploy：`ListApplications`
+ CodePipeline：`ListPipelines`

如果您沒有某項服務的許可，則不會傳回該服務之資源的結果。即使您有許可來檢視資源，但如果有明確的 `Deny` 而無法檢視特定資源，則不會傳回這些資源。