

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 管理 ElastiCache 资源访问权限概述
<a name="IAM.Overview"></a>

每个AWS资源都归一个AWS账户所有，创建或访问资源的权限受权限策略的约束。账户管理员可以向 IAM 身份（即：用户、组和角色）附加权限策略。此外，Amazon ElastiCache 还支持为资源附加权限策略。

**注意**  
*账户管理员*（或管理员用户）是具有管理员权限的用户。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM 最佳实操](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

要提供访问权限，请为您的用户、组或角色添加权限：
+ 中的用户和群组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**
+ [Amazon ElastiCache 资源和运营](#IAM.Overview.ResourcesAndOperations)
+ [了解资源所有权](#access-control-resource-ownership)
+ [管理对 资源的访问](#IAM.Overview.ManagingAccess)
+ [AWS Amazon 的托管政策 ElastiCache](IAM.IdentityBasedPolicies.PredefinedPolicies.md)
+ [使用适用于亚马逊的基于身份的政策（IAM 策略） ElastiCache](IAM.IdentityBasedPolicies.md)
+ [资源级权限](IAM.ResourceLevelPermissions.md)
+ [使用条件键](IAM.ConditionKeys.md)
+ [将服务相关角色用于 Amazon ElastiCache](using-service-linked-roles.md)
+ [ElastiCache API 权限：操作、资源和条件参考](IAM.APIReference.md)

## Amazon ElastiCache 资源和运营
<a name="IAM.Overview.ResourcesAndOperations"></a>

要查看 ElastiCache 资源类型及其列表 ARNs，请参阅《*服务授权参考*》 ElastiCache中的 [Amazon 定义的资源](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-resources-for-iam-policies)。要了解您可以使用哪些操作来指定每种资源的 ARN，请参阅 [Amazon 定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-actions-as-permissions)。 ElastiCache

## 了解资源所有权
<a name="access-control-resource-ownership"></a>

*资源所有者*是创建资源的AWS账户。也就是说，资源所有者是对创建资源的请求进行身份验证的委托人实体的AWS账户。*委托人实体*可以是根账户、IAM 用户或 IAM 角色。以下示例说明了它的工作原理：
+ 假设您使用账户的根账户凭证创建缓存集群。AWS在这种情况下，您的AWS账户就是资源的所有者。在中 ElastiCache，资源是群集。
+ 假设您在AWS账户中创建了一个 IAM 用户，并向该用户授予创建集群的权限。在这种情况下，用户可以创建集群。但是，该用户所属的您的AWS账户拥有群集资源。
+ 假设您在AWS账户中创建了一个拥有创建集群权限的 IAM 角色。在这种情况下，任何可以代入该角色的人都可以创建集群。该角色所属的您的AWS账户拥有缓存群集资源。

## 管理对 资源的访问
<a name="IAM.Overview.ManagingAccess"></a>

*权限策略*规定谁可以访问哪些内容。下一节介绍创建权限策略时的可用选项。

**注意**  
本节讨论在 Amazon 环境中使用 IAM ElastiCache。这里不提供有关 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.Overview.Conditions)

### 基于身份的策略（IAM 策略）
<a name="IAM.Overview.ManagingAccess.IdentityBasedPolicies"></a>

您可以向 IAM 身份附加策略。例如，您可以执行以下操作：
+ **向您账户中的用户或组附加权限策略** – 账户管理员可以使用与特定用户关联的权限策略来授予权限。在这种情况下，该用户拥有创建 ElastiCache 资源（例如群集、参数组或安全组）的权限。
+ **向角色附加权限策略（授予跨账户权限）** – 您可以向 IAM 角色附加基于身份的权限策略，以授予跨账户的权限。例如，账户 A 中的管理员可以创建一个角色来向另一个AWS账户（例如账户 B）或AWS服务授予跨账户权限，如下所示：

  1. 账户 A 管理员可以创建一个 IAM 角色，然后向该角色附加授予其访问账户 A 中资源的权限策略。

  1. 账户 A 管理员可以把信任策略附加至用来标识账户 B 的角色，账户 B 由此可以作为主体代入该角色。

  1. 然后，账户 B 管理员可以将代入该角色的权限委托给账户 B 中的任何用户。这样，账户 B 中的用户就可以创建或访问账户 A 中的资源。在某些情况下，您可能需要向AWS服务授予代入该角色的权限。为支持此方法，信任策略中的委托人也可以是AWS服务委托人。

  有关使用 IAM 委托权限的更多信息，请参阅《IAM 用户指南》**中的[访问权限管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)。

以下是允许用户对您的AWS账户执行`DescribeCacheClusters`操作的策略示例。 ElastiCache 还支持使用 API 操作的资源 ARNs 来识别特定资源。（此方法也称为资源级权限。） 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DescribeCacheClusters",
            "Effect": "Allow",
            "Action": [
                "elasticache:DescribeCacheClusters"
            ],
            "Resource": "arn:aws:iam::*:role/*"
        }
    ]
}
```

------

有关将基于身份的策略与配合使用的更多信息 ElastiCache，请参阅。[使用适用于亚马逊的基于身份的政策（IAM 策略） ElastiCache](IAM.IdentityBasedPolicies.md)有关用户、组、角色和权限的更多信息，请参阅 *IAM 用户指南*中的[身份（用户、组和角色）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)。

### 指定策略元素：操作、效果、资源和主体
<a name="IAM.Overview.PolicyElements"></a>

对于每个 Amazon ElastiCache 资源（参见[Amazon ElastiCache 资源和运营](#IAM.Overview.ResourcesAndOperations)），该服务都定义了一组 API 操作（参见[操作](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_Operations.html)）。要授予这些 API 操作的权限，请 ElastiCache 定义一组可在策略中指定的操作。例如，对于 ElastiCache群集资源，定义了以下操作：`CreateCacheCluster``DeleteCacheCluster`、和`DescribeCacheCluster`。执行一个 API 操作可能需要多个操作的权限。

以下是最基本的策略元素：
+ **资源**：在策略中，您可以使用 Amazon Resource Name（ARN）标识策略应用到的资源。有关更多信息，请参阅 [Amazon ElastiCache 资源和运营](#IAM.Overview.ResourcesAndOperations)。
+ **操作** – 您可以使用操作关键字标识要允许或拒绝的资源操作。例如，根据指定的权限`Effect`，该`elasticache:CreateCacheCluster`权限允许或拒绝用户执行 Amazon ElastiCache `CreateCacheCluster` 操作的权限。
+ **效果**：您可以指定当用户请求特定操作（可以是允许或拒绝）时的效果。如果没有显式授予（允许）对资源的访问权限，则隐式拒绝访问。您也可显式拒绝对资源的访问。例如，您可以执行此操作，以确保用户无法访问资源，即使有其他策略授予了访问权限也是如此。
+ **主体** – 在基于身份的策略（IAM 策略）中，附加了策略的用户是隐式主体。对于基于资源的策略，您可以指定要接收权限的用户、账户、服务或其他实体（仅适用于基于资源的策略）。

有关 IAM 策略语法和描述的更多信息，请参阅《IAM 用户指南》**中的 [AWS IAM 策略参考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)。

有关显示所有 Amazon ElastiCache API 操作的表格，请参阅[ElastiCache API 权限：操作、资源和条件参考](IAM.APIReference.md)。

### 在策略中指定条件
<a name="IAM.Overview.Conditions"></a>

当您授予权限时，可使用 IAM 策略语言来指定规定策略何时生效的条件。例如，您可能希望策略仅在特定日期后应用。有关使用策略语言指定条件的更多信息，请参阅《IAM 用户指南》**中的[条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition)。

要表示条件，您可以使用预定义的条件键。要使用 ElastiCache特定条件键，请参阅[使用条件键](IAM.ConditionKeys.md)。您可以根据需要使用AWS范围内的条件键。有关AWS范围密钥的完整列表，请参阅 *IAM 用户指南*中的[条件可用密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys)。

