리소스 기반 정책을 사용하여 클러스터 생성 - Amazon Aurora DSQL

리소스 기반 정책을 사용하여 클러스터 생성

새 클러스터를 생성할 때 리소스 기반 정책을 연결하여 처음부터 액세스 제어가 이루어지도록 할 수 있습니다. 각 클러스터에는 클러스터에 직접 연결된 단일 인라인 정책이 있을 수 있습니다.

클러스터 생성 중에 리소스 기반 정책 추가
  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/dsql/에서 Aurora DSQL 콘솔을 엽니다.

  2. 클러스터 생성을 선택합니다.

  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());