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

このガイドの手順では、新しいコンソールデザインがサポートされています。古いバージョンのコンソールを選択すると、古い概念が反映され、本ガイドの基本的な手順がそのまま適用されます。新しいコンソールのヘルプにアクセスするには、情報アイコンを選択します。

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

AWS CodeBuild へのアクセスには、認証情報が必要です。認証情報は、Amazon S3 バケットのビルドアーティファクトの保存や取得、および、ビルドのための Amazon CloudWatch Logs の表示など、AWS リソースにアクセスするための権限を持っている必要があります。以下のセクションでは、AWS Identity and Access Management (IAM) と CodeBuild を使用してリソースに安全にアクセスする方法について説明します。

認証

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

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

    重要

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

  • IAM ユーザーIAM ユーザーは、カスタム権限 (たとえば、CodeBuild でビルドプロジェクトを作成するアクセス許可) を持つ AWS アカウントの ID です。IAM のユーザー名とパスワードを使用して、AWS Management ConsoleAWS ディスカッションフォーラムAWS Support Center などのセキュリティ保護された AWS ウェブページにサインインできます。

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

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

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

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

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

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

アクセスコントロール

有効な認証情報があればリクエストを認証できますが、許可を持っていないかぎり CodeBuild リソースの作成やアクセスはできません。たとえば、ビルドプロジェクトの作成、表示、削除、および、ビルドの開始、停止、表示には、アクセス許可が必要です。

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

このページの内容: