針對 Amazon 使用身分型政策 (IAM 政策) ElastiCache - Amazon ElastiCache

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

針對 Amazon 使用身分型政策 (IAM 政策) ElastiCache

本主題提供身分型政策的範例,其中帳戶管理員可以將許可政策連接至身分 IAM (即使用者、群組和角色)。

重要

建議您先閱讀說明基本概念的主題,以及管理 Amazon ElastiCache 資源存取的選項。如需詳細資訊,請參閱管理 ElastiCache 資源的存取許可概觀

本主題中的各節涵蓋下列內容:

以下顯示使用 Redis 時許可政策的範例OSS。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowClusterPermissions", "Effect": "Allow", "Action": [ "elasticache:CreateServerlessCache", "elasticache:CreateCacheCluster", "elasticache:DescribeServerlessCaches", "elasticache:DescribeReplicationGroups", "elasticache:DescribeCacheClusters", "elasticache:ModifyServerlessCache", "elasticache:ModifyReplicationGroup", "elasticache:ModifyCacheCluster" ], "Resource": "*" }, { "Sid": "AllowUserToPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster" } ] }

以下顯示使用 Memcached 時許可政策的範例。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowClusterPermissions", "Effect": "Allow", "Action": [ "elasticache:CreateServerlessCache", "elasticache:CreateCacheCluster", "elasticache:DescribeServerlessCaches", "elasticache:DescribeCacheClusters", "elasticache:ModifyServerlessCache", "elasticache:ModifyCacheCluster" ], "Resource": "*" }, { "Sid": "AllowUserToPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster" } ] }

此政策具有兩個陳述式:

  • 第一個陳述式會授予 Amazon ElastiCache 動作 (elasticache:Create*elasticache:Describe*elasticache:Modify*) 的許可

  • 第二個陳述式會針對Resource值結尾所指定的IAM角色名稱授予IAM動作 (iam:PassRole) 的許可。

此政策不指定 Principal 元素,因為您不會在以身分為基礎的政策中,指定取得許可的主體。當您將政策連接至使用者時,這名使用者即為隱含主體。當您將許可政策連接至IAM角色時,角色的信任政策中識別的主體會取得許可。

如需顯示所有 Amazon ElastiCache API 動作及其適用的資源的資料表,請參閱 ElastiCache API 許可:動作、資源和條件參考

客戶受管政策範例

如果您未使用預設政策並選擇使用自訂受管政策,請確保下列兩件事的其中一項。您應具有呼叫 iam:createServiceLinkedRole 的許可 (如需詳細資訊,請參閱範例 4:允許使用者呼叫 IAM CreateServiceLinkedRole API)。或者,您應該已建立 ElastiCache 服務連結角色。

當 與使用 Amazon ElastiCache 主控台所需的最低許可結合時,本節中的範例政策會授予其他許可。這些範例也與 AWS SDKs和 相關 AWS CLI。

如需設定IAM使用者和群組的指示,請參閱 IAM 使用者指南 中的建立您的第一個IAM使用者和管理員群組

重要

在生產中使用IAM政策之前,請務必徹底測試政策。當您使用 ElastiCache 主控台時,某些看似簡單的 ElastiCache 動作可能需要其他動作來支援這些動作。例如, 會elasticache:CreateCacheCluster授予建立 ElastiCache 快取叢集的許可。不過,為了執行此操作, ElastiCache 主控台會使用許多 DescribeList動作來填入主控台清單。

範例 1:允許使用者對 ElastiCache 資源的唯讀存取

下列政策會授予許可 ElastiCache 動作,允許使用者列出資源。您通常會將此類型的許可政策連接到管理員群組。

{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECReadOnly", "Effect":"Allow", "Action": [ "elasticache:Describe*", "elasticache:List*"], "Resource":"*" } ] }

範例 2:允許使用者執行常見的 ElastiCache 系統管理員任務

常見的系統管理員任務包括修改資源。系統管理員也可能想要取得事件的相關資訊 ElastiCache 。下列政策會授予使用者許可,以針對這些常見的系統管理員任務執行 ElastiCache 動作。您通常會將此類型的許可政策連接到系統管理員群組。

{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowMutations", "Effect":"Allow", "Action":[ "elasticache:Modify*", "elasticache:Describe*", "elasticache:ResetCacheParameterGroup" ], "Resource":"*" } ] }

範例 3:允許使用者存取所有 ElastiCache API動作

下列政策允許使用者存取所有 ElastiCache 動作。建議您只將此類型的許可政策授予管理員使用者。

{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowAll", "Effect":"Allow", "Action":[ "elasticache:*" ], "Resource":"*" } ] }

範例 4:允許使用者呼叫 IAM CreateServiceLinkedRole API

下列政策可讓使用者呼叫 IAM CreateServiceLinkedRole API。建議您將此類型的許可政策授予叫用突變 ElastiCache 操作的使用者。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"CreateSLRAllows", "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:AWS ServiceName":"elasticache.amazonaws.com" } } } ] }

範例 5:允許使用者使用IAM身分驗證連線到無伺服器快取

下列政策允許任何使用者使用 2023-04-01 和 2023-06-30 之間的IAM身分驗證連線到任何無伺服器快取。

{ "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : ["elasticache:Connect"], "Resource" : [ "arn:aws:elasticache:us-east-1:123456789012:serverlesscache:*" ], "Condition": { "DateGreaterThan": {"aws:CurrentTime": "2023-04-01T00:00:00Z"}, "DateLessThan": {"aws:CurrentTime": "2023-06-30T23:59:59Z"} } }, { "Effect" : "Allow", "Action" : ["elasticache:Connect"], "Resource" : [ "arn:aws:elasticache:us-east-1:123456789012:user:*" ] } ] }