翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
と AWS CodeDeploy の連携方法 IAM
IAM を使用して へのアクセスを管理する前に CodeDeploy、 で使用できるIAM機能を理解しておく必要があります CodeDeploy。詳細については、「 IAMユーザーガイド」のAWS 「 と連携する のサービスIAM」を参照してください。
CodeDeploy アイデンティティベースのポリシー
IAM のアイデンティティベースのポリシーでは、許可または拒否されるアクションとリソースを指定でき、さらにアクションが許可または拒否される条件を指定できます。 CodeDeploy はアクション、リソース、および条件キーをサポートします。JSON ポリシーで使用する要素の詳細については、「 IAMユーザーガイド」の「 IAMJSONポリシー要素リファレンス」を参照してください。
アクション
管理者はポリシーを使用して AWS JSON、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
JSON ポリシーの Action
要素は、ポリシーでアクセスを許可または拒否するために使用できるアクションを記述します。ポリシーアクションの名前は通常、関連する AWS APIオペレーションと同じです。一致するAPIオペレーションがないアクセス許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数のアクションが必要なオペレーションもあります。これらの追加アクションは、依存アクションと呼ばれます。
このアクションは、関連付けられたオペレーションを実行するための権限を付与するポリシーで使用されます。
のポリシーアクションは、アクションの前に codedeploy:
プレフィックス CodeDeploy を使用します。例えば、codedeploy:GetApplication
許可は、GetApplication
オペレーションを実行するためのアクセス許可をユーザーに付与します。ポリシーステートメントには、 Action
または NotAction
element を含める必要があります。 は、このサービスで実行できるタスクを記述する独自のアクションのセット CodeDeploy を定義します。
単一ステートメントに複数アクションを指定するには、次のようにカンマで区切ります:
"Action": [ "codedeploy:action1", "codedeploy:action2"
ワイルドカード (*) を使用して複数アクションを指定できます。例えば、Describe
という単語で始まるすべてのアクションを指定するには、次のアクションを含めます。
"Action": "ec2:Describe*"
CodeDeploy アクションのリストについては、「 IAMユーザーガイド」の「 で定義されるアクション AWS CodeDeploy」を参照してください。
すべての CodeDeploy APIアクションとそれらが適用されるリソースを一覧表示する表については、「」を参照してくださいCodeDeploy の許可に関するリファレンス。
リソース
管理者はポリシーを使用して AWS JSON、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Policy Resource
JSON要素は、アクションが適用されるオブジェクトを指定します。ステートメントには、Resource
または NotResource
要素を含める必要があります。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの許可と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。
オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。
"Resource": "*"
例えば、ARN次のように、 ステートメントで を使用してデプロイグループ (myDeploymentGroup
) を指定できます。
"Resource": "arn:aws:codedeploy:
us-west-2
:123456789012
:deploymentgroup:myApplication
/myDeploymentGroup
"
以下のようにワイルドカード文字 (*) を使用して、特定のアカウントに属するすべてのデプロイグループを指定することもできます。
"Resource": "arn:aws:codedeploy:
us-west-2
:123456789012
:deploymentgroup:*
"
すべてのリソースを指定する場合、またはAPIアクションが をサポートしていない場合はARNs、次のように Resource
要素でワイルドカード文字 (*) を使用します。
"Resource": "
*
"
一部の CodeDeploy APIアクションは、複数のリソース ( などBatchGetDeploymentGroups
) を受け入れます。1 つのステートメントで複数のリソースを指定するには、次のように をカンマARNsで区切ります。
"Resource": ["arn1", "arn2"]
CodeDeploy には、 リソースを操作するための一連のオペレーションが用意されています CodeDeploy。使用可能なオペレーションのリストについては、「CodeDeploy の許可に関するリファレンス」を参照してください。
CodeDeploy リソースタイプとその のリストについてはARNs、「 IAMユーザーガイド」の「 で定義されるリソース AWS CodeDeploy」を参照してください。各リソースARNの を指定できるアクションについては、「 で定義されるアクション AWS CodeDeploy」を参照してください。
CodeDeploy リソースとオペレーション
では CodeDeploy、プライマリリソースはデプロイグループです。ポリシーでは、Amazon リソースネーム (ARN) を使用して、ポリシーが適用されるリソースを識別します。 は、アプリケーション、デプロイ設定、インスタンスなど、デプロイグループで使用できる他のリソース CodeDeploy をサポートします。これらは サブリソースと呼ばれます。これらのリソースとサブリソースには、一意の がARNs関連付けられています。詳細については、 の「Amazon リソースネーム (ARNs)」を参照してくださいAmazon Web Services 全般のリファレンス。
リソースタイプ | ARN 形式 |
---|---|
デプロイグループ |
|
アプリケーション |
|
デプロイ設定 |
|
インスタンス |
|
すべての CodeDeploy リソース |
|
指定されたリージョン内の指定されたアカウントが所有するすべての CodeDeploy リソース |
|
注記
のほとんどのサービスは、 でコロン (:) またはスラッシュ (/) を同じ文字として AWS 扱いますARNs。ただし、 はリソースパターンとルールで完全一致 CodeDeploy を使用します。イベントパターンを作成するときは、リソースのARN構文と一致する正しいARN文字を使用してください。
条件キー
CodeDeploy はサービス固有の条件キーを提供しませんが、一部のグローバル条件キーの使用をサポートしています。詳細については、「 IAMユーザーガイド」のAWS 「 グローバル条件コンテキストキー」を参照してください。
例
CodeDeploy アイデンティティベースのポリシーの例を表示するには、「」を参照してくださいAWS CodeDeploy アイデンティティベースポリシーの例。
CodeDeploy リソースベースのポリシー
CodeDeploy はリソースベースのポリシーをサポートしていません。詳細なリソースベースのポリシーページの例を表示するには、「リソースベースのポリシーの使用 AWS Lambda」を参照してください。
CodeDeploy タグに基づく認可
CodeDeploy は、リソースのタグ付けやタグに基づいたアクセスの制御をサポートしていません。
CodeDeploy IAM ロール
IAM ロールは、特定のアクセス許可を持つ AWS アカウント内のエンティティです。
での一時的な認証情報の使用 CodeDeploy
一時的な認証情報を使用して、フェデレーションでサインイン、IAM ロールを引き受ける、またはクロスアカウントロールを引き受けることができます。一時的なセキュリティ認証情報を取得するには、 AssumeRoleや などの オペレーションを呼び出し AWS STS APIますGetFederationToken。
CodeDeploy では、一時的な認証情報の使用がサポートされています。
サービスにリンクされたロール
CodeDeploy は、サービスにリンクされたロールをサポートしていません。
サービスロール
この機能により、ユーザーに代わってサービスがサービスロールを引き受けることが許可されます。このロールにより、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールは AWS アカウントに表示され、アカウントによって所有されます。つまり、ユーザーは、このロールのアクセス許可を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。
CodeDeploy はサービスロールをサポートします。
での IAMロールの選択 CodeDeploy
でデプロイグループリソースを作成するときは CodeDeploy、 がEC2ユーザーに代わって Amazon にアクセス CodeDeploy することを許可するロールを選択する必要があります。サービスロールあるいはサービスにリンクされたロールを以前に作成している場合、 CodeDeploy は選択できるロールのリストを示します。EC2 インスタンスの起動と停止へのアクセスを許可するロールを選択することが重要です。