本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 DynamoDB 中的資源型政策封鎖公有存取
封鎖公開存取 (BPA) 是一項功能,可識別和防止連接資源型政策,以在您的 Amazon Web Services (AWS)
BPA 使用自動推理
重要
BPA 透過直接連接至 DynamoDB 資源的資源型政策,例如資料表、索引和串流,防止公開存取被授予,有助於保護您的資源。除了使用 之外BPA,請仔細檢查下列政策,以確認其未授予公有存取權:
-
連接至相關聯 AWS 主體的身分型政策 (例如IAM角色)
-
連接至相關 AWS 資源的資源型政策 (例如 AWS Key Management Service (KMS) 金鑰)
您必須確保主體不包含*
項目,或其中一個指定的條件金鑰限制主體對資源的存取。如果以資源為基礎的政策授予對 資料表、索引或串流的公開存取權 AWS 帳戶,則 DynamoDB 會阻止您建立或修改政策,直到政策中的規格已修正並視為非公開。
您可以在Principal
區塊內指定一或多個主體,以將政策設為非公有。下列資源型政策範例透過指定兩個主體來封鎖公有存取。
{ "Effect": "Allow", "Principal": { "AWS": [ "
123456789012
", "111122223333
" ] }, "Action": "dynamodb:*", "Resource": "*" }
透過指定特定條件金鑰來限制存取的政策也不會被視為公開。除了評估資源型政策中指定的主體之外,下列受信任條件金鑰也用於完成非公開存取的資源型政策評估:
-
aws:PrincipalAccount
-
aws:PrincipalArn
-
aws:PrincipalOrgID
-
aws:PrincipalOrgPaths
-
aws:SourceAccount
-
aws:SourceArn
-
aws:SourceVpc
-
aws:SourceVpce
-
aws:UserId
-
aws:PrincipalServiceName
-
aws:PrincipalServiceNamesList
-
aws:PrincipalIsAWSService
-
aws:Ec2InstanceSourceVpc
-
aws:SourceOrgID
-
aws:SourceOrgPaths
此外,如果資源型政策是非公開的,Amazon Resource Name (ARN) 和字串索引鍵的值不得包含萬用字元或變數。如果您的資源型政策使用 aws:PrincipalIsAWSService
金鑰,您必須確定已將金鑰值設定為 true。
下列政策限制對John
指定帳戶中使用者的存取。該條件會使 Principal
受限,且不被視為公開。
{ "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "dynamodb:*", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalArn": "arn:aws:iam::123456789012:user/John" } } }
下列sourceVPC
使用 StringEquals
運算子的非公有資源型政策限制範例。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "Condition": { "StringEquals": { "aws:SourceVpc": [ "vpc-91237329" ] } } } ] }