翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
すべての AWS リソースは によって所有され AWS アカウント、リソースを作成またはアクセスするためのアクセス許可はアクセス許可ポリシーによって管理されます。アカウント管理者は、IAMアクセス権限ポリシーをアイデンティティ (ユーザー、グループ、ロール) にアタッチできます。一部のサービス ( Amazon SQS など) では、アクセス権限ポリシーをリソースにアタッチすることもできます。
注記
アカウント管理者 (または管理者ユーザー) は、管理者権限を持つユーザーです。詳細については、「IAM ユーザーガイド」の「IAM のベストプラクティス」を参照してください。
アクセス権限を付与する場合、アクセス権限を取得するユーザー、取得するアクセス権限の対象となるリソース、およびリソースに対して許可される特定のアクションを指定します。
Amazon Simpleキューサービス リソースと操作
Amazon SQS では、唯一のリソースはキューです。ポリシーで Amazon リソースネーム (ARN)を使用して、ポリシーを適用するリソースを識別します。次のリソースには、関連付けられた一意のARN があります。
リソースタイプ | ARN 形式 |
---|---|
キュー | arn:aws:sqs: |
キューの 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 です。ARNの詳細については、IAM ユーザーガイドの「IAM ARN」を参照してください。
Amazon SQSには、キューリソースを操作するための一連の アクションが用意されています。詳細については、「Amazon SQS (Amazon SQS)、 API のアクセス権限: アクションとリソースのリファレンスについて」を参照してください。
リソース所有権についての理解
は、リソースを作成したユーザーに関係なく、アカウントで作成されたリソース AWS アカウント を所有します。具体的には、リソース所有者は、リソースの作成リクエストを認証するプリンシパルエンティティ (ルートアカウント、ユーザー、または IAM ロール) の AWS アカウント です。次の例は、この仕組みを示しています。
-
のルートアカウントの認証情報を使用して Amazon SQS キュー AWS アカウント を作成する場合、 AWS アカウント はリソースの所有者です (Amazon SQS では、リソースは Amazon SQS キューです)。
-
でユーザーを作成し AWS アカウント 、キューを作成するアクセス許可をユーザーに付与すると、そのユーザーはキューを作成できます。ただし、(ユーザーが属する) AWS アカウント アカウントはキューリソースを所有しています。
-
Amazon SQS キューを作成するアクセス許可 AWS アカウント を持つ に IAM ロールを作成する場合、ロールを引き受けることのできるいずれのユーザーもキューを作成できます。(ロールが属 AWS アカウント する) がキューリソースを所有します。
リソースへのアクセスの管理
アクセス許可ポリシー では、誰が何にアクセスできるかを記述します。以下のセクションで、アクセス権限のポリシーを作成するために使用可能なオプションについて説明します。
注記
このセクションでは、Amazon SQSのコンテキストでの IAM の使用について説明します。これは、IAMサービスに関する詳細情報を取得できません。IAM に関する詳細なドキュメントについては、「IAM ユーザーガイド」の「What is IAM?」(IAM とは?) を参照してください。IAM ポリシーの構文と説明については、「IAM ユーザーガイド」の「AWS IAM ポリシーリファレンス」を参照してください。
IAM ID にアタッチされたポリシーは ID ベースのポリシー (IAM ポリシー) と呼ばれ、リソースにアタッチされたポリシーはリソースベースのポリシーと呼ばれます。
アイデンティティベースのポリシー
ユーザーにAmazon SQSキューのアクセス権限を付与する方法は、 ポリシーシステムを使用する方法とIAMポリシーシステムを使用する方法の 2 つです。いずれかのシステムまたは両方を使用して、ユーザーまたはロールにポリシーをアタッチできます。ほとんどの場合、どちらのシステムを使用しても同じ結果が得られます。例えば、次の操作を実行できます:
-
アカウントのユーザーまたはグループに許可ポリシーをアタッチする–Amazon SQS キューを作成する許可を付与するために、ユーザーまたはユーザーが所属するグループに許可ポリシーをアタッチできます。
-
別の のユーザーに許可ポリシーを AWS アカウントアタッチする – 別の のユーザーに許可ポリシーをアタッチ AWS アカウント して、ユーザーが Amazon SQS キューとやり取りできるようにします。ただし、クロスアカウントアクセス許可は、以下のアクションには適用されません。
クロスアカウント権限は、次のアクションには適用されません。
これらのアクションへのアクセスを許可するには、ユーザーは Amazon SQS キューを所有 AWS アカウント するのと同じ に属している必要があります。
-
アクセス権限ポリシーをロールにアタッチする (クロスアカウントのアクセス権限を付与する) –クロスアカウントのアクセス権限を付与するには、アイデンティティベースのアクセス権限ポリシーを IAM ロールにアタッチできます。例えば、管理者は、次のように AWS アカウント B (または AWS サービス) AWS アカウント にクロスアカウントアクセス許可を付与するロールを作成できます。
-
アカウント A の管理者は、IAM ロールを作成し、そのロールに対して、アカウント A のリソースにアクセス許可を付与するアクセス許可ポリシーをアタッチします。
-
アカウント Aの管理者は、アカウントBをそのロールを引き受けるプリンシパルとして識別するロールに、信頼ポリシーを添付します。
-
アカウントBの管理者は、ロールを引き受けるアクセス権限をアカウントBの任意のユーザーに委任できます。これにより、アカウントBのユーザーはアカウントAでキューを作成したり、キューにアクセスしたりできます。
注記
AWS サービスにロールを引き受けるアクセス許可を付与する場合、信頼ポリシーのプリンシパルは AWS サービスプリンシパルにすることもできます。
-
IAM を使用した許可の委任の詳細については、「IAM ユーザーガイド」の「アクセス管理」を参照してください。
Amazon SQS はIAMポリシーを使用して作業する一方で、独自のポリシーインフラストラクチャがあります。キューで Amazon SQS ポリシーを使用して、キューにアクセスできる AWS アカウントを指定できます。アクセスタイプと条件を指定できます (たとえば、リクエストが 2010年12月31日より前の場合はSendMessage
、ReceiveMessage
を使用するアクセス権限を付与する条件)。アクセス許可を付与できる特定のアクションは、Amazon SQS アクションリスト全体のサブセットです。Amazon SQS ポリシーを記述して、*
「すべての アクションを許可」を意味するを指定した場合、ユーザーがこのサブセット内のすべてのアクション実行できることを意味します。
次の図は、これらのベーシックなAmazon SQS ポリシーのうち1つの概念を表しており、アクションのサブセットを取り上げています。ポリシーは 用でqueue_xyz
、 AWS アカウント 1 と AWS アカウント 2 に、指定されたキューで許可されたアクションのいずれかを使用するアクセス許可を付与します。
注記
ポリシーのリソースは として指定されます。ここで123456789012/queue_xyz
、 123456789012
はキューを所有するアカウントのアカウント AWS ID です。

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

異なるアカウントのユーザーにアクセス許可を付与する方法については、IAM ユーザーガイドの「チュートリアル: AWS アカウント間の IAM ロールを使用したアクセスの委任」を参照してください。
*
に含まれるアクションのサブセットが拡大されました。可能なアクションの一覧については、Amazon SQS (Amazon SQS)、 API のアクセス権限: アクションとリソースのリファレンスについてを参照してください。
Amazon リソースネーム (ARN)を使用してリソースを指定できます。これは、IAMポリシーでリソースを指定するためのスタンダードな方法です。Amazon SQSキューのARN形式については、「Amazon Simpleキューサービス リソースと操作」を参照してください。
例えば、前の図の Amazon SQS ポリシーによると、 AWS アカウント 1 または AWS アカウント 2 のセキュリティ認証情報を所有するすべてのユーザーが にアクセスできますqueue_xyz
。さらに、自身の AWS アカウント (ID 123456789012
)内のユーザー Bobおよび Susanもキューにアクセスできます。
IAMの導入前は、 Amazon SQSによりキューの作成者に、キューに対する完全なコントロールが付与されていました (そのキューで使用できるすべての Amazon SQ アクションへのアクセス)。これは、作成者が 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 (ユーザー、グループ、ロール)」とのIAM ポリシーの概要」を参照してください。
ポリシー要素の指定:アクション、効果、リソース、プリンシパル
Amazon Simple キューサービス リソースの種類ごとに、このサービスは、一連のアクションを定義します。これらの アクションを実行するためのアクセス権限を付与するために、Amazon SQSではポリシーに一連のアクションを定義できます。
注記
1つの アクションの実行で、複数のアクションのアクセス権限が必要になる場合があります。特定のアクションのアクセス権限を付与した場合は、アクションを許可または拒否するリソースを識別します。
最も基本的なポリシーの要素を次に示します。
-
リソース–ポリシーで Amazon リソースネーム (ARN)を使用して、ポリシーを適用するリソースを識別します。
-
アクション–アクションのキーワードを使用して、許可または拒否するリソースアクションを識別します。たとえば、
sqs:CreateQueue
権限は、Amazon Simple キューサービスCreateQueue
アクション の実行をユーザーに許可します。 -
効果–ユーザーが特定のアクションを要求する際の効果を指定します。許可または拒否のいずれかになります。リソースへのアクセスを明示的に許可していない場合、アクセスは暗黙的に拒否されます。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。
-
プリンシパル-アイデンティティベースのポリシー(IAMポリシー)で、ポリシーが添付されているユーザーが黙示的なプリンシパルとなります。リソースベースのポリシーでは、アクセス許可 (リソースベースのポリシーにのみ適用) を受け取りたいユーザー、アカウント、サービス、またはその他のエンティティを指定します。
Amazon SQS ポリシーの構文と記述の詳細については、IAM ユーザーガイドのAWS IAM ポリシーリファレンスを参照してください。
すべてのAmazon Simpleキューサービスアクションおよびそれに適用されるリソースを示す表については、「Amazon SQS (Amazon SQS)、 API のアクセス権限: アクションとリソースのリファレンスについて」を参照してください。