Amazon Simple Queue Service
開発者ガイド

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

Amazon SQS へのアクセスには、AWS によってリクエストの認証に使用される認証情報が必要です。これらの認証情報には、Amazon SQS キューやメッセージなどの AWS リソースへのアクセス権限が必要です。次のセクションでは、AWS Identity and Access Management (IAM) と Amazon SQS を使用して、リソースにアクセスできるユーザーを制御することで、リソースをセキュリティで保護する方法について詳しく説明します。

トピック

認証

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

  • AWS アカウントのルートユーザー – AWS アカウントを初めて作成する場合は、すべての AWS サービスとリソースに対して完全なアクセス権限を持つシングルサインイン ID で始めます。このアイデンティティは ルートユーザーと呼ばれ、AWS アカウントの作成に使用したメールアドレスとパスワードでのサインインによりアクセスされます。強くお勧めしているのは、日常的なタスクには、それが管理者タスクであっても、ルートユーザーを使用しないことです。代わりに、最初の IAM ユーザーを作成するためだけに ルートユーザーを使用するというベストプラクティスに従います。その後、ルートユーザー認証情報を安全な場所に保管し、それらを使用して少数のアカウントおよびサービス管理タスクのみを実行します。

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

     

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

     

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

     

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

       

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

       

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

アクセスコントロール

Amazon SQS には、AWS Identity and Access Management(IAM)ポリシーに使用されているのと同じ言語で記述されたポリシーを使用する独自のリソースベースのアクセス許可システムがあります。これは、Amazon SQS ポリシーや IAM ポリシーで同様の結果を達成できることを意味します。

注記

すべての AWS アカウントはアカウント内でユーザーにアクセス権限を委任できることを理解するのが重要です。クロスアカウントアクセスによって、追加のユーザーを管理しなくても、AWS リソースへのアクセスを共有することができます。クロスアカウントアクセスの使用方法については、『IAM ユーザーガイド』の「クロスアカウントアクセスを有効にする」を参照してください。

クロスアカウント権限は、以下のアクションには適用されません。

現在、Amazon SQS は IAM で使用可能な条件キーの制限されたサブセットのみをサポートしています。詳細については、「アクションとリソースのリファレンス」を参照してください。

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

このページの内容: