

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

# MemoryDB リソースに対する許可の管理の概要
<a name="iam.overview"></a>

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

**注記**  
*アカウント管理者* (または管理者ユーザー) は、管理者権限を持つユーザーです。詳細については、「*IAM ユーザーガイド*」の「[IAM のベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。

アクセスを提供するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
+ 以下のユーザーとグループ AWS IAM アイデンティティセンター:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) を参照してください。
  + (お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。*IAM ユーザーガイド* の [ユーザー (コンソール) へのアクセス許可の追加](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) の指示に従います。

**Topics**
+ [MemoryDB リソースおよびオペレーション](#iam.overview.resourcesandoperations)
+ [リソース所有権についての理解](#access-control-resource-ownership)
+ [リソースへのアクセスの管理](#iam.overview.managingaccess)
+ [MemoryDB でのアイデンティティベースのポリシー (IAM ポリシー) の使用](iam.identitybasedpolicies.md)
+ [リソースレベルのアクセス許可](iam.resourcelevelpermissions.md)
+ [MemoryDB 用のサービスリンクロール](using-service-linked-roles.md)
+ [AWS MemoryDB の マネージドポリシー](security-iam-awsmanpol.md)
+ [MemoryDB API の許可: アクション、リソース、条件リファレンス](iam.APIReference.md)

## MemoryDB リソースおよびオペレーション
<a name="iam.overview.resourcesandoperations"></a>

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)」を参照してください。

## リソース所有権についての理解
<a name="access-control-resource-ownership"></a>

*リソース所有者*は、リソースを作成した AWS アカウントです。つまり、リソース所有者は、リソースを作成するリクエストを認証するプリンシパルエンティティの AWS アカウントです。*プリンシパルエンティティ* はルートアカウント、IAM ユーザー、または IAM ロールです。次の例は、この仕組みを示しています。
+  AWS アカウントのルートアカウントの認証情報を使用してクラスターを作成するとします。この場合、 AWS アカウントはリソースの所有者です。MemoryDB では、リソースはクラスターです。
+  AWS アカウントに IAM ユーザーを作成し、そのユーザーにクラスターを作成するアクセス許可を付与するとします。この場合、ユーザーはクラスターを作成できます。ただし、ユーザーが属する AWS アカウントはクラスターリソースを所有します。
+ クラスターを作成するアクセス許可を持つ IAM ロールを AWS アカウントに作成するとします。この場合、ロールを引き受けることができるいずれのユーザーもクラスターを作成できます。ロールが属する AWS アカウントは、クラスターリソースを所有します。

## リソースへのアクセスの管理
<a name="iam.overview.managingaccess"></a>

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

**注記**  
このセクションでは、MemoryDB のコンテキストでの IAM の使用について説明します。ここでは、IAM サービスに関する詳細情報を提供しません。完全な IAM ドキュメンテーションについては、「*IAM ユーザーガイド*」の「[IAM とは](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)」を参照してください。IAM ポリシー構文の詳細と説明については、*IAM ユーザーガイド*の [AWS IAM ポリシーの参照](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)を参照してください。

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

**Topics**
+ [アイデンティティベースのポリシー (IAM ポリシー）](#iam.overview.managingaccess.identitybasedpolicies)
+ [ポリシー要素の指定: アクション、効果、リソース、プリンシパル](#iam.overview.policyelements)
+ [ポリシーでの条件の指定](#iam.specifyconditions)

### アイデンティティベースのポリシー (IAM ポリシー）
<a name="iam.overview.managingaccess.identitybasedpolicies"></a>

ポリシーを IAM アイデンティティにアタッチできます。例えば、次のオペレーションを実行できます。
+ **アカウントのユーザーまたはグループにアクセス許可ポリシーをアタッチする** – アカウント管理者は、特定のユーザーに関連付けられるアクセス許可ポリシーを使用して、アクセス許可を付与できます。この場合、アクセス許可は、そのユーザーがクラスター、パラメータグループ、セキュリティグループなどの MemoryDB リソースを作成するためのものです。
+ **アクセス権限ポリシーをロールにアタッチする (クロスアカウントの許可を付与)** - ID ベースのアクセス権限ポリシーを IAM ロールにアタッチして、クロスアカウントの権限を付与することができます。たとえば、アカウント A の管理者は、次のように別の AWS アカウント (アカウント B など) または AWS サービスにクロスアカウントアクセス許可を付与するロールを作成できます。

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

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

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

  IAM を使用した許可の委任の詳細については、「IAM ユーザーガイド」の「[アクセス管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)」を参照してください。

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

でアイデンティティベースのポリシーを使用する場合の詳細については、MemoryDB「[MemoryDB でのアイデンティティベースのポリシー (IAM ポリシー) の使用](iam.identitybasedpolicies.md)」を参照してください。ユーザー、グループ、ロール、アクセス許可の詳細については、*IAM ユーザーガイド*の「[アイデンティティ (ユーザー、グループ、ロール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)」を参照してください。

### ポリシー要素の指定: アクション、効果、リソース、プリンシパル
<a name="iam.overview.policyelements"></a>

サービスは、MemoryDB リソースごとに ([MemoryDB リソースおよびオペレーション](#iam.overview.resourcesandoperations)を参照)、一連の API オペレーションを定義します ([アクション](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_Operations.html)を参照)。こうした API オペレーションへの許可を付与するために、MemoryDB はポリシーに定義できる一連のアクションを定義します。例えば、MemoryDB クラスターリソースに対して、アクション `CreateCluster`、`DeleteCluster`、`DescribeClusters` を定義します。1 つの API オペレーションの実行で、複数のアクションのアクセス権限が必要になる場合があります。

最も基本的なポリシーの要素を次に示します。
+ **リソース**– ポリシーで Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。詳細については、「[MemoryDB リソースおよびオペレーション](#iam.overview.resourcesandoperations)」を参照してください。
+ **アクション** – アクションキーワードを使用して、許可または拒否するリソース操作を特定します。例えば、指定した `Effect` に応じて、`memorydb:CreateCluster` アクセス権限では、MemoryDB `CreateCluster` オペレーションの実行をユーザーに許可または拒否します。
+ **効果** – ユーザーが特定のアクションを要求する際の効果を指定します。許可または拒否のいずれかになります。リソースへのアクセスを明示的に付与 (許可) していない場合、アクセスは暗黙的に拒否されます。リソースへのアクセスを明示的に拒否することもできます。例えば、別のポリシーでリソースへのアクセスが許可されているユーザーに対して、そのリソースへのアクセスを禁止できます。
+ **プリンシパル** - ID ベースのポリシー (IAM ポリシー) で、ポリシーがアタッチされているユーザーが黙示的なプリンシパルとなります。リソースベースのポリシーでは、アクセス許可 (リソースベースのポリシーにのみ適用) を受け取りたいユーザー、アカウント、サービス、またはその他のエンティティを指定します。

IAM ポリシー構文の詳細と説明については、*IAM ユーザーガイド*の「[AWS IAM ポリシーリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)」を参照してください。

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

### ポリシーでの条件の指定
<a name="iam.specifyconditions"></a>

許可を付与するとき、IAM ポリシー言語を使用して、ポリシーが有効になる必要がある条件を指定できます。例えば、特定の日付の後にのみ適用されるポリシーが必要になる場合があります。ポリシー言語での条件の指定の詳細については、「*IAM ユーザーガイド*」の「[条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition)」を参照してください。

