

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CodeCommit でのアイデンティティベースのポリシー (IAM ポリシー) の使用
<a name="auth-and-access-control-iam-identity-based-access-control"></a>

以下のアイデンティティベースのポリシーの例では、アカウント管理者が IAM ID (ユーザー、グループ、およびロール) にアクセス許可ポリシーをアタッチし、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*"
      ]
    }
  ]
}
```

------

このポリシーには、`MyDestinationRepo` リージョンにある `MyDemo` という名前の CodeCommit リポジトリおよび **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) マネージドポリシーまたはそれに相当するユーザーまたはグループにアタッチできます。

ID ベースのポリシーによってユーザーに付与されるアクセス許可に加えて、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 コンソールには、サインイン AWS リージョン している で Amazon Web Services アカウントのリポジトリのリストを表示する`ListRepositories`アクセス許可が必要です。このコンソールには、大文字と小文字を区別しない検索をリソースに対して迅速に実行するための [**Go to resource (リソースに移動)**] 機能も含まれています。この検索は、サインイン AWS リージョン している の Amazon Web Services アカウントで実行されます。次のリソースは、以下のサービス全体で表示されます。
+ AWS CodeBuild: ビルドプロジェクト
+ AWS CodeCommit: リポジトリ
+ AWS CodeDeploy: アプリケーション
+ AWS CodePipeline: パイプライン

この検索をすべてのサービスのリソースにわたって実行するには、次のアクセス権限が必要です。
+ CodeBuild: `ListProjects`
+ CodeCommit: `ListRepositories`
+ CodeDeploy: `ListApplications`
+ CodePipeline: `ListPipelines`

あるサービスに対するアクセス権限がない場合、そのサービスのリソースに関して結果は返されません。リソースを表示するためのアクセス権限がある場合でも、特定のリソースの表示に対する明示的な `Deny` がある場合にはそれらのリソースは返されません。