EBS 直接 API 的 IAM 許可 - Amazon Elastic Compute Cloud

EBS 直接 API 的 IAM 許可

AWS Identity and Access Management (IAM) 使用者必須具有下列政策才能使用 EBS 直接 API。如需詳細資訊,請參閱變更 IAM 使用者的許可

如需用於 IAM 許可政策的 EBS 直接 API 資源、動作和條件索引鍵詳細資訊,請參閱《服務授權參考》中的 Amazon Elastic Block Store 的動作、資源與條件索引鍵

重要

將下列原則指派給 IAM 使用者時,請務必小心。指派這些政策時,您可能將存取權授與在透過 Amazon EC2 API 存取相同資源遭到拒絕的使用者,例如 CopySnapshot 或 CreateVolume 動作。

下列政策允許在特定 區域中的所有快照上使用 readAWS EBS 直接 APIs。在原則中,取代 <Region> 為快照的區域。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:ListSnapshotBlocks", "ebs:ListChangedBlocks", "ebs:GetSnapshotBlock" ], "Resource": "arn:aws:ec2:<Region>::snapshot/*" } ] }

下列政策允許在具有特定金鑰值標籤的快照上使用 read EBS 直接 API。在政策中,以標籤的索引鍵值取代 <Key>,並以標籤的數值取代 <Value>

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:ListSnapshotBlocks", "ebs:ListChangedBlocks", "ebs:GetSnapshotBlock" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/<Key>": "<Value>" } } } ] }

下列政策允許所有 read EBS 直接 API 只能在特定時間範圍內用於帳戶中的所有快照。此政策會根據 aws:CurrentTime 全域條件金鑰授權使用 EBS 直接 API。在政策中,請務必將顯示的日期和時間範圍取代為政策的日期和時間範圍。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:ListSnapshotBlocks", "ebs:ListChangedBlocks", "ebs:GetSnapshotBlock" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "DateGreaterThan": { "aws:CurrentTime": "2018-05-29T00:00:00Z" }, "DateLessThan": { "aws:CurrentTime": "2020-05-29T23:59:59Z" } } } ] }

如需詳細資訊,請參閱IAM 使用者指南中的變更 IAM 使用者的許可

下列政策允許在特定 區域中的所有快照上使用 writeAWS EBS Direct APIs。在原則中,取代 <Region> 為快照的區域。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:StartSnapshot", "ebs:PutSnapshotBlock", "ebs:CompleteSnapshot" ], "Resource": "arn:aws:ec2:<Region>::snapshot/*" } ] }

下列政策允許在具有特定金鑰值標籤的快照上使用 write EBS 直接 API。在政策中,以標籤的索引鍵值取代 <Key>,並以標籤的數值取代 <Value>

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:StartSnapshot", "ebs:PutSnapshotBlock", "ebs:CompleteSnapshot" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/<Key>": "<Value>" } } } ] }

下列政策允許使用所有的 EBS 直接 API。它也允許只有在指定父系快照 ID 時才可執行 StartSnapshot 動作。因此,此政策會封鎖啟動新快照而不使用父系快照的能力。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ebs:*", "Resource": "*", "Condition": { "StringEquals": { "ebs:ParentSnapshot": "arn:aws:ec2:*::snapshot/*" } } } ] }

下列政策允許使用所有的 EBS 直接 API。它也允許僅為新的快照建立 user 標籤金鑰。此政策也可確保使用者擁有建立標籤的存取權。StartSnapshot 動作是唯一可以指定標籤的動作。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ebs:*", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": "user" } } }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*" } ] }

下列政策允許所有 write EBS 直接 API 僅在特定時間範圍內用於帳戶中的所有快照。此政策會根據 aws:CurrentTime 全域條件金鑰授權使用 EBS 直接 API。在政策中,請務必將顯示的日期和時間範圍取代為政策的日期和時間範圍。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:StartSnapshot", "ebs:PutSnapshotBlock", "ebs:CompleteSnapshot" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "DateGreaterThan": { "aws:CurrentTime": "2018-05-29T00:00:00Z" }, "DateLessThan": { "aws:CurrentTime": "2020-05-29T23:59:59Z" } } } ] }

如需詳細資訊,請參閱IAM 使用者指南中的變更 IAM 使用者的許可

下列政策授與許可權,以使用特定 KMS 金鑰 來解密加密快照。其還授與使用 EBS 加密的預設 KMS 金鑰加密新快照的許可。於該政策中,將 <Region> 取代為 KMS 金鑰的區域、<AccountId> 取代為 KMS 金鑰 的 AWS 帳戶 ID,以及 <KeyId> 取代 KMS 金鑰 ID。

注意

依預設,帳戶中的所有主體都可以存取預設的 AWS 受管金鑰以進行 Amazon EBS 加密,並可將其用於 EBS 加密和解密作業。若您使用客戶受管金鑰,則必須為客戶受管金鑰建立新金鑰政策或修改現有金鑰政策,以授予主體對客戶受管金鑰的存取權限。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的在 AWS KMS 中使用金鑰政策

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncrypt*", "kms:CreateGrant", "ec2:CreateTags", "kms:DescribeKey" ], "Resource": "arn:aws:kms:<Region>:<AccountId>:key/<KeyId>" } ] }

如需詳細資訊,請參閱IAM 使用者指南中的變更 IAM 使用者的許可