使用資源型政策建立叢集 - Amazon Aurora DSQL

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

使用資源型政策建立叢集

您可以在建立新叢集時連接資源型政策,以確保存取控制從一開始就就緒。每個叢集可以有一個直接連接到叢集的內嵌政策。

在叢集建立期間新增資源型政策
  1. 登入 AWS 管理主控台,並在 https://https://console.aws.amazon.com/dsql/ 開啟 Aurora DSQL 主控台。

  2. 選擇 Create Cluster (建立叢集)。

  3. 視需要設定叢集名稱、標籤和多區域設定。

  4. 叢集設定區段中,找到以資源為基礎的政策選項。

  5. 開啟新增以資源為基礎的政策

  6. 在 JSON 編輯器中輸入您的政策文件。例如,若要封鎖公有網際網路存取:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": { "AWS": "*" }, "Resource": "*", "Action": [ "dsql:DbConnect", "dsql:DbConnectAdmin" ], "Condition": { "Null": { "aws:SourceVpc": "true" } } } ] }
  7. 您可以使用編輯陳述式新增陳述式來建置您的政策。

  8. 完成剩餘的叢集組態,然後選擇建立叢集

建立叢集時,請使用 --policy 參數來連接內嵌政策:

aws dsql create-cluster --policy '{ "Version": "2012-10-17", "Statement": [{ "Effect": "Deny", "Principal": {"AWS": "*"}, "Resource": "*", "Action": ["dsql:DbConnect", "dsql:DbConnectAdmin"], "Condition": { "StringNotEquals": { "aws:SourceVpc": "vpc-123456" } } }] }'
Python
import boto3 import json client = boto3.client('dsql') policy = { "Version": "2012-10-17", "Statement": [{ "Effect": "Deny", "Principal": {"AWS": "*"}, "Resource": "*", "Action": ["dsql:DbConnect", "dsql:DbConnectAdmin"], "Condition": { "StringNotEquals": { "aws:SourceVpc": "vpc-123456" } } }] } response = client.create_cluster( policy=json.dumps(policy) ) print(f"Cluster created: {response['identifier']}")
Java
import software.amazon.awssdk.services.dsql.DsqlClient; import software.amazon.awssdk.services.dsql.model.CreateClusterRequest; import software.amazon.awssdk.services.dsql.model.CreateClusterResponse; DsqlClient client = DsqlClient.create(); String policy = """ { "Version": "2012-10-17", "Statement": [{ "Effect": "Deny", "Principal": {"AWS": "*"}, "Resource": "*", "Action": ["dsql:DbConnect", "dsql:DbConnectAdmin"], "Condition": { "StringNotEquals": { "aws:SourceVpc": "vpc-123456" } } }] } """; CreateClusterRequest request = CreateClusterRequest.builder() .policy(policy) .build(); CreateClusterResponse response = client.createCluster(request); System.out.println("Cluster created: " + response.identifier());