Amazon Simple Queue Service で IAM を使用する方法
IAM を使用して Amazon SQS へのアクセスを管理する前に、Amazon SQS で利用できる IAM 機能について理解しておく必要があります。
| IAM の機能 | Amazon SQS サポート |
|---|---|
|
あり |
|
|
あり |
|
|
あり |
|
|
はい |
|
|
はい |
|
|
なし |
|
|
部分的 |
|
|
あり |
|
|
あり |
|
|
あり |
|
|
なし |
Amazon SQS およびその他の AWS のサービスがほとんどの IAM 機能と連携する方法の詳細については、「IAM ユーザーガイド」の「IAM と連携する AWS のサービス」を参照してください。
アクセスコントロール
アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするための許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。
Amazon S3、AWS WAF、および Amazon VPC は、ACL をサポートするサービスの例です。ACL の詳細については、「Amazon Simple Storage Service デベロッパーガイド」の「アクセスコントロールリスト (ACL) の概要」を参照してください。
注記
すべてのAWS アカウントはアカウント内でユーザーにアクセス権限を委任できることを理解することが重要です。クロスアカウントアクセスによって、追加のユーザーを管理しなくても、AWSリソースへのアクセスを共有することができます。クロスアカウントのアクセスの詳細については、IAM ユーザーガイドの「クロスアカウントアクセスの有効化」を参照してください。
Amazon SQS カスタムポリシー内のコンテンツ間のアクセス許可と条件キーの詳細については、「Amazon SQS カスタムポリシーの制限」を参照してください。
Amazon SQS のアイデンティティベースのポリシー
ID ベースのポリシーのサポート: あり
アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「IAM ユーザーガイド」の「カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する」を参照してください。
IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「IAM ユーザーガイド」の「IAM JSON ポリシーの要素のリファレンス」を参照してください。
Amazon SQS のアイデンティティベースのポリシー例
Amazon SQS のアイデンティティベースのポリシー例を確認するには、「ポリシーに関するベストプラクティス」を参照してください。
Amazon SQS 内のリソースベースのポリシー
リソースベースのポリシーのサポート: あり
リソースベースのポリシーは、リソースにアタッチする JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM ロールの信頼ポリシーや Amazon S3 バケットポリシーがあげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスを制御できます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、プリンシパルを指定する必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーションユーザー、または AWS のサービス を含めることができます。
クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、「IAM ユーザーガイド」の「IAM でのクロスアカウントリソースアクセス」を参照してください。
Amazon SQS のポリシーアクション
ポリシーアクションのサポート:あり
管理者は AWS JSON ポリシーを使用して、だれが何にアクセスできるかを指定できます。つまり、どのプリンシパルがどんなリソースにどんな条件でアクションを実行できるかということです。
JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。
Amazon SQS アクションの一覧については、「サービス認可リファレンス」の「Amazon Simple Queue Service で定義されるリソース」を参照してください。
Amazon SQS のポリシーアクションは、アクションの前に次のプレフィックスを使用します。
sqs
単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。
"Action": [ "sqs:action1", "sqs:action2" ]
Amazon SQS のアイデンティティベースのポリシー例を確認するには、「ポリシーに関するベストプラクティス」を参照してください。
Amazon SQS のポリシーリソース
ポリシーリソースのサポート: あり
管理者は AWS JSON ポリシーを使用して、だれが何にアクセスできるかを指定できます。つまり、どのプリンシパルがどんなリソースにどんな条件でアクションを実行できるかということです。
Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。
"Resource": "*"
Amazon SQS のリソースタイプとその ARN の一覧については、「サービス認可リファレンス」の「Amazon Simple Queue Service で定義されるアクション」を参照してください。どのアクションで各リソースの ARN を指定できるかについては、「Amazon Simple Queue Service で定義されるリソース」を参照してください。
Amazon SQS のアイデンティティベースのポリシー例を確認するには、「ポリシーに関するベストプラクティス」を参照してください。
Amazon SQS のポリシー条件キー
サービス固有のポリシー条件キーのサポート: あり
管理者は AWS JSON ポリシーを使用して、だれが何にアクセスできるかを指定できます。つまり、どのプリンシパルがどんなリソースにどんな条件でアクションを実行できるかということです。
Condition 要素は、定義された基準に基づいてステートメントが実行されるタイミングを指定します。イコールや未満などの 条件演算子 を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、IAM ユーザーガイドのAWS グローバル条件コンテキストキーを参照してください。
Amazon SQS の条件キーの一覧については、「サービス認可リファレンス」の「Amazon Simple Queue Service の条件キー」を参照してください。条件キーを使用できるアクションとリソースについては、「Amazon Simple Queue Service で定義されるリソース」を参照してください。
Amazon SQS のアイデンティティベースのポリシー例を確認するには、「ポリシーに関するベストプラクティス」を参照してください。
Amazon SQS での ACL
ACL のサポート: なし
アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするための許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。
Amazon SQS での ABAC
ABAC (ポリシー内のタグ) のサポート: 一部
属性ベースのアクセス制御 (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグを付けることで、プリンシパルのタグがリソースタグと一致するときに操作を許可する ABAC ポリシーを設計できます。
タグに基づいてアクセスを管理するには、aws:ResourceTag/、key-nameaws:RequestTag/、または key-nameaws:TagKeys の条件キーを使用して、ポリシーの 条件要素でタグ情報を提供します。
サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値はありです。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「部分的」になります。
ABAC の詳細については、「IAM ユーザーガイド」の「ABAC 認可でアクセス許可を定義する」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「IAM ユーザーガイド」の「属性ベースのアクセスコントロール (ABAC) を使用する」を参照してください。
Amazon SQS での一時的な認証情報の使用
一時的な認証情報のサポート: あり
一時的な認証情報は、AWS リソースへの短期的なアクセスを提供し、フェデレーションまたはスイッチロールの使用時に自動的に作成されます。AWS では、長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成することをお勧めします。詳細については、「IAM ユーザーガイド」の「IAM の一時的な認証情報」および「IAM と連携する AWS のサービス」を参照してください。
Amazon SQS の転送アクセスセッション
転送アクセスセッション (FAS) のサポート: あり
転送アクセスセッション (FAS) は、AWS のサービスを呼び出すプリンシパルの権限を、AWS のサービスのリクエストと合わせて使用し、ダウンストリームのサービスに対してリクエストを行います。FAS リクエストを行う際のポリシーの詳細については、「転送アクセスセッション」を参照してください。
Amazon SQS のサービスロール
サービスロールのサポート: あり
サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける IAM ロールです。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、「IAM ユーザーガイド」の「AWS のサービス に許可を委任するロールを作成する」を参照してください。
警告
サービスロールの許可を変更すると、Amazon SQS の機能が破損する可能性があります。Amazon SQS が指示するときにのみ、サービスロールを編集してください。
Amazon SQS のサービスリンクロール
サービスにリンクされたロールのサポート: なし
サービスにリンクされたロールは、AWS のサービスにリンクされているサービスロールの一種です。サービスがロールを引き受け、ユーザーに代わってアクションを実行できるようになります。サービスにリンクされたロールは、AWS アカウント に表示され、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。
サービスにリンクされたロールの作成または管理の詳細については、「IAM と提携する AWS のサービス」を参照してください。表の「サービスリンクロール」列に Yes と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[はい] リンクを選択します。