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