本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理 neptune.read() 的許可
必要的 IAM 政策
若要執行使用 的 openCypher 查詢neptune.read(),您必須具有適當的許可才能存取 Neptune 資料庫中的資料。唯讀查詢需要 ReadDataViaQuery動作。修改資料WriteDataViaQuery需要插入或刪除DeleteDataViaQuery的查詢。以下範例會授予指定叢集上所有三個動作。
此外,您需要許可才能存取包含資料檔案的 S3 儲存貯體。NeptuneS3Access 政策陳述式會授予必要的 S3 許可:
-
s3:ListBucket:驗證儲存貯體存在並列出內容時需要。 -
s3:GetObject:需要存取指定的物件,才能讀取其內容以整合到 openCypher 查詢。
如果您的 S3 儲存貯體搭配 伺服器端加密使用 AWS KMS,您還必須授予 KMS 許可。NeptuneS3KMSAccess 政策陳述式允許 Neptune 在存取加密的 S3 物件時解密資料並產生資料金鑰。條件會將 KMS 操作限制為來自您區域中 S3 和 RDS 服務的請求。
-
kms:Decrypt:執行加密物件的解密時需要,以便 Neptune 可以讀取其資料。 -
kms:GenerateDataKey:S3 API 也需要用來擷取要讀取的物件。
{ "Sid": "NeptuneQueryAccess", "Effect": "Allow", "Action": [ "neptune-db:ReadDataViaQuery", "neptune-db:WriteDataViaQuery", "neptune-db:DeleteDataViaQuery" ], "Resource": "arn:aws:neptune-db:<REGION>:<AWS_ACCOUNT_ID>:<CLUSTER_RESOURCE_ID>/*" }, { "Sid": "NeptuneS3Access", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::neptune-read-bucket", "arn:aws:s3:::neptune-read-bucket/*" ] }, { "Sid": "NeptuneS3KMSAccess", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:<REGION>:<AWS_ACCOUNT_ID>:key/<KEY_ID>", "Condition": { "StringEquals": { "kms:ViaService": [ "s3.<REGION>.amazonaws.com", "rds.<REGION>.amazonaws.com" ] } } }
重要先決條件
這些許可和先決條件可確保將 S3 資料安全可靠地整合至 openCypher 查詢,同時維持適當的存取控制和資料保護措施。
-
IAM 身分驗證:此功能僅支援已啟用 IAM 身分驗證的 Neptune 叢集。如需如何建立和連線至啟用 IAM 身分驗證之叢集的詳細說明,請參閱保護您的 Amazon Neptune 資料庫。
-
VPC 端點:
-
需要 Amazon S3 的閘道類型 VPC 端點,才能允許 Neptune 與 Amazon S3 通訊。
-
若要在查詢中使用自訂 AWS KMS 加密, AWS KMS 需要 的界面類型 VPC 端點,才能允許 Neptune 與 通訊 AWS KMS。
-
如需如何設定此端點的詳細說明,請參閱建立 Amazon S3 VPC 端點。
-