

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 管理 MemoryDB 資源存取許可的概觀
<a name="iam.overview"></a>

每個 AWS 資源都由 AWS 帳戶擁有，而建立或存取資源的許可是由許可政策管理。帳戶管理員可以將許可政策連接到 IAM 身分 (即使用者、群組和角色)。此外，MemoryDB 也支援將許可政策連接至 資源。

**注意**  
*帳戶管理員* (或管理員使用者) 是具有管理員權限的使用者。如需詳細資訊，請參《[IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)》中的 *IAM 最佳實務*。

若要提供存取權，請新增權限至您的使用者、群組或角色：
+ 中的使用者和群組 AWS IAM Identity Center：

  建立權限合集。請按照《*AWS IAM Identity Center 使用者指南*》中的[建立權限合集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)說明進行操作。
+ 透過身分提供者在 IAM 中管理的使用者：

  建立聯合身分的角色。遵循《*IAM 使用者指南*》的[為第三方身分提供者 (聯合) 建立角色](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 字串上的資源名稱應為小寫。


****  

| Resource Type (資源類型) | 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 | 
| 快照  | 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 的帳戶擁有叢集資源。
+ 假設您在 AWS 帳戶中建立具有建立叢集許可的 IAM 角色。在這種情況下，任何可以擔任該角色的人都可以建立叢集。該角色所屬 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 資源的許可，例如叢集、參數群組或安全群組。
+ **將許可政策連接至角色 (授予跨帳戶許可)**：您可以將身分識別型許可政策連接至 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 動作的資源 ARNs來識別特定資源。(此方法也稱為資源層級許可)。

如需搭配 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`。執行一項 API 操作可能需要多個動作的許可。

以下是最基本的政策元素：
+ **資源** – 在政策中，您可以使用 Amazon Resource Name (ARN) 來識別要套用政策的資源。如需詳細資訊，請參閱[MemoryDB 資源和操作](#iam.overview.resourcesandoperations)。
+ **動作**：使用動作關鍵字識別您要允許或拒絕的資源操作。例如，根據指定的 `Effect`， `memorydb:CreateCluster`許可允許或拒絕使用者執行 MemoryDB `CreateCluster`操作的許可。
+ **效果** - 您可以指定使用者要求特定動作時會有什麼效果；可為允許或拒絕。如果您未明確授予存取 (允許) 資源，則隱含地拒絕存取。您也可以明確拒絕存取資源。例如，您可以這樣做以確保使用者無法存取資源，即使不同的政策授與存取。
+ **主體**：在以身分為基礎的政策 (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)。

