CodeCommit でのアイデンティティベースのポリシー (IAM ポリシー) の使用 - AWS CodeCommit

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

CodeCommit でのアイデンティティベースのポリシー (IAM ポリシー) の使用

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

このポリシーには、MyDestinationRepo リージョンにある MyDemo という名前の CodeCommit リポジトリおよび us-east-2 という名前で始まるすべての 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 コンソールでは、サインインしている 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 がある場合にはそれらのリソースは返されません。