

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Membuat cluster dengan kebijakan berbasis sumber daya
<a name="rbp-create-cluster"></a>

Anda dapat melampirkan kebijakan berbasis sumber daya saat membuat klaster baru untuk memastikan kontrol akses sudah ada sejak awal. Setiap cluster dapat memiliki kebijakan inline tunggal yang dilampirkan langsung ke cluster.

## AWS Konsol Manajemen
<a name="rbp-create-cluster-console"></a>

**Untuk menambahkan kebijakan berbasis sumber daya selama pembuatan klaster**

1. Masuk ke Konsol AWS Manajemen dan buka konsol Aurora DSQL di. [https://console.aws.amazon.com/dsql/](https://console.aws.amazon.com/dsql)

1. Pilih **Buat klaster**.

1. Konfigurasikan nama klaster, tag, dan pengaturan multi-wilayah sesuai kebutuhan.

1. Di bagian **Pengaturan cluster**, cari opsi kebijakan **berbasis sumber daya**.

1. Aktifkan **Tambahkan kebijakan berbasis sumber daya**.

1. Masukkan dokumen kebijakan Anda di editor JSON. Misalnya, untuk memblokir akses internet publik:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Deny",
         "Principal": {
           "AWS": "*"
         },
         "Resource": "*",
         "Action": [
           "dsql:DbConnect",
           "dsql:DbConnectAdmin"
         ],
         "Condition": {
           "Null": {
             "aws:SourceVpc": "true"
           }
         }
       }
     ]
   }
   ```

1. Anda dapat menggunakan **pernyataan Edit** atau **Tambahkan pernyataan baru** untuk membuat kebijakan Anda.

1. Selesaikan konfigurasi cluster yang tersisa dan pilih **Create cluster**.

## AWS CLI
<a name="rbp-create-cluster-cli"></a>

Gunakan `--policy` parameter saat membuat klaster untuk melampirkan kebijakan inline:

```
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" } 
        }
    }]
}'
```

## AWS SDKs
<a name="rbp-create-cluster-sdk"></a>

------
#### [ 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());
```

------