MemoryDB リソースに対する許可の管理の概要 - Amazon MemoryDB

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

MemoryDB リソースに対する許可の管理の概要

すべての AWS リソースは AWS アカウントによって所有され、リソースを作成またはアクセスするためのアクセス許可はアクセス許可ポリシーによって管理されます。アカウント管理者は、IAM アイデンティティ (つまり、ユーザー、グループ、ロール) に許可ポリシーをアタッチできます。さらに、MemoryDB はリソースへのアクセス許可ポリシーのアタッチもサポートしています。

注記

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

アクセス権限を付与するには、ユーザー、グループ、またはロールにアクセス許可を追加します。

MemoryDB のリソースとオペレーション

MemoryDB では、プライマリリソースはクラスター です。

これらのリソースには、以下に示すとおり、一意の Amazon リソースネーム (ARN) が関連付けられています。

注記

リソースレベルのアクセス許可を有効にするには、ARN 文字列のリソース名を小文字にする必要があります。

リソースタイプ ARN 形式

ユーザー

arn:aws:memorydb:us-east-1:123456789012:user/user1

アクセスコントロールリスト (ACL)

arn:aws:memorydb:us-east-1:123456789012:acl/myacl

クラスター

arn:aws:memorydb:us-east-1:123456789012:cluster/my-cluster

Snapshot

arn:aws:memorydb:us-east-1:123456789012:snapshot/my-snapshot

パラメータグループ

arn:aws:memorydb:us-east-1:123456789012:parametergroup/my-parameter-group

サブネットグループ

arn:aws:memorydb:us-east-1:123456789012:subnetgroup/my-subnet-group

MemoryDB では、MemoryDB リソースを操作する一連のオペレーションが用意されています。使用可能なオペレーションのリストについては、MemoryDB」を参照してください。 https://docs.aws.amazon.com/memorydb/latest/APIReference/API_Operations.html

リソース所有権について

リソース所有者は、リソースを作成した AWS アカウントです。つまり、リソース所有者は、リソースを作成するリクエストを認証するプリンシパルエンティティの AWS アカウントです。プリンシパルエンティティ はルートアカウント、IAM ユーザー、または IAM ロールです。次の例は、この仕組みを示しています。

  • AWS アカウントのルートアカウントの認証情報を使用してクラスターを作成するとします。この場合、 AWS アカウントはリソースの所有者です。MemoryDB では、リソースはクラスターです。

  • AWS アカウントに IAM ユーザーを作成し、そのユーザーにクラスターを作成するアクセス許可を付与するとします。この場合、ユーザーはクラスターを作成できます。ただし、ユーザーが属する AWS アカウントがクラスターリソースを所有します。

  • クラスターを作成するアクセス許可を持つ IAM ロールを AWS アカウントに作成するとします。この場合、ロールを引き受けることができるいずれのユーザーもクラスターを作成できます。ロールが属する AWS アカウントは、クラスターリソースを所有します。

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

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

注記

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

IAM アイデンティティにアタッチされているポリシーは、アイデンティティベースのポリシー (IAM ポリシー) と呼ばれます。リソースに添付されたポリシーは、リソースベースのポリシーと呼ばれます。

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

ポリシーを IAM アイデンティティにアタッチできます。例えば、次のオペレーションを実行できます。

  • アカウントのユーザーまたはグループにアクセス許可ポリシーをアタッチする – アカウント管理者は、特定のユーザーに関連付けられるアクセス許可ポリシーを使用して、アクセス許可を付与できます。この場合、アクセス許可は、そのユーザーがクラスター、パラメータグループ、セキュリティグループなどの MemoryDB リソースを作成するためのものです。

  • アクセス権限ポリシーをロールにアタッチする (クロスアカウントの許可を付与) - ID ベースのアクセス権限ポリシーを IAM ロールにアタッチして、クロスアカウントの権限を付与することができます。例えば、アカウント A の管理者は、次のように別の AWS アカウント (アカウント B など) または AWS サービスにクロスアカウントアクセス許可を付与するロールを作成できます。

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

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

    3. アカウント B の管理者は、アカウント B の任意のユーザーにロールを引き受けるアクセス許可を委任できます。これにより、アカウント B のユーザーはアカウント A のリソースを作成またはアクセスできます。場合によっては、ロールを引き受ける AWS サービスアクセス許可を付与できます。このアプローチをサポートするために、信頼ポリシーのプリンシパルを AWS のサービスのプリンシパルにすることもできます。

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

以下は、ユーザーが AWS アカウントに対して DescribeClustersアクションを実行できるようにするポリシーの例です。MemoryDB では、API アクションのリソース ARN を使用した特定のリソースの識別もサポートしています。(このアプローチは、リソースレベルのアクセス許可とも呼ばれます)。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "DescribeClusters", "Effect": "Allow", "Action": [ "memorydb:DescribeClusters"], "Resource": resource-arn } ] }

でアイデンティティベースのポリシーを使用する場合の詳細については、MemoryDB「MemoryDB でのアイデンティティベースのポリシー (IAM ポリシー) の使用」を参照してください。ユーザー、グループ、ロール、アクセス許可の詳細については、IAM ユーザーガイドの「アイデンティティ (ユーザー、グループ、ロール)」を参照してください。

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

MemoryDB リソースごとに (「」を参照MemoryDB のリソースとオペレーション)、サービスは一連の API オペレーションを定義します (「アクション」を参照)。こうした API オペレーションへの許可を付与するために、MemoryDB はポリシーに定義できる一連のアクションを定義します。例えば、MemoryDB クラスターリソースに対して、アクション CreateClusterDeleteClusterDescribeClusters を定義します。1 つの API オペレーションの実行で、複数のアクションのアクセス権限が必要になる場合があります。

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

  • リソース– ポリシーで Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。詳細については、「MemoryDB のリソースとオペレーション」を参照してください。

  • アクション – アクションキーワードを使用して、許可または拒否するリソース操作を特定します。例えば、指定された に応じてEffect、 アクセスmemorydb:CreateCluster許可は MemoryDB CreateClusterオペレーションを実行するアクセス許可をユーザーに許可または拒否します。

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

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

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

すべての MemoryDB API アクションを示す表については、「」を参照してくださいMemoryDB API の許可: アクション、リソース、条件リファレンス

ポリシーでの条件の指定

許可を付与するとき、IAM ポリシー言語を使用して、ポリシーが有効になる必要がある条件を指定できます。例えば、特定の日付の後にのみ適用されるポリシーが必要になる場合があります。ポリシー言語での条件の指定の詳細については、「IAM ユーザーガイド」の「条件」を参照してください。