Amazon でのアクセス管理の概要 SQS - Amazon Simple Queue Service

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

Amazon でのアクセス管理の概要 SQS

すべての AWS リソースは によって所有され AWS アカウント、リソースを作成またはアクセスするためのアクセス許可はアクセス許可ポリシーによって管理されます。アカウント管理者は、アクセス許可ポリシーを ID (ユーザー、グループ、ロール) IAM にアタッチできます。また、一部のサービス (Amazon などSQS) では、アクセス許可ポリシーをリソースにアタッチすることもできます。

注記

アカウント管理者 (または管理者ユーザー) は、管理者権限を持つユーザーです。詳細については、「 ユーザーガイド」のIAM「ベストプラクティス」を参照してください。 IAM

アクセス権限を付与する場合、アクセス権限を取得するユーザー、取得するアクセス権限の対象となるリソース、およびリソースに対して許可される特定のアクションを指定します。

Amazon Simpleキューサービス リソースと操作

Amazon ではSQS、唯一のリソースはキュー です。ポリシーでは、Amazon リソースネーム (ARN) を使用して、ポリシーが適用されるリソースを識別します。次のリソースには、一意の がARN関連付けられています。

リソースタイプ ARN 形式
キュー arn:aws:sqs:region:account_id:queue_name

キューのARN形式の例を次に示します。

  • AWS アカウント 123456789012 に属する、米国東部 (オハイオ) リージョンmy_queue内の という名前のキューARNの :

    arn:aws:sqs:us-east-2:123456789012:my_queue
  • Amazon がSQSサポートする各リージョンmy_queueで という名前のキューARNの 。

    arn:aws:sqs:*:123456789012:my_queue
  • キュー名のワイルドカード?として * または ARNを使用する 。次の例では、 は、プレフィックスが のすべてのキューARNと一致しますmy_prefix_

    arn:aws:sqs:*:123456789012:my_prefix_*

GetQueueAttributes アクションを呼び出すことで、既存のキューARNの値を取得できます。QueueArn 属性の値は、キューARNの です。の詳細についてはARNs、「 ユーザーガイドIAMARNs」の「」を参照してください。 IAM

Amazon SQSは、キューリソースで動作する一連のアクションを提供します。詳細については、「Amazon SQS API アクセス許可: アクションとリソースリファレンス」を参照してください。

リソース所有権について

は、リソースを作成したユーザーに関係なく、アカウントで作成されたリソース AWS アカウント を所有します。具体的には、リソース所有者は AWS アカウント 、リソース作成リクエストを認証するプリンシパルエンティティ (ルートアカウント、ユーザー 、またはIAMロール) の です。次の例は、この仕組みを示しています。

  • のルートアカウントの認証情報を使用して Amazon SQSキュー AWS アカウント を作成する場合、 AWS アカウント はリソースの所有者です (Amazon ではSQS、リソースは Amazon SQSキューです)。

  • でユーザーを作成し AWS アカウント 、ユーザーにキューを作成するアクセス許可を付与すると、ユーザーはキューを作成できます。ただし、(ユーザーが属する) AWS アカウント アカウントはキューリソースを所有しています。

  • Amazon SQSキューを作成するアクセス許可 AWS アカウント を持つIAMロールを に作成した場合、そのロールを引き受けることができるすべてのユーザーがキューを作成できます。(ロールが属 AWS アカウント する) がキューリソースを所有します。

リソースへのアクセスの管理

アクセス許可ポリシー では、誰が何にアクセスできるかを記述します。以下のセクションで、アクセス権限のポリシーを作成するために使用可能なオプションについて説明します。

注記

このセクションでは、Amazon のコンテキストIAMでの の使用について説明しますSQS。IAM サービスに関する詳細情報は提供されません。詳細なIAMドキュメントについては、 IAM ユーザーガイド「 とはIAM」を参照してください。IAM ポリシーの構文と説明については、「 ユーザーガイド」のAWS IAM「ポリシーリファレンス」を参照してください。 IAM

IAM ID にアタッチされたポリシーは ID ベースのポリシー (IAM ポリシー) と呼ばれ、リソースにアタッチされたポリシーはリソースベースのポリシーと呼ばれます。

アイデンティティベースのポリシー

Amazon SQSキューへのアクセス許可をユーザーに付与するには、Amazon SQSポリシーシステムの使用とIAMポリシーシステムの使用の 2 つの方法があります。いずれかのシステムまたは両方を使用して、ユーザーまたはロールにポリシーをアタッチできます。ほとんどの場合、どちらのシステムを使用しても同じ結果が得られます。例えば、次の操作を実行できます:

  • アカウントのユーザーまたはグループにアクセス許可ポリシーをアタッチする – Amazon SQSキューを作成するアクセス許可をユーザーに付与するには、ユーザーが属するユーザーまたはグループにアクセス許可ポリシーをアタッチします。

  • 別の のユーザーにアクセス許可ポリシーをアタッチ AWS アカウントする – Amazon SQSキューを作成するアクセス許可をユーザーに付与するには、別の のユーザーに Amazon SQS アクセス許可ポリシーをアタッチします AWS アカウント。

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

  • アクセス許可ポリシーをロールにアタッチする (クロスアカウントアクセス許可を付与する) – クロスアカウントアクセス許可を付与するには、アイデンティティベースのアクセス許可ポリシーをIAMロールにアタッチします。例えば、 AWS アカウント 管理者は次のように AWS アカウント B (または AWS サービス) にクロスアカウントアクセス許可を付与するロールを作成できます。

    • アカウント A 管理者はIAMロールを作成し、アカウント A のリソースに対するアクセス許可を付与するアクセス許可ポリシーをそのロールにアタッチします。

    • アカウント Aの管理者は、アカウントBをそのロールを引き受けるプリンシパルとして識別するロールに、信頼ポリシーを添付します。

    • アカウントBの管理者は、ロールを引き受けるアクセス権限をアカウントBの任意のユーザーに委任できます。これにより、アカウントBのユーザーはアカウントAでキューを作成したり、キューにアクセスしたりできます。

      注記

      AWS サービスにロールを引き受けるアクセス許可を付与する場合、信頼ポリシーのプリンシパルは AWS サービスプリンシパルにすることもできます。

を使用してアクセス許可IAMを委任する方法の詳細については、「 ユーザーガイド」の「アクセス管理」を参照してください。 IAM

Amazon SQSはIAMポリシーと連携していますが、独自のポリシーインフラストラクチャがあります。キューで Amazon SQSポリシーを使用して、キューにアクセスできる AWS アカウントを指定できます。アクセスタイプと条件を指定できます (たとえば、リクエストが 2010年12月31日より前の場合はSendMessageReceiveMessageを使用するアクセス権限を付与する条件)。アクセス許可を付与できる特定のアクションは、Amazon SQSアクションの全体的なリストのサブセットです。Amazon SQSポリシーを記述し、「すべての Amazon SQSアクションを許可する*」ように を指定すると、ユーザーはこのサブセット内のすべてのアクションを実行できます。

次の図は、アクションのサブセットをカバーするこれらの基本的な Amazon SQSポリシーの概念を示しています。ポリシーは 用でありqueue_xyz、 AWS アカウント 1 と AWS アカウント 2 に、指定されたキューで許可されたアクションのいずれかを使用するアクセス許可を付与します。

注記

ポリシー内のリソースは として指定され123456789012/queue_xyz123456789012はキューを所有するアカウントのアカウント AWS ID です。

アクションのサブセットを対象とする Amazon SQSポリシー

ユーザーIAMと Amazon リソースネーム (ARNs) の導入と概念により、SQSポリシーに関するいくつかの点が変更されました。次の図と表は、その変更を示しています。

IAM および Amazon リソースネームが Amazon SQSポリシーに追加されました。

Number one in the diagram. 異なるアカウントのユーザーに許可を付与する方法については、IAM「 ユーザーガイド」の「チュートリアル: IAMロールを使用して AWS アカウント間でアクセスを委任する」を参照してください。

Number two in the diagram. *に含まれるアクションのサブセットが拡大されました。可能なアクションの一覧については、Amazon SQS API アクセス許可: アクションとリソースリファレンスを参照してください。

Number three in the diagram. IAMポリシーでリソースを指定する標準的な手段である Amazon リソースネーム (ARN) を使用してリソースを指定できます。Amazon SQSキューのARN形式については、「」を参照してくださいAmazon Simpleキューサービス リソースと操作

例えば、前述の図の Amazon SQSポリシーによると、 AWS アカウント 1 または AWS アカウント 2 のセキュリティ認証情報を所有するユーザーは誰でも にアクセスできますqueue_xyz。さらに、自身の AWS アカウント (ID 123456789012)内のユーザー Bobおよび Susanもキューにアクセスできます。

の導入前にIAM、Amazon はキューの作成者にキューに対する完全なコントロール (つまり、そのキューで可能なすべての Amazon SQSアクションへのアクセス) SQSを自動的に付与しました。これは、作成者が AWS セキュリティ認証情報を使用している場合以外は当てはまらなくなりました。キューを作成するアクセス許可を持つユーザーには、作成されたキューで何でもするために、他の Amazon SQSアクションを使用するアクセス許可も必要です。

以下は、リテラル文字列 が先頭に付けられた名前のキューでのみ、ユーザーにすべての Amazon SQSアクションの使用を許可するポリシーの例ですbob_queue_

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sqs:*", "Resource": "arn:aws:sqs:*:123456789012:bob_queue_*" }] }

詳細については、IAM「 ユーザーガイド」のAmazon でのポリシーの使用 SQS「、および ID (ユーザー、グループ、ロール)」を参照してください。 https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html

ポリシー要素の指定: アクション、効果、リソース、プリンシパル

Amazon Simple キューサービス リソースの種類ごとに、このサービスは、一連のアクションを定義します。これらのアクションのアクセス許可を付与するために、Amazon はポリシーで指定できる一連のアクションSQSを定義します。

注記

1つの アクションの実行で、複数のアクションのアクセス権限が必要になる場合があります。特定のアクションのアクセス権限を付与した場合は、アクションを許可または拒否するリソースを識別します。

最も基本的なポリシーの要素を次に示します。

  • リソース – ポリシーでは、Amazon リソースネーム (ARN) を使用して、ポリシーが適用されるリソースを識別します。

  • アクション–アクションのキーワードを使用して、許可または拒否するリソースアクションを識別します。たとえば、sqs:CreateQueue権限は、Amazon Simple キューサービスCreateQueueアクション の実行をユーザーに許可します。

  • 効果–ユーザーが特定のアクションを要求する際の効果を指定します。許可または拒否のいずれかになります。リソースへのアクセスを明示的に許可していない場合、アクセスは暗黙的に拒否されます。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。

  • プリンシパル – ID ベースのポリシー (IAM ポリシー) では、ポリシーがアタッチされているユーザーが暗黙的なプリンシパルです。リソースベースのポリシーでは、権限 (リソースベースのポリシーにのみ適用)を受け取りたいユーザー、アカウント、サービス、またはその他のエンティティを指定します。

Amazon SQSポリシーの構文と説明の詳細については、「 ユーザーガイド」のAWS IAM「ポリシーリファレンス」を参照してください。 IAM

すべてのAmazon Simpleキューサービスアクションおよびそれに適用されるリソースを示す表については、「Amazon SQS API アクセス許可: アクションとリソースリファレンス」を参照してください。