使用 IAM 控制對 EBS 直接 APIs存取 - Amazon EBS

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

使用 IAM 控制對 EBS 直接 APIs存取

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

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

重要

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

下列政策允許在特定 AWS 區域中的所有快照上使用讀取 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 使用者指南中的變更使用者的許可

下列政策允許在特定 AWS 區域中的所有快照上使用寫入 EBS 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 使用者指南中的變更使用者的許可

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

注意

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

提示

若要遵循最低權限原則人,請勿允許 kms:CreateGrant 的完整存取。反之,使用 kms:GrantIsForAWSResource 條件索引鍵,僅允許使用者在 KMS 索引鍵上建立授予,前提是該授予是由 AWS 服務代使用者建立,如下列範例所示。

{ "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>", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ] }

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