

# Creación de clústeres con políticas basadas en recursos
<a name="rbp-create-cluster"></a>

Puede adjuntar políticas basadas en recursos al crear un nuevo clúster para garantizar que los controles de acceso estén implementados desde el principio. Cada clúster puede tener una única política insertada adjunta directamente al clúster.

## AWSConsola de administración de
<a name="rbp-create-cluster-console"></a>

**Agregación de una política basada en recursos durante la creación del clúster**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Aurora DSQL en [https://console.aws.amazon.com/dsql/](https://console.aws.amazon.com/dsql).

1. Elija **Create cluster**.

1. Configure el nombre, las etiquetas y los ajustes multirregionales del clúster según sea necesario.

1. En la sección **Configuración del clúster**, busque la opción de **política basada en recursos**.

1. Active **Agregar una política basada en recursos**.

1. Ingrese el documento de la política en el editor JSON. Por ejemplo, para bloquear el acceso público a Internet:

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

1. Puede usar **Editar instrucción** o **Agregar nueva instrucción** para crear la política.

1. Complete la configuración del clúster restante y elija **Crear clúster**.

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

Utilice el parámetro `--policy` al crear un clúster para adjuntar una política insertada:

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

------