AWS CodeDeploy
ユーザーガイド (API バージョン 2014-10-06)

AWS CodeDeploy に対する認証とアクセスコントロール

AWS CodeDeploy へのアクセスには、認証情報が必要です。これらの認証情報には、Amazon S3 バケットからアプリケーションリビジョンを取得したり、Amazon EC2 インスタンスでタグを読み取ったりするなど、AWS リソースにアクセスするための権限が必要です。以下のセクションでは、AWS Identity and Access Management (IAM) と CodeDeploy を使用してリソースに安全にアクセスする方法について詳しく説明します。

認証

AWS には、次のタイプのアイデンティティでアクセスできます。

  • AWS アカウントのルートユーザー – AWS にサインアップするときは、AWS アカウントに関連付けられた E メールアドレスとパスワードを指定します。これらはルート認証情報であり、これらの情報を使用すると、すべての AWS リソースへの完全なアクセスが可能になります。

    重要

    セキュリティ上の理由から、ルート認証情報は、AWS アカウントへの完全なアクセス許可を持つ管理者ユーザー (IAM ユーザー) を作成するためにのみ使用することをお勧めします。その後、この管理者ユーザーを使用して、制限されたアクセス許可を持つ他の IAM ユーザーとロールを作成できます。詳細については、「IAM のベストプラクティス」と「管理者のユーザーおよびグループの作成」 (IAM ユーザーガイド) を参照してください。

  • IAM ユーザーIAMユーザーは、特定のカスタムアクセス権限 (例: CodeDeploy でターゲットにイベントデータを送信するアクセス権限) を持つ AWS アカウント内の単なる ID です。IAM のユーザー名とパスワードを使用して、AWS マネジメントコンソールAWS ディスカッションフォーラムAWS Support Center などのセキュリティ保護された AWS ウェブページにサインインできます。

     

    ユーザー名とパスワードに加えて、各ユーザーのアクセスキーを生成することもできます。いくつかの SDK の 1 つまたは AWS Command Line Interface (AWS CLI) を使ってプログラムで AWS サービスにアクセスするときに、これらのキーを使用できます。SDK と CLI ツールでは、アクセスキーを使用してリクエストが暗号で署名されます。AWS ツールを使用しない場合は、リクエストに自分で署名する必要があります。CodeDeploy supports では、署名バージョン 4 がサポートされています。これは、インバウンド API リクエストを認証するためのプロトコルです。リクエストの認証の詳細については、『AWS General Reference』の「署名バージョン 4 の署名プロセス」を参照してください。

     

  • IAMロールIAM ロールは、特定のアクセス権限を持ち、アカウントで作成できるもう 1 つの IAM ID です。これは IAM ユーザーに似ていますが、特定のユーザーに関連付けられていません。IAM ロールでは、AWS のサービスおよびリソースにアクセスできる一時的なアクセスキーを取得することができます。IAM ロールと一時的な認証情報は、次の状況で役立ちます。

     

    • フェデレーティッドユーザーアクセス – IAM ユーザーを作成するのではなく、AWS Directory Service、エンタープライズユーザーディレクトリ、またはウェブアイデンティティプロバイダーの既存のユーザーアイデンティティを使用することもできます。このようなユーザーはフェデレーティッドユーザーと呼ばれます。AWS では、ID プロバイダーを通じてアクセスがリクエストされたとき、フェデレーティッドユーザーにロールを割り当てます。フェデレーティッドユーザーの詳細については、IAM ユーザーガイドの「フェデレーティッドユーザーとロール」を参照してください。

       

    • クロスアカウントアクセス – アカウントで IAM ロールを使って、お客様のアカウントのリソースへアクセスするためのアクセス許可を別の AWS アカウントに付与できます。この例については、IAM ユーザーガイドチュートリアル: AWS アカウント間の IAM ロールを使用したアクセスの委任を参照してください。

       

    • AWS サービスアクセス – アカウントで IAM ロールを使って、お客様のアカウントのリソースにアクセスするための AWS サービスのアクセス許可を付与できます。たとえば、Amazon Redshift がお客様に代わって Amazon S3 バケットにアクセスし、バケットに保存されたデータを Amazon Redshift クラスターにロードすることを許可するロールを作成できます。詳細については、IAM ユーザーガイドAWS サービスにアクセス権限を委任するロールの作成を参照してください。

       

    • Amazon EC2 で実行されるアプリケーション – インスタンスで実行されて AWS API リクエストを作成するアプリケーション用のアクセスキーを EC2 インスタンス内に保存する代わりに、IAM ロールを使用してこれらのアプリケーション用の一時認証情報を管理できます。AWS ロールを EC2 インスタンスに割り当て、そのすべてのアプリケーションで使用できるようにするには、インスタンスにアタッチされたインスタンスプロファイルを作成します。インスタンスプロファイルにはロールが含まれ、EC2 インスタンスで実行されるプログラムは一時認証情報を取得することができます。詳細については、「Amazon EC2 インスタンスで実行されるアプリケーションに IAM ロールを使用してアクセス権限を付与する」 (IAM ユーザーガイド) を参照してください。

アクセスコントロール

リクエストを認証するための有効な認証情報があっても、アクセス権限がなければ、CodeDeploy リソースの作成やアクセスを行うことはできません。たとえば、アプリケーション、デプロイ、デプロイ設定、デプロイグループの作成、表示、削除、またはオンプレミスのインスタンスへのタグの登録、登録解除、追加、オンプレミスのインスタンスからのタグの削除などには、アクセス権限が必要です。

以下のセクションでは、CodeDeploy のアクセス権限を管理する方法について説明します。最初に概要のセクションを読むことをお勧めします。

このページの内容: