

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Acceso a Amazon Keyspaces (para Apache Cassandra)
<a name="accessing"></a>

Puede acceder a Amazon Keyspaces mediante la consola AWS CloudShell, mediante programación mediante la ejecución de un `cqlsh` cliente, el AWS SDK o mediante un controlador Cassandra con licencia de Apache 2.0. Amazon Keyspaces admite controladores y clientes compatibles con Apache Cassandra 3.11.2. Antes de acceder a Amazon Keyspaces, debe completar la configuración AWS Identity and Access Management y, a continuación, conceder a una identidad de IAM los permisos de acceso a Amazon Keyspaces.

## Con AWS Identity and Access Management figuración
<a name="SettingUp.IAM"></a>

### Inscríbase para obtener una Cuenta de AWS
<a name="sign-up-for-aws"></a>

Si no tiene uno Cuenta de AWS, complete los siguientes pasos para crearlo.

**Para suscribirte a una Cuenta de AWS**

1. Abrir [https://portal.aws.amazon.com/billing/registro](https://portal.aws.amazon.com/billing/signup).

1. Siga las instrucciones que se le indiquen.

   Parte del procedimiento de registro consiste en recibir una llamada telefónica o mensaje de texto e indicar un código de verificación en el teclado del teléfono.

   Cuando te registras en un Cuenta de AWS, *Usuario raíz de la cuenta de AWS*se crea un. El usuario raíz tendrá acceso a todos los Servicios de AWS y recursos de esa cuenta. Como práctica recomendada de seguridad, asigne acceso administrativo a un usuario y utilice únicamente el usuario raíz para realizar [Tareas que requieren acceso de usuario raíz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS te envía un correo electrónico de confirmación una vez finalizado el proceso de registro. En cualquier momento, puedes ver la actividad de tu cuenta actual y administrarla accediendo a [https://aws.amazon.com/](https://aws.amazon.com/)y seleccionando **Mi cuenta**.

### Creación de un usuario con acceso administrativo
<a name="create-an-admin"></a>

Después de crear un usuario administrativo Cuenta de AWS, asegúrelo Usuario raíz de la cuenta de AWS AWS IAM Identity Center, habilite y cree un usuario administrativo para no usar el usuario root en las tareas diarias.

**Proteja su Usuario raíz de la cuenta de AWS**

1.  Inicie sesión [Consola de administración de AWS](https://console.aws.amazon.com/)como propietario de la cuenta seleccionando el **usuario root** e introduciendo su dirección de Cuenta de AWS correo electrónico. En la siguiente página, escriba su contraseña.

   Para obtener ayuda para iniciar sesión con el usuario raíz, consulte [Iniciar sesión como usuario raíz](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) en la *Guía del usuario de AWS Sign-In *.

1. Active la autenticación multifactor (MFA) para el usuario raíz.

   Para obtener instrucciones, consulte [Habilitar un dispositivo MFA virtual para el usuario Cuenta de AWS raíz (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) en la Guía del usuario de *IAM*.

**Creación de un usuario con acceso administrativo**

1. Activar IAM Identity Center.

   Consulte las instrucciones en [Activar AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) en la *Guía del usuario de AWS IAM Identity Center *.

1. En IAM Identity Center, conceda acceso administrativo a un usuario.

   Para ver un tutorial sobre su uso Directorio de IAM Identity Center como fuente de identidad, consulte [Configurar el acceso de los usuarios con la configuración predeterminada Directorio de IAM Identity Center en la](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) Guía del *AWS IAM Identity Center usuario*.

**Inicio de sesión como usuario con acceso de administrador**
+ Para iniciar sesión con el usuario de IAM Identity Center, use la URL de inicio de sesión que se envió a la dirección de correo electrónico cuando creó el usuario de IAM Identity Center.

  Para obtener ayuda para iniciar sesión con un usuario del Centro de identidades de IAM, consulte [Iniciar sesión en el portal de AWS acceso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) en la *Guía del AWS Sign-In usuario*.

**Concesión de acceso a usuarios adicionales**

1. En IAM Identity Center, cree un conjunto de permisos que siga la práctica recomendada de aplicar permisos de privilegios mínimos.

   Para conocer las instrucciones, consulte [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) en la *Guía del usuario de AWS IAM Identity Center *.

1. Asigne usuarios a un grupo y, a continuación, asigne el acceso de inicio de sesión único al grupo.

   Para conocer las instrucciones, consulte [Add groups](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) en la *Guía del usuario de AWS IAM Identity Center *.

## Configuración de Amazon Keyspaces
<a name="SettingUp.KEY"></a>

 El acceso a los recursos de Amazon Keyspaces se administra con [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html). Con IAM, puede asociar políticas a usuarios, roles e identidades federadas de IAM que concedan permisos de lectura y escritura a recursos específicos en Amazon Keyspaces. 

Para empezar a conceder permisos a una identidad de IAM, puede usar una de las políticas administradas de AWS para Amazon Keyspaces:
+ [AmazonKeyspacesFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonKeyspacesFullAccess.html)— esta política concede permisos para acceder a todos los recursos de Amazon Keyspaces con acceso total a todas las funciones.
+ [AmazonKeyspacesReadOnlyAccess\$1v2](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonKeyspacesReadOnlyAccess_v2.html): esta política concede permisos de solo lectura a Amazon Keyspaces.

Para obtener una explicación detallada de las acciones definidas en las políticas administradas, consulte [AWS políticas gestionadas para Amazon Keyspaces](security-iam-awsmanpol.md).

Para limitar el alcance de las acciones que puede realizar una identidad de IAM o limitar los recursos a los que la identidad puede acceder, puede crear una política personalizada que utilice la política administrada `AmazonKeyspacesFullAccess` como plantilla y eliminar todos los permisos que no necesite. También puede limitar el acceso a tablas o espacios de claves determinados. Para obtener más información acerca de cómo restringir acciones o limitar el acceso a recursos específicos en Amazon Keyspaces, consulte [Funcionamiento de Amazon Keyspaces con IAM](security_iam_service-with-iam.md). 

Para acceder a Amazon Keyspaces después de haber creado Cuenta de AWS y creado una política que conceda acceso a una identidad de IAM a Amazon Keyspaces, vaya a una de las siguientes secciones:
+ [Uso de la consola](console_keyspaces.md)
+ [Utilizando AWS CloudShell](using-aws-with-cloudshell.md)

# Acceso a Amazon Keyspaces mediante la consola
<a name="console_keyspaces"></a>

Puede acceder a la consola de Amazon Keyspaces en [https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home). Para obtener más información sobre el Consola de administración de AWS acceso, consulte [Control del acceso de los usuarios de IAM Consola de administración de AWS en la](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_controlling-access.html) Guía del usuario de IAM.

Puede utilizar la consola para hacer lo siguiente en Amazon Keyspaces:
+ Crear, eliminar y administrar espacios de claves y tablas.
+ Supervisar las métricas importantes de una tabla en la pestaña **Supervisar** de una tabla:
  + Tamaño de la tabla facturable (bytes)
  + Métricas de capacidad
+ Ejecute consultas mediante el editor CQL o mediante la [AWS CloudShell experiencia integrada](console_cloudshell_integration.md), por ejemplo, inserte, actualice y elimine datos.
+ Connect a Amazon Keyspaces directamente mediante AWS CloudShell el soporte CQLSH integrado.
+ Cambiar la configuración del particionador de la cuenta.
+ Consultar las métricas de rendimiento y errores de la cuenta en el panel de control.

# Conéctese a Amazon Keyspaces AWS CloudShell desde la consola
<a name="console_cloudshell_integration"></a>

AWS CloudShell proporciona una forma simplificada de conectarse a Amazon Keyspaces directamente desde la consola. La AWS CloudShell integración lo inicializa automáticamente y establece una conexión con un espacio de claves específico. `cqlsh-expansion`

## Cómo empezar con la integración AWS CloudShell
<a name="cloudshell_getting_started"></a>

1. **Acceda a la AWS CloudShell integración**: desde la consola de Amazon Keyspaces, navegue hasta el espacio clave al que desee conectarse y pulse el botón Conectar **a Keyspaces**. AWS CloudShell 

1. **Comando de configuración precargado**: al seleccionar el AWS CloudShell botón, el sistema proporciona un comando precargado que incluye los parámetros de inicialización y conexión necesarios:

   ```
   cqlsh-expansion.init ; cqlsh-expansion cassandra.region.amazonaws.com 9142 --ssl -my_keyspace
   ```

1. ****Haga clic en Ejecutar****

1. **Espere a que Amazon Keyspaces establezca la conexión**: espere un tiempo para que se complete el proceso de configuración y se establezca la conexión con el espacio de claves seleccionado.

1. **Ejecute comandos**: cuando esté conectado, podrá escribir y ejecutar comandos de CQL directamente en el espacio de teclas seleccionado.

## Comandos CQLSH disponibles
<a name="available_cqlsh_commands"></a>

La AWS CloudShell integración proporciona acceso a la funcionalidad estándar del CQLSH, incluida la compatibilidad con comandos que van más allá del CQL básico.
+ **Describa**: enumere y vea descripciones detalladas de los espacios clave y las tablas.
+ **Copiar**: exporta el resultado de la consulta a un archivo para su posterior procesamiento.
+ **Fuente**: ejecuta sentencias CQL desde un archivo.
+ **Navegación por el historial de** comandos: desplácese por los comandos anteriores mediante atajos de teclado.
+ **Ejecución de consultas**: ejecuta consultas directamente desde la interfaz del teclado.
+ Copia **de resultados: copia** los resultados como texto simple para usarlos en otras aplicaciones.

## Aspectos a tener en cuenta sobre las características
<a name="feature_considerations"></a>

Al utilizar la AWS CloudShell integración, tenga en cuenta las siguientes ventajas y desventajas.

**No se admiten las siguientes funciones:**
+ Sugerencias de sintaxis de CQL y funcionalidad de autocompletado.
+ Herramientas de edición como mostrar autocompletar, mostrar información sobre herramientas, buscar, buscar y reemplazar, rehacer, bloquear comentarios, activar el doblado de códigos, alternar comentarios con líneas y deshacer.

**Funcionalidad modificada:**
+ **Descargas de CSV**: para descargar los resultados en formato CSV, especifique el `>` operador al que se va a canalizar el resultado del comando:

  ```
  SELECT * FROM my_table > file_name.csv
  ```
+ **Visualización en JSON**: puede ver los elementos en formato JSON sin necesidad de convertir los datos.
+ **Interfaz tipo terminal: la experiencia funciona como una interfaz** de terminal y no como un editor de código con todas las funciones.

La AWS CloudShell integración simplifica el proceso de conexión y, al mismo tiempo, proporciona la funcionalidad CQL esencial para administrar los datos de Amazon Keyspaces directamente desde. Consola de administración de AWS

Para obtener información sobre cómo crear un espacio de claves y una tabla de Amazon Keyspaces y configurarlos con datos de aplicación de ejemplo, consulte [Introducción a Amazon Keyspaces (para Apache Cassandra)](getting-started.md). 

# Utilización AWS CloudShell para acceder a Amazon Keyspaces
<a name="using-aws-with-cloudshell"></a>

AWS CloudShell es un shell preautenticado y basado en un navegador que puede iniciar directamente desde. Consola de administración de AWS Puede ejecutar AWS CLI comandos en los AWS servicios mediante el shell que prefiera (Bash o Z shell). PowerShell AWS CloudShell viene preautenticado con las credenciales de la consola e incluye herramientas comunes para trabajar con AWS los servicios, como AWS CLI Python y Node.js.

Se [inicia AWS CloudShell desde la Consola de administración de AWS](https://docs.aws.amazon.com/cloudshell/latest/userguide/working-with-cloudshell.html#launch-options) consola y las AWS credenciales que utilizó para iniciar sesión en la consola están disponibles automáticamente en una nueva sesión de shell. Esta autenticación previa de AWS CloudShell los usuarios le permite omitir la configuración de las credenciales al interactuar con AWS servicios como Amazon Keyspaces `cqlsh` mediante AWS CLI la versión 2 (preinstalada en el entorno informático del shell).

## AWS CloudShell opciones de integración
<a name="cloudshell-integration-options"></a>

Amazon Keyspaces ofrece dos formas de uso: AWS CloudShell

1. ** AWS CloudShell Experiencia integrada**: un método de conexión simplificado disponible directamente desde la consola de Amazon Keyspaces que inicializa automáticamente un espacio de claves específico y `cqlsh-expansion` se conecta a él. Para obtener instrucciones completas sobre el uso de esta experiencia integrada, consulte. [Conéctese a Amazon Keyspaces AWS CloudShell desde la consola](console_cloudshell_integration.md)

1. ** AWS CloudShell Configuración manual**: instale y configure manualmente `cqlsh` en AWS CloudShell. Los pasos se describen en las siguientes secciones y proporcionan un mayor control sobre el proceso de configuración y permiten configuraciones personalizadas.

## Requisitos previos
<a name="cloudshell-prerequisites"></a>

Antes de usar Amazon Keyspaces con AWS CloudShell, asegúrate de tener:
+ Una AWS cuenta con acceso a Amazon Keyspaces y AWS CloudShell
+ Permisos de IAM adecuados para usar ambos servicios
+ Conocimientos básicos de Cassandra Query Language (CQL)

## ¿Cómo empezar con AWS CloudShell
<a name="getting-started-cloudshell"></a>

Para acceder a AWS CloudShell:

1. Inicie sesión en Consola de administración de AWS

1.  AWS CloudShell Para iniciarlo, selecciona el AWS CloudShell icono de la barra de navegación de la parte superior de la consola o navega hasta [https://console.aws.amazon.com/cloudshell/](https://console.aws.amazon.com/cloudshell/)

1. Espere a que el AWS CloudShell entorno se inicialice

## Obtener permisos de IAM para AWS CloudShell
<a name="cloudshell-permissions"></a>

Con los recursos de administración de acceso que proporcionan AWS Identity and Access Management, los administradores pueden conceder permisos a los usuarios de IAM para que puedan acceder a las funciones del entorno AWS CloudShell y utilizarlas.

La forma más rápida de que un administrador conceda acceso a los usuarios es mediante una política AWS gestionada. Una [política administrada de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) es una política independiente creada y administrada por AWS. La siguiente política AWS gestionada para se CloudShell puede adjuntar a las identidades de IAM:
+ `AWSCloudShellFullAccess`: Concede permiso de uso AWS CloudShell con acceso completo a todas las funciones.

Si desea limitar el alcance de las acciones con las que puede realizar un usuario de IAM AWS CloudShell, puede crear una política personalizada que utilice la política `AWSCloudShellFullAccess` gestionada como plantilla. Para obtener más información sobre cómo limitar las acciones que están disponibles para los usuarios CloudShell, consulte [Administrar el AWS CloudShell acceso y el uso con políticas de IAM](https://docs.aws.amazon.com/cloudshell/latest/userguide/sec-auth-with-identities.html) en la Guía del *AWS CloudShell usuario*.

**nota**  
Su identidad de IAM también requiere una política que conceda permiso para realizar llamadas a Amazon Keyspaces.

Puedes usar una política AWS gestionada para permitir que tu identidad de IAM acceda a tus Amazon Keyspaces, o bien empezar con la política gestionada como plantilla y eliminar los permisos que no necesites. También puede limitar el acceso a espacios de claves y tablas específicos para crear una política personalizada. La siguiente política administrada para Amazon Keyspaces se puede asociar a las identidades de IAM:
+ [AmazonKeyspacesFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonKeyspacesFullAccess.html)— Esta política otorga permiso para usar Amazon Keyspaces con acceso total a todas las funciones.

Para obtener una explicación detallada de las acciones definidas en la política administrada, consulte [AWS políticas gestionadas para Amazon Keyspaces](security-iam-awsmanpol.md).

 Para obtener más información acerca de cómo restringir acciones o limitar el acceso a recursos específicos en Amazon Keyspaces, consulte [Funcionamiento de Amazon Keyspaces con IAM](security_iam_service-with-iam.md).

## Instalación del cliente cqlsh
<a name="installing-cqlsh-client"></a>

AWS CloudShell no viene preinstalado. `cqlsh` Debe instalarlo para interactuar con Amazon Keyspaces. Puede instalar la versión específica de Amazon Keyspaces de. `cqlsh` Para ver las instrucciones de instalación de `cqlsh-expansion`, consulte [Uso de la `cqlsh-expansion` para conectarse a Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh).

## Configuración de certificados TLS
<a name="configuring-ssl-certificates"></a>

Para conectarse a Amazon Keyspaces mediante una conexión TLS, debe descargar los certificados digitales de Amazon necesarios. Para obtener instrucciones detalladas sobre cómo descargar y configurar el certificado SSL, consulte. [Configuración manual de conexiones de `cqlsh` para TLS](programmatic.cqlsh.md#encrypt_using_tls)

## Conexión a Amazon Keyspaces
<a name="connecting-to-keyspaces"></a>

Puede conectarse a Amazon Keyspaces mediante credenciales de IAM (recomendadas) o credenciales específicas del servicio.

### Conectarse con credenciales de IAM (recomendado)
<a name="connecting-iam-credentials"></a>

AWS CloudShell ya está autenticado con sus credenciales de IAM. Para conectarse con estas credenciales, puede usar el complemento de autenticación SigV4. Para obtener instrucciones detalladas sobre el uso de las credenciales de IAM con`cqlsh`, consulte. [Uso de la `cqlsh-expansion` para conectarse a Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh)

### Conexión con credenciales específicas del servicio
<a name="connecting-service-specific-credentials"></a>

Si ha creado credenciales específicas de un servicio para Amazon Keyspaces, puede utilizarlas para conectarse. Para obtener información sobre la creación y el uso de credenciales específicas de un servicio, consulte. [Creación de credenciales específicas del servicio para el acceso programático a Amazon Keyspaces](programmatic.credentials.ssc.md)

## Uso de CQLSH con Amazon Keyspaces
<a name="using-cqlsh-keyspaces"></a>

Cuando está conectado, puede utilizar comandos CQL estándar para interactuar con sus espacios de teclas y tablas. Para obtener información detallada sobre los comandos y operaciones de CQL compatibles, consulte. [Uso de la `cqlsh-expansion` para conectarse a Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh)

## Datos persistentes en AWS CloudShell
<a name="persisting-data-cloudshell"></a>

AWS CloudShell proporciona 1 GB de almacenamiento persistente en su directorio principal. Esto significa que los scripts, los certificados y los archivos de configuración que cree permanecen disponibles en todas las sesiones. Puede crear un archivo de configuración `cqlsh` para simplificar las conexiones.

Con un archivo de configuración, puede ejecutarlo `cqlsh` sin especificar parámetros adicionales. Para obtener más información sobre la creación y el uso `cqlsh` de archivos de configuración, consulte[Uso de la `cqlsh-expansion` para conectarse a Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh).

## Prácticas recomendadas
<a name="best-practices-cloudshell"></a>

Al utilizar Amazon Keyspaces con AWS CloudShell, recomendamos las siguientes prácticas recomendadas:
+ Cree scripts para tareas repetitivas y guárdelos en su directorio principal persistente.
+ Utilice variables de entorno para la información confidencial en lugar de codificarlas de forma rígida.
+ Recuerde que es posible que AWS CloudShell las sesiones se detengan después de una inactividad.
+ Tenga en cuenta las cuotas y AWS CloudShell limitaciones del servicio.
+ Considere la posibilidad de AWS CLI utilizarlos para operaciones automatizadas con Amazon Keyspaces.

## Resolución de problemas
<a name="troubleshooting-cloudshell"></a>

Si tienes problemas al conectarte a Amazon Keyspaces desde: AWS CloudShell
+ Comprueba que tus permisos de IAM incluyan las acciones de Amazon Keyspaces necesarias.
+ Asegúrese de utilizar el punto de enlace correcto para su región.
+ Compruebe que los certificados SSL se hayan descargado y referenciado correctamente.
+ Compruebe que las credenciales específicas del servicio sean correctas y no estén caducadas.
+ Si utiliza un archivo cqlshrc, compruebe su formato y sus permisos.

## Ejemplo: Cómo interactuar con Amazon Keyspaces mediante AWS CloudShell
<a name="cshell-examples"></a>

Tras lanzarlo AWS CloudShell desde Consola de administración de AWS, puede empezar inmediatamente a interactuar con Amazon Keyspaces mediante la interfaz de línea de comandos `cqlsh` o la interfaz de línea de comandos. Si aún no ha instalado la `cqlsh-expansion`, consulte [Uso de la `cqlsh-expansion` para conectarse a Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh) para ver los pasos en detalle.

**nota**  
Al usar la `cqlsh-expansion` entrada AWS CloudShell, no necesita configurar las credenciales antes de realizar llamadas, ya que ya está autenticado en el shell.

**Conexión a Amazon Keyspaces y creación de un nuevo espacio de claves. A continuación, lee una tabla del sistema para confirmar que el espacio de claves se creó con AWS CloudShell**

1. Desde Consola de administración de AWS, puede iniciarlo CloudShell seleccionando las siguientes opciones disponibles en la barra de navegación:
   +  Selecciona el CloudShell icono. 
   + Empieza a escribir `cloudshell` en el cuadro de búsqueda y, a continuación, selecciona la CloudShell opción.

1. Puede establecer una conexión a Amazon Keyspaces mediante el siguiente comando. Asegúrese de `cassandra.us-east-1.amazonaws.com` reemplazarlo por el punto final correcto para su región.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

   Si la conexión tiene éxito, debería ver una salida similar a la del siguiente ejemplo.

   ```
   Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142
   [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
   Use HELP for help.
   cqlsh current consistency level is ONE.
   cqlsh>
   ```

1. Creación de un nuevo espacio de claves con el nombre `mykeyspace`. Puede usar el siguiente comando para hacerlo.

   ```
   CREATE KEYSPACE mykeyspace WITH REPLICATION = {'class': 'SingleRegionStrategy'};
   ```

1. Para confirmar que se ha creado el espacio de claves, puede leer una tabla del sistema mediante el siguiente comando.

   ```
   SELECT * FROM system_schema_mcs.keyspaces WHERE keyspace_name = 'mykeyspace';
   ```

   Si la llamada se realiza correctamente, la línea de comandos muestra una respuesta del servicio similar a la siguiente salida:

   ```
    keyspace_name  | durable_writes | replication
   ----------------+----------------+-------------------------------------------------------------------------------------
    mykeyspace     |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
   
   (1 rows)
   ```

# Creación de credenciales para el acceso programático a Amazon Keyspaces
<a name="programmatic.credentials"></a>

Para proporcionar a los usuarios y a las aplicaciones credenciales de acceso programático a los recursos de Amazon Keyspaces, puede realizar cualquiera de las siguientes acciones:
+ Cree credenciales específicas del servicio que sean similares al nombre de usuario y la contraseña tradicionales que Cassandra utiliza para la autenticación y la administración del acceso. AWS las credenciales específicas del servicio están asociadas a un usuario AWS Identity and Access Management (IAM) específico y solo se pueden usar para el servicio para el que se crearon. Para obtener más información, consulte [Uso de IAM con Amazon Keyspaces (para Apache Cassandra)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_keyspaces.html) en la Guía del usuario de IAM.
**aviso**  
Los usuarios de IAM tienen credenciales de larga duración, lo que supone un riesgo de seguridad. Para ayudar a mitigar este riesgo, le recomendamos que brinde a estos usuarios únicamente los permisos que necesitan para realizar la tarea y que los elimine cuando ya no los necesiten.
+ Para mejorar la seguridad, recomendamos crear identidades de IAM que se utilicen en todos los AWS servicios y utilizar credenciales temporales. El complemento de autenticación SigV4 de Amazon Keyspaces para controladores de cliente de Cassandra habilita la autenticación de llamadas a Amazon Keyspaces utilizando claves de acceso de IAM en vez de nombre de usuario y contraseña. Para obtener más información sobre cómo el complemento SigV4 de Amazon Keyspaces habilita a los [usuarios, roles e identidades federadas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) para autenticarse en las solicitudes de la API de Amazon Keyspaces, consulte [Proceso Signature Version 4 (SigV4) de AWS](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). 

  Puede descargar los complementos de SigV4 desde las siguientes ubicaciones.
  + Java: [https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin).
  + Node.js: [https://github.com/aws/aws-sigv4-auth-cassandra-nodejs-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-nodejs-driver-plugin).
  + Python: [https://github.com/aws/aws-sigv4-auth-cassandra-python-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-python-driver-plugin).
  + Go: [https://github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin).

  Para ver ejemplos de código que muestran cómo establecer conexiones utilizando el complemento de autenticación SigV4, consulte [Uso de un controlador de cliente de Cassandra para acceder a Amazon Keyspaces mediante programación](programmatic.drivers.md).

**Topics**
+ [Creación de credenciales específicas del servicio](programmatic.credentials.ssc.md)
+ [Cree credenciales de IAM para la autenticación AWS](access.credentials.md)

# Creación de credenciales específicas del servicio para el acceso programático a Amazon Keyspaces
<a name="programmatic.credentials.ssc"></a>

Las credenciales específicas del servicio son similares al nombre de usuario y contraseña tradicionales que Cassandra utiliza para la autenticación y la administración del acceso. Las credenciales específicas del servicio permiten a los usuarios de IAM acceder a un servicio de AWS específico. Estas credenciales de larga duración no se pueden usar para acceder a otros AWS servicios. Están asociadas a un usuario de IAM específico y no pueden utilizarlas otros usuarios de IAM.

**importante**  
Las credenciales específicas de un servicio son credenciales a largo plazo asociadas a un usuario de IAM en concreto y solo se pueden utilizar para el servicio para el que se hayan creado. Para conceder permisos a las funciones de IAM o a las identidades federadas para acceder a todos sus AWS recursos mediante credenciales temporales, debe utilizar la [AWS autenticación con el complemento de autenticación SigV4 para Amazon Keyspaces](access.credentials.md).

Utilice uno de los siguientes procedimientos para generar credenciales específicas del servicio.

------
#### [ Console ]

**Creación de credenciales específicas del servicio mediante la consola**

1. Inicie sesión en Consola de administración de AWS y abra la consola en. AWS Identity and Access Management [https://console.aws.amazon.com/iam/home](https://console.aws.amazon.com/iam/home)

1. En el panel de navegación, elija **Usuarios** y, a continuación, elija el usuario que creó anteriormente y que tiene permisos de Amazon Keyspaces (política vinculada). 

1. Elija **Credenciales de seguridad**. En **Credenciales para Amazon Keyspaces**, elija **Generar credenciales** a fin de generar las credenciales específicas del servicio.

   Las credenciales específicas del servicio ya están disponibles. Esta es la única vez que la contraseña se puede ver o descargar. No puede recuperarla más adelante. Sin embargo, puede restablecerla en cualquier momento. Guarde el usuario y la contraseña en una ubicación segura, ya que los necesitará más adelante.

------
#### [ CLI ]

**Cree credenciales específicas del servicio mediante el AWS CLI**

 Antes de generar las credenciales específicas del servicio, debe descargar, instalar y configurar (): AWS Command Line Interface AWS CLI

1. [Descárguelo AWS CLI en http://aws.amazon.com/cli.](https://aws.amazon.com/cli) 
**nota**  
Se AWS CLI ejecuta en Windows, macOS o Linux. 

1. Siga las instrucciones para [instalar la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) y [configurar la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) de la *Guía del AWS Command Line Interface usuario*.

1. Con el AWS CLI, ejecute el siguiente comando para generar credenciales específicas del servicio para el usuario`alice`, de modo que pueda acceder a Amazon Keyspaces.

   ```
   aws iam create-service-specific-credential \
       --user-name alice \
       --service-name cassandra.amazonaws.com
   ```

El resultado es similar al siguiente.

```
{
    "ServiceSpecificCredential": {
        "CreateDate": "2019-10-09T16:12:04Z",
        "ServiceName": "cassandra.amazonaws.com",
        "ServiceUserName": "alice-at-111122223333",
        "ServicePassword": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
        "ServiceSpecificCredentialId": "ACCAYFI33SINPGJEBYESF",
        "UserName": "alice",
        "Status": "Active"
    }
}
```

En la salida, anote los valores de `ServiceUserName` y `ServicePassword`. Guarde estos valores en un lugar seguro, dado que los necesitará más adelante.

**importante**  
Esta es la única vez que la `ServicePassword` estará disponible para usted.

------

# Creación y configuración de AWS credenciales para Amazon Keyspaces
<a name="access.credentials"></a>

Para acceder a Amazon Keyspaces mediante programación con el AWS SDK o con los AWS CLI controladores de cliente de Cassandra y el complemento SigV4, necesita un usuario de IAM con claves de acceso. Cuando utiliza Amazon Keyspaces mediante programación, proporciona sus claves de AWS acceso para AWS poder verificar su identidad en las llamadas programáticas. Sus claves de acceso constan de un identificador de clave de acceso (por AKIAIOSFODNN7 ejemplo, EXAMPLE) y una clave de acceso secreta (por ejemplo,). wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY En este tema se explican los pasos necesarios en este proceso. 

Las prácticas recomendadas de seguridad proponen crear usuarios de IAM con permisos limitados y asociar roles de IAM a los permisos necesarios para realizar tareas específicas. De este modo, los usuarios de IAM pueden asumir temporalmente esos roles de IAM para llevar a cabo las tareas necesarias. Por ejemplo, los usuarios de IAM de su cuenta que usen la consola de Amazon Keyspaces pueden cambiar a un rol para utilizar temporalmente los permisos del rol en la consola. Los usuarios renuncian a sus permisos originales y adoptan los permisos asignados al rol. Cuando el usuario deja de utilizar el rol, sus permisos originales se restablecen. Las credenciales que emplean los usuarios para asumir el rol son temporales. Por el contrario, los usuarios de IAM tienen credenciales de larga duración, lo que supone un riesgo de seguridad si, en lugar de asumir roles, tienen permisos asignados directamente a ellos. Para ayudar a mitigar este riesgo, le recomendamos que brinde a estos usuarios únicamente los permisos que necesitan para realizar la tarea y que los elimine cuando ya no los necesiten. Para obtener más información, consulte [Situaciones habituales con los roles: usuarios, aplicaciones y servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios.html) en la *Guía del usuario de IAM*.

**Topics**
+ [Credenciales requeridas por el AWS CLI AWS SDK o el complemento SiGv4 de Amazon Keyspaces para los controladores de cliente de Cassandra](SigV4_credentials.md)
+ [Creación de credenciales temporales para conectarse a Amazon Keyspaces mediante un rol de IAM y el complemento SigV4](temporary.credentials.IAM.md)
+ [Cree un usuario de IAM para acceder mediante programación a Amazon Keyspaces en su cuenta AWS](access.credentials.IAM.md)
+ [Creación de nuevas claves de acceso para un usuario de IAM](create.keypair.md)
+ [Almacenamiento de claves de acceso para el acceso programático](aws.credentials.manage.md)

# Credenciales requeridas por el AWS CLI AWS SDK o el complemento SiGv4 de Amazon Keyspaces para los controladores de cliente de Cassandra
<a name="SigV4_credentials"></a>

Para autenticar el usuario o rol de IAM se requieren las siguientes credenciales:

`AWS_ACCESS_KEY_ID`  
Especifica una clave de AWS acceso asociada a un usuario o rol de IAM.  
La clave de acceso `aws_access_key_id` es necesaria para conectarse a Amazon Keyspaces mediante programación.

`AWS_SECRET_ACCESS_KEY`  
Especifica la clave secreta asociada a la clave de acceso. Se trata básicamente de la contraseña de la clave de acceso.  
La `aws_secret_access_key` es necesaria para conectarse a Amazon Keyspaces mediante programación. 

`AWS_SESSION_TOKEN`— Opcional  
Especifica el valor del token de sesión que se requiere si utiliza credenciales de seguridad temporales que ha recuperado directamente de las operaciones de AWS Security Token Service . Para obtener más información, consulte [Creación de credenciales temporales para conectarse a Amazon Keyspaces mediante un rol de IAM y el complemento SigV4](temporary.credentials.IAM.md).  
Si se conecta con un usuario de IAM, el `aws_session_token` no es necesario.

# Creación de credenciales temporales para conectarse a Amazon Keyspaces mediante un rol de IAM y el complemento SigV4
<a name="temporary.credentials.IAM"></a>

La forma recomendada de acceder mediante programación a Amazon Keyspaces es con [credenciales temporales](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) para autenticarse con el complemento SigV4. En muchos casos, no necesita claves de acceso a largo plazo que nunca caducan (como sucede con un usuario de IAM). En su lugar, puede crear un rol de IAM y generar credenciales de seguridad temporales. Las credenciales de seguridad temporales se componen de un ID de clave de acceso y una clave de acceso secreta, pero, además, incluyen un token de seguridad que indica cuándo caducan las credenciales. Para obtener más información sobre cómo utilizar las funciones de IAM en lugar de las claves de acceso a largo plazo, consulte [Cambiar a una función de IAM (AWS API)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-api.html).

Para comenzar con las credenciales temporales, primero debe crear un rol de IAM.

**Creación de un rol de IAM que conceda acceso de solo lectura a Amazon Keyspaces**

1. Inicie sesión en la consola de IAM Consola de administración de AWS y ábrala en. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. En el panel de navegación, elija **Roles** y luego **Crear rol**.

1. En la página **Crear rol**, en **Seleccionar tipo de entidad de confianza)**, elija **Servicio de AWS **. En **Elegir un caso de uso**, elija **Amazon EC2** y luego **Siguiente**.

1. En la página **Añadir permisos**, en **Políticas de permisos**, elija **Acceso de solo lectura a Amazon Keyspaces** en la lista de políticas y luego **Siguiente**.

1. En la página **Nombre, revisión y creación**, introduzca un nombre para el rol y revise las secciones **Seleccionar entidades de confianza** y **Añadir permisos**. También puede añadir etiquetas opcionales para el rol en esta página. Cuando haya terminado, elija **Crear rol**. Recuerde este nombre, dado que lo necesitará cuando lance su instancia de Amazon EC2.

Para usar credenciales de seguridad temporales en el código, llama mediante programación a una AWS Security Token Service API similar `AssumeRole` y extrae las credenciales y el token de sesión resultantes del rol de IAM que creaste en el paso anterior. A continuación, utiliza esos valores como credenciales para las siguientes llamadas a. AWS En el siguiente ejemplo se muestra un pseudocódigo sobre cómo utilizar credenciales de seguridad temporales:

```
assumeRoleResult = AssumeRole(role-arn);
tempCredentials = new SessionAWSCredentials(
   assumeRoleResult.AccessKeyId, 
   assumeRoleResult.SecretAccessKey, 
   assumeRoleResult.SessionToken);
cassandraRequest = CreateAmazoncassandraClient(tempCredentials);
```

Para ver un ejemplo que implemente credenciales temporales utilizando el controlador Python para acceder a Amazon Keyspaces, consulte [Conéctese a Amazon Keyspaces mediante el controlador de DataStax Python para Apache Cassandra y el complemento de autenticación SigV4](using_python_driver.md#python_SigV4).

Para obtener más información sobre cómo llamar a `AssumeRole`, `GetFederationToken` y otras operaciones de la API, consulte la [Referencia de la API de AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/). Para obtener información sobre cómo obtener las credenciales de seguridad temporales y el token de sesión a partir del resultado, consulte la documentación para el SDK con el que esté trabajando. Encontrará toda la documentación AWS SDKs en la [página principal de AWS documentación](https://aws.amazon.com/documentation), en la sección **SDKs y kits de herramientas**.

# Cree un usuario de IAM para acceder mediante programación a Amazon Keyspaces en su cuenta AWS
<a name="access.credentials.IAM"></a>

Para obtener credenciales para el acceso programático a Amazon Keyspaces con AWS CLI el SDK o AWS el complemento SigV4, primero debe crear un usuario o rol de IAM. El proceso de creación de un usuario de IAM y de configuración del mismo para tener acceso programático a Amazon Keyspaces se muestra en los pasos siguientes:

1. Cree el usuario en las Consola de administración de AWS Herramientas para Windows o mediante una operación PowerShell de API. AWS CLI AWS Si crea el usuario en Consola de administración de AWS, las credenciales se crean automáticamente. 

1. Si crea el usuario mediante programación, entonces debe crear una clave de acceso (ID de clave de acceso y clave de acceso secreta) para ese usuario en un paso adicional.

1. Otorgue al usuario permisos para acceder a Amazon Keyspaces. 

Para obtener información sobre los permisos que necesita para crear un usuario de IAM, consulte [Permisos necesarios para acceder a los recursos de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions-required.html). 

------
#### [ Console ]

**Creación de un usuario de IAM con acceso programático (consola)**

1. Inicie sesión en la consola de IAM Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, elija **Usuarios** y, a continuación, elija **Agregar usuarios**.

1. Escriba el nombre de usuario del nuevo usuario. Este es el nombre de inicio de sesión de. AWS
**nota**  
Los nombres de usuario pueden ser una combinación de un máximo de 64 letras, dígitos y los siguientes caracteres: más (\$1), igual (=), coma (,), punto (.), arroba (@), guion bajo (\$1) y guion (-). Los nombres deben ser únicos dentro de una cuenta. No se distingue por caso. Por ejemplo, no puede crear dos usuarios llamados *TESTUSER* y *testuser*.

1. Seleccione **Clave de acceso - Acceso programático** para crear una clave de acceso para el nuevo usuario. Puede ver o descargar la clave de acceso cuando llegue a la página **Final**.

   Elija **Siguiente: permisos**.

1. En la página **Establecer permisos**, elija **Añadir políticas existentes directamente** para asignar permisos al nuevo usuario.

   Esta opción muestra la lista de políticas AWS administradas y administradas por el cliente disponibles en su cuenta. Puede introducir `keyspaces` en el campo de búsqueda para mostrar solo las políticas relacionadas con Amazon Keyspaces.

   Para Amazon Keyspaces, las políticas administradas disponibles son `AmazonKeyspacesFullAccess` y `AmazonKeyspacesReadOnlyAccess`. Para obtener más información sobre cada política, consulte [AWS políticas gestionadas para Amazon Keyspaces](security-iam-awsmanpol.md). 

   Con fines de prueba y para seguir los tutoriales de conexión, seleccione la política `AmazonKeyspacesReadOnlyAccess` para el nuevo usuario de IAM. **Nota:** Como práctica recomendada, le sugerimos que siga el principio de privilegio mínimo y cree políticas personalizadas que limiten el acceso a recursos específicos y solo permitan las acciones necesarias. Para obtener más información sobre las políticas de IAM y ver ejemplos de políticas para Amazon Keyspaces, consulte [Políticas basadas en identidades de Amazon Keyspaces](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies). Una vez creadas las políticas de permisos personalizadas, debe asociar sus políticas a los roles y dejar que los usuarios asuman temporalmente los roles pertinentes.

   Elija **Siguiente: etiquetas**.

1. En la página **Añadir etiquetas (opcional)** puede añadir etiquetas para el usuario, o elegir **Siguiente: Revisar**. 

1. En la página **Revisar** puede ver todas las opciones que ha elegido hasta este momento. Cuando esté listo para continuar, elija **Crear usuario**.

1. Para ver las claves de acceso del usuario (clave de acceso IDs y claves de acceso secretas), selecciona **Mostrar** junto a la contraseña y la clave de acceso. Para guardar las claves de acceso, elija **Descargar archivo .csv** y, a continuación, guarde el archivo en un lugar seguro. 
**importante**  
Esta es su única oportunidad para ver o descargar las claves de acceso secretas, y necesita esta información antes de que puedan utilizar el complemento SigV4. Guarde el nuevo ID de clave de acceso del usuario y la clave de acceso secreta en un lugar seguro. No volverá a tener acceso a la clave de acceso secreta después de este paso.

------
#### [ CLI ]

**Creación de un usuario de IAM con acceso programático (AWS CLI)**

1. Cree un usuario con el siguiente AWS CLI código.
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html)

1. Dé al usuario acceso programático. Esto requiere claves de acceso, las cuales se pueden generar de las siguientes maneras. 
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html)
   + Herramientas para Windows PowerShell: [https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMAccessKey.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMAccessKey.html)
   + API de IAM: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html)
**importante**  
Esta es su única oportunidad para ver o descargar las claves de acceso secretas, y necesita esta información antes de que puedan utilizar el complemento SigV4. Guarde el nuevo ID de clave de acceso del usuario y la clave de acceso secreta en un lugar seguro. No volverá a tener acceso a la clave de acceso secreta después de este paso.

1. Vincule al usuario la política `AmazonKeyspacesReadOnlyAccess` que define los permisos del usuario. **Nota:** Como práctica recomendada, le sugerimos que administre los permisos de usuario añadiendo el usuario a un grupo y asociando una política al grupo en vez de vincularla directamente a un usuario.
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html)

------

# Creación de nuevas claves de acceso para un usuario de IAM
<a name="create.keypair"></a>

Si ya tiene un usuario de IAM, puede crear nuevas claves de acceso en cualquier momento. Para obtener más información sobre administración de claves, por ejemplo, cómo actualizar las claves de acceso, consulte [Administración de las claves de acceso de los usuarios de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html). 

**Para crear claves de acceso para un usuario de IAM (consola)**

1. Inicie sesión en la consola de IAM Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, seleccione **Usuarios**.

1. Elija el nombre del usuario cuyas claves de acceso desea crear.

1. En la página **Resumen** del usuario, elija la pestaña **Credenciales de seguridad**.

1. En la sección **Claves de acceso**, en **Prácticas recomendadas y alternativas de las claves de acceso**, selecciona el caso de uso **Otros**. Haga clic en **Siguiente**, introduzca la información opcional necesaria y seleccione **Crear clave de acceso**.

   Para ver el nuevo par de claves de acceso, elija **Mostrar**. Sus credenciales tendrán el aspecto siguiente:
   + ID de clave de acceso: AKIAIOSFODNN7 EJEMPLO
   + Clave de acceso secreta: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
**nota**  
No podrá obtener acceso de nuevo a la clave de acceso secreta cuando este cuadro de diálogo se cierre.

   Tenga en cuenta las siguientes prácticas recomendadas para el key pair que ha creado.
   + Nunca guarde la clave de acceso en texto plano, en un repositorio de código o en código.
   + Desactive o elimine las claves de acceso cuando ya no las necesite.
   + Habilite los permisos con privilegios mínimos.
   + Gire las claves de acceso con regularidad.

1. Para descargar el par de claves, elija **Descargar archivo .csv**. Almacene las claves en un lugar seguro.

1. Cuando descargue el archivo .csv, elija **Cerrar**.

Cuando cree una clave de acceso, el par de claves se activa de forma predeterminada y puede utilizar el par de inmediato.

# Almacenamiento de claves de acceso para el acceso programático
<a name="aws.credentials.manage"></a>

Como práctica recomendada, le sugerimos que no inserte claves de acceso directamente en el código. Las herramientas de línea de AWS comandos AWS SDKs y las herramientas de línea de comandos le permiten colocar las claves de acceso en ubicaciones conocidas para no tener que guardarlas en código. Ponga las claves de acceso en una de las siguientes ubicaciones:
+ **Variables de entorno**: en un sistema multiusuario, elija variables de entorno de usuario, no variables de entorno de sistema.
+ **Archivo de credenciales de la CLI**: los archivos `credentials` y `config` se actualizan al ejecutar el comando `aws configure`. El archivo `credentials` se encuentra en `~/.aws/credentials` en Linux, macOS o Unix, o en `C:\Users\USERNAME\.aws\credentials` en Windows. Este archivo contiene las credenciales del perfil `default` y de todos los perfiles con nombre.
+ **Archivo de configuración de la CLI**: los archivos `credentials` y `config` se actualizan al ejecutar el comando `aws configure`. El archivo `config` se encuentra en `~/.aws/config` en Linux, macOS o Unix, o en `C:\Users\USERNAME\.aws\config` en Windows. Este archivo contiene las opciones de configuración del perfil predeterminado y de los perfiles con nombre.

Almacenar las claves de acceso como variables de entorno es un requisito previo para [Step-by-step tutorial para conectarse a Amazon Keyspaces mediante el controlador DataStax Java 4.x para Apache Cassandra y el complemento de autenticación SigV4](using_java_driver.md#java_tutorial.SigV4). Tenga en cuenta que esto incluye el valor predeterminado Región de AWS. El cliente busca las credenciales utilizando la cadena de proveedores de credenciales predeterminada y las claves de acceso almacenadas como variables de entorno tienen prioridad sobre todas las demás ubicaciones, por ejemplo, los archivos de configuración. Para obtener más información, consulte [Ajustes de configuración y precedencia](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-precedence).

En los siguientes ejemplos se muestra cómo se pueden configurar las variables de entorno para el usuario predeterminado.

------
#### [ Linux, macOS, or Unix ]

```
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of security token>
$ export AWS_DEFAULT_REGION=us-east-1
```

La configuración de la variable de entorno cambia el valor usado hasta el final de su sesión del intérprete de comandos o hasta que otorgue a la variable un valor diferente. Puede hacer que las variables persistan en sesiones futuras configurándolas en el script de startup del intérprete de comandos.

------
#### [ Windows Command Prompt ]

```
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE
C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\> setx AWS_SESSION_TOKEN AQoDYXdzEJr...<remainder of security token>
C:\> setx AWS_DEFAULT_REGION us-east-1
```

El uso de `[set](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` para configurar una variable de entorno cambia el valor usado hasta que finalice la sesión de símbolo de sistema actual o hasta que otorgue a la variable un valor diferente. El uso de [https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx) para establecer una variable de entorno cambia el valor usado en la sesión de símbolo del sistema actual y en todas las sesiones de símbolo del sistema que cree después de ejecutar el comando. La operación ***no*** afecta a otros comandos del shell que ya se están ejecutando en el momento de ejecutar el comando.

------
#### [ PowerShell ]

```
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
PS C:\> $Env:AWS_SESSION_TOKEN="AQoDYXdzEJr...<remainder of security token>"
PS C:\> $Env:AWS_DEFAULT_REGION="us-east-1"
```

Si establece una variable de entorno en la PowerShell línea de comandos, como se muestra en los ejemplos anteriores, guardará el valor solo durante la sesión actual. Para que la configuración de la variable de entorno sea persistente en todas las sesiones PowerShell y en las de Command Prompt, guárdela mediante la aplicación **Sistema del** **Panel de control**. Como alternativa, puede configurar la variable para todas las PowerShell sesiones futuras añadiéndola a su PowerShell perfil. Consulte la [PowerShell documentación](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_environment_variables) para obtener más información sobre cómo almacenar variables de entorno o cómo conservarlas en todas las sesiones.

------

# Puntos de conexión de servicio para Amazon Keyspaces
<a name="programmatic.endpoints"></a>

**Topics**
+ [Puertos y protocolos](#ports)
+ [Puntos de enlace globales](#global_endpoints)
+ [AWS GovCloud (US) Region Puntos finales FIPS](#fips_endpoints)
+ [Puntos de conexión de regiones de China](#china_endpoints)
+ [Puntos de enlace de Streams](#streams_endpoints)
+ [Conexión a puntos finales de doble pila](dualstack_endpoints.md)

## Puertos y protocolos
<a name="ports"></a>

Puede acceder a Amazon Keyspaces mediante programación ejecutando un `cqlsh` cliente, con un controlador Cassandra con licencia de Apache 2.0 o utilizando el SDK. AWS CLI AWS 

En la tabla siguiente se muestran los puertos y protocolos para los distintos mecanismos de acceso.


| Acceso programático | Puerto | Protocolo | 
| --- | --- | --- | 
| CQLSH | 9.142 | TLS | 
| Controlador de Cassandra | 9142 | TLS | 
| AWS CLI | 443 | HTTPS | 
| AWS SDK | 443 | HTTPS | 

 Para las conexiones TLS, Amazon Keyspaces utiliza certificados emitidos por Amazon Trust Services (Amazon CAs Root 1—4) para autenticarse en el servidor. Para obtener más información, consulte [Configuración manual de conexiones de `cqlsh` para TLS](programmatic.cqlsh.md#encrypt_using_tls) o la sección [Antes de comenzar](using_java_driver.md#using_java_driver.BeforeYouBegin) de su controlador en el capítulo [Uso de un controlador de cliente de Cassandra para acceder a Amazon Keyspaces mediante programación](programmatic.drivers.md).

## Puntos de enlace globales
<a name="global_endpoints"></a>

 Amazon Keyspaces es compatible tanto con puntos de conexión públicos como con puntos IPv4 de conexión IPv6 públicos. Puede elegir entre puntos de enlace y IPv4 puntos de enlace de doble pila. Los puntos finales utilizan la siguiente convención de nomenclatura, que se puede sustituir *us-east-1* por otra que esté disponible Región de AWS en la tabla.
+ **IPv4 puntos finales —** `cassandra.us-east-1.amazonaws.com`
+ **puntos finales de doble pila**: `cassandra.us-east-1.api.aws`

Para obtener más información sobre los puntos finales de doble pila y cómo configurar las conexiones, consulte. [Conexión a puntos finales de doble pila](dualstack_endpoints.md)

Amazon Keyspaces está disponible en las siguientes regiones. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/keyspaces/latest/devguide/programmatic.endpoints.html)

## AWS GovCloud (US) Region Puntos finales FIPS
<a name="fips_endpoints"></a>

Puntos de conexión FIPS disponibles en la AWS GovCloud (US) Region. Amazon Keyspaces es compatible con ambos puntos de enlace IPv4 y con IPv6 FIPS. Puede elegir entre puntos de enlace y IPv4 puntos de enlace de doble pila. Para obtener más información, consulte [Amazon Keyspaces en la *Guía del usuario de AWS GovCloud (US) *](https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-keyspaces.html).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/keyspaces/latest/devguide/programmatic.endpoints.html)

## Puntos de conexión de regiones de China
<a name="china_endpoints"></a>

Amazon Keyspaces admite IPv4 puntos de enlace en las regiones de China AWS . 

Para acceder a estos puntos de enlace, debe suscribirse a un conjunto independiente de credenciales de cuenta exclusivo para las regiones de China. Para obtener más información, consulte [Registro, cuentas y credenciales en China](https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html). 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/keyspaces/latest/devguide/programmatic.endpoints.html)

## Puntos de enlace de Streams
<a name="streams_endpoints"></a>

Amazon Keyspaces CDC streams está disponible de la siguiente Regiones de AWS manera. En esta tabla se muestran los puntos finales de servicio de doble pila disponibles para cada región. Para obtener más información al respecto Amazon Keyspaces CDC streams, consulte[Cómo acceder a los puntos de enlace de transmisión de los CDC en Amazon Keyspaces](CDC_access-endpoints.md).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/keyspaces/latest/devguide/programmatic.endpoints.html)

# Conexión a puntos finales de doble pila
<a name="dualstack_endpoints"></a>

Los puntos de enlace globales de Amazon Keyspaces son puntos de enlace de doble pila que aceptan y solicitan. IPv4 IPv6 

Al conectarse a Amazon Keyspaces mediante IPv6, el servicio adapta automáticamente las respuestas de la tabla del sistema para que coincidan con su protocolo de conexión. Esto garantiza que sus aplicaciones reciban información coherente sobre las direcciones de red que coincidan con su tipo de conexión. Esto proporciona al cliente información precisa sobre la topología de la red y, al mismo tiempo, mantiene la compatibilidad con versiones anteriores de las aplicaciones CQL existentes.

Amazon Keyspaces detecta automáticamente el protocolo de red (IPv4 o IPv6) utilizado por la conexión de su cliente y ajusta las respuestas de la tabla del sistema en consecuencia. Esta detección se produce de forma transparente durante el protocolo de conexión inicial y no requiere ninguna configuración adicional por parte de la aplicación cliente.

Amazon Keyspaces devuelve las direcciones IP en función del protocolo de conexión. Por ejemplo, una solicitud de una IPv4 red devuelve la siguiente respuesta.

```
SELECT * FROM system.peers;
-- Returns IPv4 addresses in peer column
-- Example: 172.31.1.1, 172.31.1.2, etc.
```

Una conexión desde una IPv6 red a un punto final de doble pila, por ejemplo`cassandra.us-east-1.api.aws`, devuelve la siguiente respuesta.

```
SELECT * FROM system.peers;
-- Returns IPv6 addresses in peer column
-- Example: 2001:db8::1, 2001:db8::2, etc.
```

Para obtener más información sobre el IPv6 soporte en Amazon Keyspaces, consulte. [IPv6 soporte en Amazon Keyspaces](ipv6-support.md)

# IPv6 soporte en Amazon Keyspaces
<a name="ipv6-support"></a>

IPv6 el soporte de Amazon Keyspaces permite a las aplicaciones establecer conexiones mediante el Protocolo de Internet versión 6, el protocolo de Internet de próxima generación que proporciona un espacio de direcciones enormemente ampliado en comparación con. IPv4 La implementación utiliza puntos finales de doble pila que admiten ambos IPv4 y IPv6 simultáneamente, lo que garantiza la compatibilidad con versiones anteriores y, al mismo tiempo, permite una conectividad preparada para el futuro. Para obtener una lista de puntos de enlace , consulte [Puntos de enlace globales](programmatic.endpoints.md#global_endpoints).

Amazon Keyspaces implementa el IPv6 soporte a través de una arquitectura de doble pila que mantiene una total compatibilidad con versiones anteriores y, al mismo tiempo, permite la conectividad. IPv6 

## Resolución de DNS en Amazon Keyspaces
<a name="dns-resolution"></a>

Cuando las aplicaciones se conectan a puntos finales de doble pila, el proceso de resolución de DNS devuelve ambos tipos de direcciones:

Registros A () IPv4  
 IPv4 Direcciones tradicionales para compatibilidad con versiones anteriores

Registros AAAA () IPv6  
Nuevas IPv6 direcciones para una conectividad moderna

El sistema operativo y la pila de redes del cliente seleccionan automáticamente el protocolo más adecuado en función de la configuración local, la disponibilidad de la red y las preferencias del sistema.

El protocolo Cassandra Query Language (CQL) admite sin problemas la IPv6 conectividad sin necesidad de cambiar el código de la aplicación.

Selección automática de protocolos  
+ Las aplicaciones especifican el punto final de doble pila
+ La pila de red elige IPv4 o IPv6 se basa en la disponibilidad
+ No es necesario modificar el código para las aplicaciones de CQL existentes

Compatibilidad de controladores  
+ Todos los principales controladores CQL son compatibles IPv6 de forma transparente
+ DataStax los controladores gestionan IPv6 las direcciones de forma nativa
+ Los controladores de código abierto funcionan sin modificaciones

Coherencia de conexión  
+ Las tablas del sistema reflejan el protocolo de conexión utilizado
+ IPv6 las conexiones muestran IPv6 las direcciones en `system.peers`
+ IPv4 las conexiones siguen mostrando IPv4 direcciones

# Uso de `cqlsh` para conectarse a Amazon Keyspaces
<a name="programmatic.cqlsh"></a>

Para conectarse a Amazon Keyspaces con `cqlsh`, puede utilizar la `cqlsh-expansion`. Se trata de un conjunto de herramientas que contiene herramientas comunes de Apache Cassandra como `cqlsh` y asistentes preconfigurados para Amazon Keyspaces que mantienen una compatibilidad total con Apache Cassandra. La `cqlsh-expansion` integra el complemento de autenticación SigV4 y le permite conectarse utilizando claves de acceso de IAM en lugar de nombre de usuario y contraseña. Solo necesita instalar los scripts de `cqlsh` para realizar una conexión y no la distribución completa de Apache Cassandra, dado que Amazon Keyspaces funciona sin servidor. Este paquete de instalación ligero incluye la `cqlsh-expansion` y los scripts clásicos de `cqlsh` que puede instalar en cualquier plataforma que admita Python.

**nota**  
`Murmur3Partitioner` es el particionador recomendado para Amazon Keyspaces y la `cqlsh-expansion`. La `cqlsh-expansion` no es compatible con el `DefaultPartitioner` de Amazon Keyspaces. Para obtener más información, consulte [Uso de particionadores en Amazon Keyspaces](working-with-partitioners.md).

Para obtener información general sobre `cqlsh`, consulte [`cqlsh`: el intérprete de comandos CQL](https://cassandra.apache.org/doc/latest/cassandra/managing/tools/cqlsh.html).

**Topics**
+ [Uso de la `cqlsh-expansion` para conectarse a Amazon Keyspaces](#using_cqlsh)
+ [Configuración manual de conexiones de `cqlsh` para TLS](#encrypt_using_tls)

## Uso de la `cqlsh-expansion` para conectarse a Amazon Keyspaces
<a name="using_cqlsh"></a>

**Instalación y configuración de la `cqlsh-expansion`**

1. Para instalar el paquete `cqlsh-expansion` para Python, puede ejecutar un comando `pip`. Este instala los scripts de `cqlsh-expansion` en su máquina utilizando un *pip install* junto con un archivo que contiene una lista de dependencias. La `--user flag` le dice a `pip` que utilice el directorio de instalación del usuario de Python para su plataforma. En un sistema basado en Unix, ese debe ser el directorio `~/.local/`.

   Necesita Python 3 para instalar la `cqlsh-expansion`; si quiere averiguar cuál es su versión de Python, utilice `Python --version`. Para la instalación, puede ejecutar el siguiente comando.

   ```
   python3 -m pip install --user cqlsh-expansion
   ```

   La salida debería ser similar a la siguiente.

   ```
   Collecting cqlsh-expansion
     Downloading cqlsh_expansion-0.9.6-py3-none-any.whl (153 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 153.7/153.7 KB 3.3 MB/s eta 0:00:00
   Collecting cassandra-driver
     Downloading cassandra_driver-3.28.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.1 MB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.1/19.1 MB 44.5 MB/s eta 0:00:00
   Requirement already satisfied: six>=1.12.0 in /usr/lib/python3/dist-packages (from cqlsh-expansion) (1.16.0)
   Collecting boto3
     Downloading boto3-1.29.2-py3-none-any.whl (135 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.8/135.8 KB 17.2 MB/s eta 0:00:00
   Collecting cassandra-sigv4>=4.0.2
     Downloading cassandra_sigv4-4.0.2-py2.py3-none-any.whl (9.8 kB)
   Collecting botocore<1.33.0,>=1.32.2
     Downloading botocore-1.32.2-py3-none-any.whl (11.4 MB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.4/11.4 MB 60.9 MB/s eta 0:00:00
   Collecting s3transfer<0.8.0,>=0.7.0
     Downloading s3transfer-0.7.0-py3-none-any.whl (79 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.8/79.8 KB 13.1 MB/s eta 0:00:00
   Collecting jmespath<2.0.0,>=0.7.1
     Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)
   Collecting geomet<0.3,>=0.1
     Downloading geomet-0.2.1.post1-py3-none-any.whl (18 kB)
   Collecting python-dateutil<3.0.0,>=2.1
     Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 KB 33.1 MB/s eta 0:00:00
   Requirement already satisfied: urllib3<2.1,>=1.25.4 in /usr/lib/python3/dist-packages (from botocore<1.33.0,>=1.32.2->boto3->cqlsh-expansion) (1.26.5)
   Requirement already satisfied: click in /usr/lib/python3/dist-packages (from geomet<0.3,>=0.1->cassandra-driver->cqlsh-expansion) (8.0.3)
   Installing collected packages: python-dateutil, jmespath, geomet, cassandra-driver, botocore, s3transfer, boto3, cassandra-sigv4, cqlsh-expansion
     WARNING: The script geomet is installed in '/home/ubuntu/.local/bin' which is not on PATH.
     Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
     WARNING: The scripts cqlsh, cqlsh-expansion and cqlsh-expansion.init are installed in '/home/ubuntu/.local/bin' which is not on PATH.
     Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
   Successfully installed boto3-1.29.2 botocore-1.32.2 cassandra-driver-3.28.0 cassandra-sigv4-4.0.2 cqlsh-expansion-0.9.6 geomet-0.2.1.post1 jmespath-1.0.1 python-dateutil-2.8.2 s3transfer-0.7.0
   ```

   Si el directorio de instalación no está en la `PATH`, debe agregarlo siguiendo las instrucciones de su sistema operativo. A continuación se muestra un ejemplo para Ubuntu Linux.

   ```
   export PATH="$PATH:/home/ubuntu/.local/bin"
   ```

   Para confirmar que el paquete esté instalado, puede ejecutar el siguiente comando.

   ```
   cqlsh-expansion --version
   ```

   La salida debería tener este aspecto.

   ```
   cqlsh 6.1.0
   ```

1. Para configurar la `cqlsh-expansion`, puede ejecutar un script post-instalación para completar automáticamente los siguientes pasos:

   1. Cree el directorio `.cassandra` en el directorio de inicio del usuario si aún no existe.

   1. Copie un archivo de configuración `cqlshrc` preconfigurado en el directorio `.cassandra`.

   1. Copie el archivo de certificado combinado en el `.cassandra` directorio. Amazon Keyspaces utiliza este certificado para configurar la conexión segura con Seguridad de la capa de transporte (TLS). El cifrado en tránsito proporciona una capa adicional de protección de datos al cifrar sus datos mientras viajan hacia y desde Amazon Keyspaces. Para obtener más información sobre los certificados, consulte[Configuración manual de conexiones de `cqlsh` para TLS](#encrypt_using_tls).

   Para revisar antes el script, puede acceder al mismo en el repositorio de Github en [https://github.com/aws-samples/amazon-keyspaces-toolkit/blob/master/cqlsh-expansion/cqlsh_expansion/post_install.py](https://github.com/aws-samples/amazon-keyspaces-toolkit/blob/master/cqlsh-expansion/cqlsh_expansion/post_install.py).

   Para utilizar el script, puede ejecutar el siguiente comando. 

   ```
   cqlsh-expansion.init
   ```
**nota**  
El directorio y el archivo creados por el script post-instalación no se eliminan al desinstalar la `cqlsh-expansion` utilizando `pip uninstall` por lo que se tienen que eliminar manualmente.

**Conexión a Amazon Keyspaces mediante la `cqlsh-expansion`**

1. Configure su variable de entorno de usuario Región de AWS y agréguela como variable de entorno de usuario.

   Para añadir su región predeterminada como variable de entorno en un sistema basado en Unix, puede ejecutar el siguiente comando. Para este ejemplo, utilizamos`us-east-1`.

   ```
   export AWS_DEFAULT_REGION=us-east-1
   ```

   Para obtener más información sobre cómo establecer variables de entorno, incluso para otras plataformas, consulte [Establecimiento de variables de entorno](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-set).

1. Encuentre el punto de conexión de servicio.

   Elija el punto de conexión de servicio apropiado para su región. Para revisar los puntos de conexión disponibles para Amazon Keyspaces, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md). En este ejemplo, utilizamos el punto de conexión `cassandra.us-east-1.amazonaws.com`.

1. Configure el método de autenticación.

   Para mejorar la seguridad, el método recomendado es conectarse con claves de acceso de IAM (usuarios, roles e identidades federadas de IAM). 

   Para poder conectarse con claves de acceso de IAM, debe completar los siguientes pasos:

   1. Cree un usuario de IAM, u observe la práctica recomendada y cree un rol de IAM que los usuarios de IAM puedan asumir. Para obtener más información sobre cómo crear claves de acceso de IAM, consulte [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md).

   1. Cree una política de IAM que conceda al rol (o usuario de IAM) al menos acceso de solo lectura a Amazon Keyspaces. Para obtener más información sobre los permisos necesarios para que el usuario o rol de IAM se conecten a Amazon Keyspaces, consulte [Acceso a las tablas de Amazon Keyspaces](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-access-one-table).

   1. Añada las claves de acceso del usuario de IAM a las variables de entorno del usuario como se muestra en el siguiente ejemplo.

      ```
      export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
      export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
      ```

      Para obtener más información sobre cómo establecer variables de entorno, incluso para otras plataformas, consulte [Establecimiento de variables de entorno](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-set).
**nota**  
Si se conecta desde una instancia de Amazon EC2, también debe configurar una regla de salida en el grupo de seguridad que permita el tráfico desde la instancia hasta Amazon Keyspaces. Para obtener más información sobre cómo ver y editar las reglas de salida de EC2, consulte [Adición de reglas a un grupo de seguridad en la Guía del usuario de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule).

1. Conéctese a Amazon Keyspaces utilizando la `cqlsh-expansion` y la autenticación SigV4.

   Para conectarse a Amazon Keyspaces con la `cqlsh-expansion`, puede utilizar el siguiente comando. Asegúrese de sustituir el punto de conexión de servicio por el punto de conexión correcto para su región.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

   Si la conexión tiene éxito, debería ver una salida similar a la del siguiente ejemplo.

   ```
   Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142
   [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
   Use HELP for help.
   cqlsh current consistency level is ONE.
   cqlsh>
   ```

   Si encuentra algún error, consulte [No puedo conectarme a Amazon Keyspaces con cqlsh](troubleshooting.connecting.md#troubleshooting.connection.cqlsh) para ver información de solución de problemas.
   + Conéctese a Amazon Keyspaces con credenciales específicas del servicio.

     Para conectarse con la combinación tradicional de nombre de usuario y contraseña que Cassandra utiliza para autenticación, primero debe crear credenciales específicas del servicio para Amazon Keyspaces como se describe en [Creación de credenciales específicas del servicio para el acceso programático a Amazon Keyspaces](programmatic.credentials.ssc.md). También tiene que dar a ese usuario permisos para acceder a Amazon Keyspaces. Para obtener más información, consulte [Acceso a las tablas de Amazon Keyspaces](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-access-one-table). 

     Una vez creadas las credenciales específicas del servicio y los permisos para el usuario, debe actualizar el archivo `cqlshrc`, que suele encontrarse en la ruta del directorio de usuario `~/.cassandra/`. En el archivo `cqlshrc`, vaya a la sección `[authentication]` de Cassandra y comente el módulo SigV4 y la clase bajo `[auth_provider]` utilizando el carácter ";", como se muestra en el siguiente ejemplo. 

     ```
     [auth_provider]
     
     ; module = cassandra_sigv4.auth
     
     ; classname = SigV4AuthProvider
     ```

     Una vez actualizado el archivo `cqlshrc`, puede conectarse a Amazon Keyspaces con las credenciales específicas del servicio mediante el siguiente comando.

     ```
     cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 -u myUserName -p myPassword --ssl
     ```

**Limpieza**
+ Para eliminar el paquete de `cqlsh-expansion`, puede utilizar el comando `pip uninstall`.

  ```
  pip3 uninstall cqlsh-expansion
  ```

  El comando `pip3 uninstall` no elimina el directorio ni los archivos relacionados creados por el script post-instalación. Para eliminar el directorio y los archivos creados por el script post-instalación, puede eliminar el directorio `.cassandra`.

## Configuración manual de conexiones de `cqlsh` para TLS
<a name="encrypt_using_tls"></a>

Amazon Keyspaces solo acepta conexiones seguras utilizando Seguridad de la capa de transporte (TLS). Puede usar la `cqlsh-expansion` utilidad que descarga automáticamente los certificados e instala un archivo de `cqlshrc` configuración preconfigurado. Para obtener más información, consulte [Uso de la `cqlsh-expansion` para conectarse a Amazon Keyspaces](#using_cqlsh) en esta página. 

Si desea descargar los certificados y configurar la conexión manualmente, puede hacerlo siguiendo estos pasos. 

1.  Descargue los siguientes certificados digitales y guarde los archivos de forma local o en su directorio principal.

   1. AmazonRootCA1

   1. AmazonRootCA2

   1. AmazonRootCA3

   1. AmazonRootCA4

   1. Starfield Class 2 Root (opcional, para compatibilidad con versiones anteriores)

   Para descargar los certificados, puede usar los siguientes comandos.

   ```
   curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
   curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
   curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
   curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
   curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
   ```
**nota**  
Anteriormente, Amazon Keyspaces utilizaba certificados TLS anclados a la CA de clase 2 de Starfield. AWS está migrando todo Regiones de AWS a certificados emitidos bajo Amazon Trust Services (Amazon Root CAs 1—4). Durante esta transición, configure los clientes para que confíen tanto en la raíz CAs 1—4 de Amazon como en la raíz de Starfield para garantizar la compatibilidad en todas las regiones.

1. Combine todos los certificados descargados en un único `pem` archivo con el nombre de nuestros *keyspaces-bundle.pem* ejemplos. Puede hacerlo ejecutando el siguiente comando : Tome nota de la ruta al archivo, la necesitará más adelante.

   ```
   cat AmazonRootCA1.pem \
    AmazonRootCA2.pem \
    AmazonRootCA3.pem \
    AmazonRootCA4.pem \
    sf-class2-root.crt \
    > keyspaces-bundle.pem
   ```

1. Abra el archivo de configuración `cqlshrc` en el directorio de inicio de Cassandra, por ejemplo `${HOME}/.cassandra/cqlshrc`, y añada las siguientes líneas.

   ```
   [connection]
   port = 9142
   factory = cqlshlib.ssl.ssl_transport_factory
   
   [ssl]
   validate = true
   certfile =  path_to_file/keyspaces-bundle.pem
   ```

# Uso de AWS CLI para conectarse a Amazon Keyspaces
<a name="access.cli"></a>

 Puede usar el AWS Command Line Interface (AWS CLI) para controlar varios AWS servicios desde la línea de comandos y automatizarlos mediante scripts. Con Amazon Keyspaces, puede utilizarlos AWS CLI para operaciones de lenguaje de definición de datos (DDL), como la creación de una tabla. Además, puede utilizar servicios y herramientas de infraestructura como código (IaC), como AWS CloudFormation Terraform.

Antes de poder utilizarlos AWS CLI con Amazon Keyspaces, debe obtener un identificador de clave de acceso y una clave de acceso secreta. Para obtener más información, consulte [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md).

Para obtener una lista completa de todos los comandos disponibles para Amazon Keyspaces en AWS CLI, consulte la Referencia de [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/keyspaces/index.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/keyspaces/index.html). 

**Topics**
+ [Descargar y configurar el AWS CLI](#access.cli.installcli)
+ [Uso de AWS CLI con Amazon Keyspaces](#access.cli.usingcli)

## Descargar y configurar el AWS CLI
<a name="access.cli.installcli"></a>

 AWS CLI Está disponible en[https://aws.amazon.com/cli](https://aws.amazon.com/cli). Se ejecuta en Windows, macOS o Linux. Tras descargarlo AWS CLI, siga estos pasos para instalarlo y configurarlo:

1. Vaya a la [Guía del usuario de AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html).

1. Siga las instrucciones indicadas en [Instalación de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) y en [Configuración de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)

## Uso de AWS CLI con Amazon Keyspaces
<a name="access.cli.usingcli"></a>

El formato de la línea de comandos consiste en un nombre de operación de Amazon Keyspaces seguido de los parámetros para dicha operación. AWS CLI Admite una sintaxis abreviada para los valores de los parámetros, así como JSON. Los siguientes ejemplos de Amazon Keyspaces utilizan una sintaxis AWS CLI abreviada. Para obtener más información, consulte [Uso de la sintaxis abreviada con la CLI AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-shorthand.html).

El siguiente comando crea un espacio de claves con el nombre *catalog*.

```
aws keyspaces create-keyspace --keyspace-name 'catalog'
```

El comando devuelve el nombre de recurso de Amazon (ARN) en la salida.

```
{
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/"
}
```

Para confirmar que el espacio de claves *catalog* existe, puede utilizar el siguiente comando.

```
aws keyspaces get-keyspace --keyspace-name 'catalog'
```

La salida del comando devuelve los siguientes valores.

```
{
    "keyspaceName": "catalog",
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/"
}
```

El siguiente comando crea una tabla con el nombre *book\$1awards*. La clave de partición de la tabla está formada por las columnas `year` y `award` y la clave de agrupación está formada por las columnas `category` y `rank`; ambas columnas de agrupación utilizan el orden de clasificación ascendente. Para facilitar la legibilidad, los comandos largos de esta sección se dividen en líneas separadas.

```
aws keyspaces create-table --keyspace-name 'catalog' --table-name 'book_awards' 
            --schema-definition 'allColumns=[{name=year,type=int},{name=award,type=text},{name=rank,type=int},
            {name=category,type=text}, {name=author,type=text},{name=book_title,type=text},{name=publisher,type=text}],
            partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]'
```

Este comando da como resultado la siguiente salida.

```
{
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards"
}
```

Para confirmar los metadatos y las propiedades de la tabla, puede utilizar el siguiente comando.

```
aws keyspaces get-table --keyspace-name 'catalog' --table-name 'book_awards'
```

Este comando devuelve la siguiente salida.

```
{
    "keyspaceName": "catalog",
    "tableName": "book_awards",
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards",
    "creationTimestamp": 1645564368.628,
    "status": "ACTIVE",
    "schemaDefinition": {
        "allColumns": [
            {
                "name": "year",
                "type": "int"
            },
            {
                "name": "award",
                "type": "text"
            },
            {
                "name": "category",
                "type": "text"
            },
            {
                "name": "rank",
                "type": "int"
            },
            {
                "name": "author",
                "type": "text"
            },
            {
                "name": "book_title",
                "type": "text"
            },
            {
                "name": "publisher",
                "type": "text"
            }
        ],
        "partitionKeys": [
            {
                "name": "year"
            },
            {
                "name": "award"
            }
        ],
        "clusteringKeys": [
            {
                "name": "category",
                "orderBy": "ASC"
            },
            {
                "name": "rank",
                "orderBy": "ASC"
            }
        ],
        "staticColumns": []
    },
    "capacitySpecification": {
        "throughputMode": "PAY_PER_REQUEST",
        "lastUpdateToPayPerRequestTimestamp": 1645564368.628
    },
    "encryptionSpecification": {
        "type": "AWS_OWNED_KMS_KEY"
    },
    "pointInTimeRecovery": {
        "status": "DISABLED"
    },
    "ttl": {
        "status": "ENABLED"
    },
    "defaultTimeToLive": 0,
    "comment": {
        "message": ""
    }
}
```

Al crear tablas con esquemas complejos, puede resultar útil cargar la definición del esquema de la tabla desde un archivo JSON. A continuación se muestra un ejemplo. Descargue el archivo JSON de ejemplo de definición de esquema de [schema\$1definition.zip](samples/schema_definition.zip) y extraiga `schema_definition.json`, tomando nota de la ruta de acceso al archivo. En este ejemplo, el archivo JSON de definición del esquema se encuentra en el directorio actual. Para conocer las distintas opciones de ruta del archivo, consulte [Carga de parámetros desde un archivo](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html#cli-usage-parameters-file-how).

```
aws keyspaces create-table --keyspace-name 'catalog' 
            --table-name 'book_awards' --schema-definition 'file://schema_definition.json'
```

En los siguientes ejemplos se muestra cómo crear una tabla simple con el nombre *myTable* con opciones adicionales. Tenga en cuenta que los comandos están divididos en filas separadas para mejorar la legibilidad. Este comando muestra la forma de crear una tabla y:
+ establecer el modo de capacidad de la tabla
+ habilite Point-in-time la recuperación de la tabla
+ fijar el valor predeterminado de periodo de vida (TTL) de la tabla en un año
+ añadir dos etiquetas para la tabla

```
aws keyspaces create-table --keyspace-name 'catalog' --table-name 'myTable' 
            --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' 
            --capacity-specification 'throughputMode=PROVISIONED,readCapacityUnits=5,writeCapacityUnits=5' 
            --point-in-time-recovery 'status=ENABLED' 
            --default-time-to-live '31536000' 
            --tags 'key=env,value=test' 'key=dpt,value=sec'
```

En este ejemplo se muestra cómo crear una nueva tabla que utilice una clave administrada por el cliente para el cifrado y tenga habilitado TTL a fin de permitirle establecer fechas de caducidad en columnas y filas. Para ejecutar este ejemplo, debe sustituir el ARN del recurso de la AWS KMS clave gestionada por el cliente por su propia clave y asegurarse de que Amazon Keyspaces tenga acceso a ella.

```
aws keyspaces create-table --keyspace-name 'catalog' --table-name 'myTable' 
            --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' 
            --encryption-specification 'type=CUSTOMER_MANAGED_KMS_KEY,kmsKeyIdentifier=arn:aws:kms:us-east-1:111122223333:key/11111111-2222-3333-4444-555555555555'  
            --ttl 'status=ENABLED'
```

# Uso de la API para conectarse a Amazon Keyspaces
<a name="access.api"></a>

 Puede usar el AWS SDK y AWS Command Line Interface (AWS CLI) para trabajar de forma interactiva con Amazon Keyspaces. Puede utilizar la API para operaciones de lenguaje de definición de datos (DDL), como la de creación de un espacio de claves o una tabla. Además, puede utilizar servicios y herramientas de infraestructura como código (iAC), como AWS CloudFormation Terraform. 

Antes de poder utilizarlos AWS CLI con Amazon Keyspaces, debe obtener un identificador de clave de acceso y una clave de acceso secreta. Para obtener más información, consulte [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md).

Para obtener una lista completa de todas las operaciones disponibles para Amazon Keyspaces en la API, consulte [https://docs.aws.amazon.com/keyspaces/latest/APIReference/Welcome.html](https://docs.aws.amazon.com/keyspaces/latest/APIReference/Welcome.html).

# Uso de un controlador de cliente de Cassandra para acceder a Amazon Keyspaces mediante programación
<a name="programmatic.drivers"></a>

Puede utilizar muchos controladores de Cassandra de terceros y de código abierto para conectarse a Amazon Keyspaces. Amazon Keyspaces es compatible con controladores de Cassandra que admiten Apache Cassandra versión 3.11.2. Estos son los controladores y las versiones más recientes que hemos probado y que recomendamos usar con Amazon Keyspaces: 
+ `Java v3.3`
+ `Java v4.17`
+ `Python Cassandra-driver 3.29.1`
+ `Node.js cassandra driver -v 4.7.2`
+ `GO using GOCQL v1.6`
+ `.NET CassandraCSharpDriver -v 3.20.1`

Para obtener más información sobre los controladores de Cassandra, consulte [Controladores de cliente de Apache Cassandra](http://cassandra.apache.org/doc/latest/getting_started/drivers.html). 

**nota**  
Para ayudarle a empezar, puede ver y descargar ejemplos de end-to-end código que establecen conexiones con Amazon Keyspaces con controladores populares. Consulte los [ejemplos de Amazon Keyspaces](https://github.com/aws-samples/amazon-keyspaces-examples) en. GitHub

Los tutoriales de este capítulo incluyen una sencilla consulta CQL para confirmar que la conexión con Amazon Keyspaces se ha establecido correctamente. Para obtener información sobre cómo trabajar con espacios de claves y tablas después de conectarse a un punto de conexión de Amazon Keyspaces, consulte [Referencia del lenguaje CQL para Amazon Keyspaces (para Apache Cassandra)](cql.md). Para ver un step-by-step tutorial que muestra cómo conectarse a Amazon Keyspaces desde un punto de enlace de Amazon VPC, consulte. [Tutorial: Conéctese a Amazon Keyspaces mediante un punto de enlace de VPC de interfaz](vpc-endpoints-tutorial.md) 

**Topics**
+ [Uso de un controlador de cliente Java de Cassandra para acceder mediante programación a Amazon Keyspaces](using_java_driver.md)
+ [Uso de un controlador de cliente Python para Cassandra para acceder mediante programación a Amazon Keyspaces](using_python_driver.md)
+ [Uso de un controlador de cliente Node.js para Cassandra para acceder mediante programación a Amazon Keyspaces](using_nodejs_driver.md)
+ [Uso de un controlador de cliente .NET Core para Cassandra para acceder a Amazon Keyspaces mediante programación](using_dotnetcore_driver.md)
+ [Uso de un controlador de cliente Go para Cassandra para acceder a Amazon Keyspaces mediante programación](using_go_driver.md)
+ [Uso de un controlador de cliente Perl para Cassandra para acceder a Amazon Keyspaces mediante programación](using_perl_driver.md)

# Uso de un controlador de cliente Java de Cassandra para acceder mediante programación a Amazon Keyspaces
<a name="using_java_driver"></a>

En esta sección le mostramos cómo conectarse a Amazon Keyspaces mediante un controlador de cliente Java.

**nota**  
Actualmente, Java 17 y el controlador DataStax Java 4.17 solo son compatibles con la versión beta. Para obtener más información, consulte [https://docs.datastax.com/en/developer/java-driver/4.17/upgrade_guide/](https://docs.datastax.com/en/developer/java-driver/4.17/upgrade_guide/).

Para proporcionar a los usuarios y a las aplicaciones credenciales de acceso programático a los recursos de Amazon Keyspaces, puede realizar cualquiera de las siguientes acciones:
+ Crear credenciales específicas del servicio que se vinculen a un usuario de AWS Identity and Access Management (IAM) específico.
+ Para mejorar la seguridad, se recomienda crear claves de acceso de IAM para las identidades de IAM que se utilizan en todos los servicios. AWS El complemento de autenticación SigV4 de Amazon Keyspaces para controladores de cliente de Cassandra habilita la autenticación de llamadas a Amazon Keyspaces utilizando claves de acceso de IAM en vez de nombre de usuario y contraseña. Para obtener más información, consulte [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md).

**nota**  
Para ver un ejemplo de cómo utilizar Amazon Keyspaces con Spring Boot, consulte [https://github.com/aws-samples/amazon-keyspaces-examples/tree/main/java/datastax-v4/spring](https://github.com/aws-samples/amazon-keyspaces-examples/tree/main/java/datastax-v4/spring).

**Topics**
+ [Antes de empezar](#using_java_driver.BeforeYouBegin)
+ [Step-by-step tutorial para conectarse a Amazon Keyspaces mediante el controlador DataStax Java para Apache Cassandra con credenciales específicas del servicio](#java_tutorial)
+ [Step-by-step tutorial para conectarse a Amazon Keyspaces mediante el controlador DataStax Java 4.x para Apache Cassandra y el complemento de autenticación SigV4](#java_tutorial.SigV4)
+ [Conéctese a Amazon Keyspaces mediante el controlador DataStax Java 3.x para Apache Cassandra y el complemento de autenticación SigV4](#java3x_tutorial.SigV4)

## Antes de empezar
<a name="using_java_driver.BeforeYouBegin"></a>

Para conectarse a Amazon Keyspaces, debe completar las siguientes tareas antes de poder comenzar.

1. Amazon Keyspaces requiere el uso de Seguridad de la capa de transporte (TLS) para ayudar a proteger las conexiones con los clientes. 

   1.  Descargue los siguientes certificados digitales y guarde los archivos de forma local o en su directorio principal.

      1. AmazonRootCA1

      1. AmazonRootCA2

      1. AmazonRootCA3

      1. AmazonRootCA4

      1. Starfield Class 2 Root (opcional, para compatibilidad con versiones anteriores)

      Para descargar los certificados, puede usar los siguientes comandos.

      ```
      curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
      curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
      curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
      curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
      curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
      ```
**nota**  
Anteriormente, Amazon Keyspaces utilizaba certificados TLS anclados a la CA de clase 2 de Starfield. AWS está migrando todo Regiones de AWS a certificados emitidos bajo Amazon Trust Services (Amazon Root CAs 1—4). Durante esta transición, configure los clientes para que confíen tanto en la raíz CAs 1—4 de Amazon como en la raíz de Starfield para garantizar la compatibilidad en todas las regiones.

   1. Convierta los certificados digitales en archivos TrustStore y agréguelos al almacén de claves.

      ```
      openssl x509 -outform der -in AmazonRootCA1.pem -out temp_file.der
      keytool -import -alias amazon-root-ca-1 -keystore cassandra_truststore.jks -file temp_file.der
      
      openssl x509 -outform der -in AmazonRootCA2.pem -out temp_file.der
      keytool -import -alias amazon-root-ca-2 -keystore cassandra_truststore.jks -file temp_file.der
      
      openssl x509 -outform der -in AmazonRootCA3.pem -out temp_file.der
      keytool -import -alias amazon-root-ca-3 -keystore cassandra_truststore.jks -file temp_file.der
      
      openssl x509 -outform der -in AmazonRootCA4.pem -out temp_file.der
      keytool -import -alias amazon-root-ca-4 -keystore cassandra_truststore.jks -file temp_file.der
                   
      openssl x509 -outform der -in sf-class2-root.crt -out temp_file.der
      keytool -import -alias cassandra -keystore cassandra_truststore.jks -file temp_file.der
      ```

      En el último paso, debe crear una contraseña para el almacén de claves y confiar en cada certificado. El comando interactivo tiene el siguiente aspecto.

      ```
      Enter keystore password:  
      Re-enter new password: 
      Owner: CN=Amazon Root CA 1, O=Amazon, C=US
      Issuer: CN=Amazon Root CA 1, O=Amazon, C=US
      Serial number: 66c9fcf99bf8c0a39e2f0788a43e696365bca
      Valid from: Tue May 26 00:00:00 UTC 2015 until: Sun Jan 17 00:00:00 UTC 2038
      Certificate fingerprints:
           SHA1: 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16
           SHA256: 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E
      Signature algorithm name: SHA256withRSA
      Subject Public Key Algorithm: 2048-bit RSA key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.19 Criticality=true
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #2: ObjectId: 2.5.29.15 Criticality=true
      KeyUsage [
        DigitalSignature
        Key_CertSign
        Crl_Sign
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: 84 18 CC 85 34 EC BC 0C   94 94 2E 08 59 9C C7 B2  ....4.......Y...
      0010: 10 4E 0A 08                                        .N..
      ]
      ]
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      Enter keystore password:  
      Owner: CN=Amazon Root CA 2, O=Amazon, C=US
      Issuer: CN=Amazon Root CA 2, O=Amazon, C=US
      Serial number: 66c9fd29635869f0a0fe58678f85b26bb8a37
      Valid from: Tue May 26 00:00:00 UTC 2015 until: Sat May 26 00:00:00 UTC 2040
      Certificate fingerprints:
           SHA1: 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A
           SHA256: 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4
      Signature algorithm name: SHA384withRSA
      Subject Public Key Algorithm: 4096-bit RSA key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.19 Criticality=true
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #2: ObjectId: 2.5.29.15 Criticality=true
      KeyUsage [
        DigitalSignature
        Key_CertSign
        Crl_Sign
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: B0 0C F0 4C 30 F4 05 58   02 48 FD 33 E5 52 AF 4B  ...L0..X.H.3.R.K
      0010: 84 E3 66 52                                        ..fR
      ]
      ]
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      Enter keystore password:  
      Owner: CN=Amazon Root CA 3, O=Amazon, C=US
      Issuer: CN=Amazon Root CA 3, O=Amazon, C=US
      Serial number: 66c9fd5749736663f3b0b9ad9e89e7603f24a
      Valid from: Tue May 26 00:00:00 UTC 2015 until: Sat May 26 00:00:00 UTC 2040
      Certificate fingerprints:
           SHA1: 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E
           SHA256: 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4
      Signature algorithm name: SHA256withECDSA
      Subject Public Key Algorithm: 256-bit EC (secp256r1) key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.19 Criticality=true
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #2: ObjectId: 2.5.29.15 Criticality=true
      KeyUsage [
        DigitalSignature
        Key_CertSign
        Crl_Sign
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: AB B6 DB D7 06 9E 37 AC   30 86 07 91 70 C7 9C C4  ......7.0...p...
      0010: 19 B1 78 C0                                        ..x.
      ]
      ]
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      Enter keystore password:  
      Owner: CN=Amazon Root CA 4, O=Amazon, C=US
      Issuer: CN=Amazon Root CA 4, O=Amazon, C=US
      Serial number: 66c9fd7c1bb104c2943e5717b7b2cc81ac10e
      Valid from: Tue May 26 00:00:00 UTC 2015 until: Sat May 26 00:00:00 UTC 2040
      Certificate fingerprints:
           SHA1: F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE
           SHA256: E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92
      Signature algorithm name: SHA384withECDSA
      Subject Public Key Algorithm: 384-bit EC (secp384r1) key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.19 Criticality=true
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #2: ObjectId: 2.5.29.15 Criticality=true
      KeyUsage [
        DigitalSignature
        Key_CertSign
        Crl_Sign
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: D3 EC C7 3A 65 6E CC E1   DA 76 9A 56 FB 9C F3 86  ...:en...v.V....
      0010: 6D 57 E5 81                                        mW..
      ]
      ]
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      Enter keystore password:  
      Owner: OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US
      Issuer: OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US
      Serial number: 0
      Valid from: Tue Jun 29 17:39:16 UTC 2004 until: Thu Jun 29 17:39:16 UTC 2034
      Certificate fingerprints:
           SHA1: AD:7E:1C:28:B0:64:EF:8F:60:03:40:20:14:C3:D0:E3:37:0E:B5:8A
           SHA256: 14:65:FA:20:53:97:B8:76:FA:A6:F0:A9:95:8E:55:90:E4:0F:CC:7F:AA:4F:B7:C2:C8:67:75:21:FB:5F:B6:58
      Signature algorithm name: SHA1withRSA (weak)
      Subject Public Key Algorithm: 2048-bit RSA key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.35 Criticality=false
      AuthorityKeyIdentifier [
      KeyIdentifier [
      0000: BF 5F B7 D1 CE DD 1F 86   F4 5B 55 AC DC D7 10 C2  ._.......[U.....
      0010: 0E A9 88 E7                                        ....
      ]
      [OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US]
      SerialNumber: [    00]
      ]
      
      #2: ObjectId: 2.5.29.19 Criticality=false
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: BF 5F B7 D1 CE DD 1F 86   F4 5B 55 AC DC D7 10 C2  ._.......[U.....
      0010: 0E A9 88 E7                                        ....
      ]
      ]
      
      
      Warning:
      The input uses the SHA1withRSA signature algorithm which is considered a security risk. This algorithm will be disabled in a future update.
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      ```

1.  Adjunte el archivo trustStore en los argumentos de la JVM: 

   ```
   -Djavax.net.ssl.trustStore=path_to_file/cassandra_truststore.jks 
   -Djavax.net.ssl.trustStorePassword=my_password
   ```

## Step-by-step tutorial para conectarse a Amazon Keyspaces mediante el controlador DataStax Java para Apache Cassandra con credenciales específicas del servicio
<a name="java_tutorial"></a>

En el siguiente step-by-step tutorial, se explica cómo conectarse a Amazon Keyspaces mediante un controlador Java para Cassandra con credenciales específicas del servicio. En concreto, utilizará la versión 4.0 del controlador de DataStax Java para Apache Cassandra. 

**Topics**
+ [Paso 1: requisitos previos](#java_tutorial.prereq)
+ [Paso 2: configurar el controlador](#java_tutorial.driverconfiguration)
+ [Paso 3: ejecutar el ejemplo de aplicación](#java_tutorial.application)

### Paso 1: requisitos previos
<a name="java_tutorial.prereq"></a>

Para seguir este tutorial, debe generar credenciales específicas del servicio y añadir el controlador DataStax Java para Apache Cassandra a su proyecto de Java.
+ Genere credenciales específicas del servicio para su usuario de IAM de Amazon Keyspaces; para ello, siga los pasos que se indican en [Creación de credenciales específicas del servicio para el acceso programático a Amazon Keyspaces](programmatic.credentials.ssc.md). Si prefiere utilizar claves de acceso de IAM para la autenticación, consulte [Step-by-step tutorial para conectarse a Amazon Keyspaces mediante el controlador DataStax Java 4.x para Apache Cassandra y el complemento de autenticación SigV4](#java_tutorial.SigV4).
+ Añada el controlador de DataStax Java para Apache Cassandra a su proyecto de Java. Asegúrese de estar utilizando una versión de controlador compatible con Apache Cassandra 3.11.2. Para obtener más información, consulte la documentación del [controlador DataStax Java para Apache Cassandra](https://github.com/datastax/java-driver).

### Paso 2: configurar el controlador
<a name="java_tutorial.driverconfiguration"></a>

Puede especificar los ajustes del controlador DataStax Java Cassandra creando un archivo de configuración para su aplicación. Este archivo de configuración anula los ajustes predeterminados e indica al controlador que se conecte al punto de conexión del servicio de Amazon Keyspaces a través del puerto 9142. Para obtener una lista de los puntos de conexión de servicio disponibles, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md).

Cree un archivo de configuración y guárdelo en la carpeta de recursos de la aplicación; por ejemplo, `src/main/resources/application.conf`. Abra `application.conf` y añada los siguientes ajustes de configuración.

1. **Proveedor de autenticación**: cree el proveedor de autenticación con la `PlainTextAuthProvider` clase. *ServiceUserName*y *ServicePassword* deben coincidir con el nombre de usuario y la contraseña que obtuvo al generar las credenciales específicas del servicio siguiendo los pasos que se indican en. [Creación de credenciales específicas del servicio para el acceso programático a Amazon Keyspaces](programmatic.credentials.ssc.md)
**nota**  
Puede usar credenciales de corta duración mediante el complemento de autenticación del controlador DataStax Java para Apache Cassandra en lugar de codificar las credenciales en el archivo de configuración del controlador. Para obtener más información, siga las instrucciones de [Step-by-step tutorial para conectarse a Amazon Keyspaces mediante el controlador DataStax Java 4.x para Apache Cassandra y el complemento de autenticación SigV4](#java_tutorial.SigV4).

1. **Centro de datos local**: establezca el valor de `local-datacenter` a la región a la que se conecte. Por ejemplo, si la aplicación se conecta a `cassandra.us-east-2.amazonaws.com`, entonces establezca el centro de datos local en `us-east-2`. Para conocer todas las Regiones de AWS disponibles, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md). Establezca `slow-replica-avoidance = false` para equilibrar la carga con menos nodos.

1. **SSL/TLS**: para inicializar la configuración de SSLEngine fábrica, añada una sección en el archivo de configuración con una sola línea que especifique la clase con la que se especifica. `class = DefaultSslEngineFactory` Proporcione la ruta al archivo trustStore y la contraseña que creó anteriormente. Amazon Keyspaces no admite `hostname-validation` de pares, por lo que debe establecer esta opción en false.

```
datastax-java-driver {

    basic.contact-points = [ "cassandra.us-east-2.amazonaws.com:9142"]
    advanced.auth-provider{
        class = PlainTextAuthProvider
        username = "ServiceUserName"
        password = "ServicePassword"
    }
    basic.load-balancing-policy {
        local-datacenter = "us-east-2"
        slow-replica-avoidance = false           
    }

    advanced.ssl-engine-factory {
        class = DefaultSslEngineFactory
        truststore-path = "./src/main/resources/cassandra_truststore.jks"
        truststore-password = "my_password"
        hostname-validation = false
      }
}
```

**nota**  
En vez de añadir la ruta al trustStore en el archivo de configuración, también puede añadir la ruta al trustStore directamente en el código de la aplicación o a sus argumentos de la JVM.

### Paso 3: ejecutar el ejemplo de aplicación
<a name="java_tutorial.application"></a>

Este ejemplo de código muestra una sencilla aplicación de línea de comandos que crea un grupo de conexión a Amazon Keyspaces utilizando el archivo de configuración se ha creado anteriormente. Confirma que se ha establecido la conexión ejecutando una consulta sencilla.

```
package <your package>;
// add the following imports to your project
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
import com.datastax.oss.driver.api.core.cql.ResultSet;
import com.datastax.oss.driver.api.core.cql.Row;

public class App 
{
    
    public static void main( String[] args )
    {
        //Use DriverConfigLoader to load your configuration file
        DriverConfigLoader loader = DriverConfigLoader.fromClasspath("application.conf");
        try (CqlSession session = CqlSession.builder()
                .withConfigLoader(loader)
                .build()) {

            ResultSet rs = session.execute("select * from system_schema.keyspaces");
            Row row = rs.one();
            System.out.println(row.getString("keyspace_name"));
        }
    }
}
```

**nota**  
Utilice un bloque `try` para establecer la conexión a fin de garantizar que siempre esté cerrada. Si no utilizas un bloque `try`, recuerde cerrar su conexión para evitar fugas de recursos.

## Step-by-step tutorial para conectarse a Amazon Keyspaces mediante el controlador DataStax Java 4.x para Apache Cassandra y el complemento de autenticación SigV4
<a name="java_tutorial.SigV4"></a>

En la siguiente sección se describe cómo utilizar el complemento de autenticación SigV4 para el controlador DataStax Java 4.x de código abierto para Apache Cassandra a fin de acceder a Amazon Keyspaces (para Apache Cassandra). [El complemento está disponible en el repositorio. GitHub](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin)

El complemento de autenticación SigV4 le permite utilizar credenciales de IAM para usuarios o roles al conectarse a Amazon Keyspaces. En vez de requerir un nombre de usuario y una contraseña, este complemento firma las solicitudes de la API utilizando claves de acceso. Para obtener más información, consulte [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md). 

### Paso 1: requisitos previos
<a name="java_tutorial.SigV4.1"></a>

Para seguir este tutorial, necesita completar las siguientes tareas.
+ Si aún no lo ha hecho, cree credenciales para su usuario o rol de IAM; para ello, siga los pasos que se indican en [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md). En este tutorial se asume que las claves de acceso se almacenan como variables de entorno. Para obtener más información, consulte [Almacenamiento de claves de acceso para el acceso programático](aws.credentials.manage.md).
+ Añada el controlador DataStax Java para Apache Cassandra a su proyecto Java. Asegúrese de estar utilizando una versión de controlador compatible con Apache Cassandra 3.11.2. Para obtener más información, consulte la documentación del [controlador DataStax Java para Apache Cassandra](https://github.com/datastax/java-driver).
+ Añada el complemento de autenticación a su aplicación. El complemento de autenticación es compatible con la versión 4.x del controlador DataStax Java para Apache Cassandra. Si utiliza Apache Maven, o un sistema de compilación que pueda utilizar dependencias de Maven, añada las siguientes dependencias a su archivo `pom.xml`.
**importante**  
[Sustituya la versión del complemento por la versión más reciente, tal y como se muestra en GitHub el repositorio.](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin#add-the-authentication-plugin-to-the-application)

  ```
  <dependency>
          <groupId>software.aws.mcs</groupId>
          <artifactId>aws-sigv4-auth-cassandra-java-driver-plugin</artifactId>
          <version>4.0.9</version>
  </dependency>
  ```

### Paso 2: configurar el controlador
<a name="java_tutorial.SigV4.2"></a>

Puede especificar los ajustes del controlador DataStax Java Cassandra creando un archivo de configuración para su aplicación. Este archivo de configuración anula los ajustes predeterminados e indica al controlador que se conecte al punto de conexión del servicio de Amazon Keyspaces a través del puerto 9142. Para obtener una lista de los puntos de conexión de servicio disponibles, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md).

Cree un archivo de configuración y guárdelo en la carpeta de recursos de la aplicación; por ejemplo, `src/main/resources/application.conf`. Abra `application.conf` y añada los siguientes ajustes de configuración.

1. **Proveedor de autenticación**: establezca la `advanced.auth-provider.class` a una nueva instancia de `software.aws.mcs.auth.SigV4AuthProvider`. El SigV4 AuthProvider es el controlador de autenticación que proporciona el complemento para realizar la autenticación SigV4. 

1. **Centro de datos local**: establezca el valor de `local-datacenter` a la región a la que se conecte. Por ejemplo, si la aplicación se conecta a `cassandra.us-east-2.amazonaws.com`, entonces establezca el centro de datos local en `us-east-2`. Para ver todos los disponibles Regiones de AWS, consulte. [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md) Configure `slow-replica-avoidance = false` para equilibrar la carga con respecto a todos los nodos disponibles.

1. **Idempotencia**: establezca el valor predeterminado de la aplicación `idempotence` para configurar el controlador para que siempre vuelva `true` a intentar las solicitudes fallidas. read/write/prepare/execute Esta es una práctica recomendada para las aplicaciones distribuidas que ayuda a administrar los errores transitorios reintentando las solicitudes fallidas.

1. **SSL/TLS**: para inicializar la configuración de SSLEngine fábrica, añada una sección en el archivo de configuración con una sola línea que especifique la clase con la que se especifica. `class = DefaultSslEngineFactory` Proporcione la ruta al archivo trustStore y la contraseña que creó anteriormente. Amazon Keyspaces no admite `hostname-validation` de pares, por lo que debe establecer esta opción en false.

1. **Conexiones**: cree al menos 3 conexiones locales por punto de conexión configurándolo en `local.size = 3`. Esta es una práctica recomendada que ayuda a su aplicación a administrar las sobrecargas y las ráfagas de tráfico. Para obtener más información sobre cómo calcular el número de conexiones locales por punto de conexión que necesita su aplicación en función de los patrones de tráfico esperados, consulte [Configuración de conexiones en Amazon Keyspaces](connections.md#connections.howtoconfigure).

1. **Política de reintentos**: implementa la política de reintentos de Amazon Keyspaces `AmazonKeyspacesExponentialRetryPolicy` en lugar de la política `DefaultRetryPolicy` que viene con el controlador de Cassandra. Esto le permite configurar el número de reintentos para la política `AmazonKeyspacesExponentialRetryPolicy` que mejor se adapte a sus necesidades. De forma predeterminada, el número de reintentos para la `AmazonKeyspacesExponentialRetryPolicy` está establecido en 3. Para obtener más información, consulte [Configuración de la política de reintentos para las conexiones en Amazon Keyspaces](connections.md#connections.retry-policies).

1. **Instrucciones preparadas**: configure `prepare-on-all-nodes` como false para optimizar el uso de la red.

```
datastax-java-driver {
    basic {
        contact-points = [ "cassandra.us-east-2.amazonaws.com:9142"]  
        request {
            timeout = 2 seconds
            consistency = LOCAL_QUORUM
            page-size = 1024
            default-idempotence = true
        }
        load-balancing-policy {
            local-datacenter = "us-east-2"
            class = DefaultLoadBalancingPolicy
            slow-replica-avoidance = false           
        }
    }
    advanced {
        auth-provider {
            class = software.aws.mcs.auth.SigV4AuthProvider
            aws-region = us-east-2
        }
        ssl-engine-factory {
            class = DefaultSslEngineFactory
            truststore-path = "./src/main/resources/cassandra_truststore.jks"
            truststore-password = "my_password"
            hostname-validation = false
        }
        connection {
	     connect-timeout = 5 seconds
	     max-requests-per-connection = 512
	     pool {
                local.size = 3
	     }
        }
       retry-policy {
           class =  com.aws.ssa.keyspaces.retry.AmazonKeyspacesExponentialRetryPolicy
	    max-attempts = 3
	    min-wait = 10 mills
	    max-wait = 100 mills
       }
       prepared-statements {
	    prepare-on-all-nodes = false
       }
    }
}
```

**nota**  
En vez de añadir la ruta al trustStore en el archivo de configuración, también puede añadir la ruta al trustStore directamente en el código de la aplicación o a sus argumentos de la JVM.

### Paso 3: Ejecute la aplicación
<a name="java_tutorial.SigV4.3"></a>

Este ejemplo de código muestra una sencilla aplicación de línea de comandos que crea un grupo de conexión a Amazon Keyspaces utilizando el archivo de configuración se ha creado anteriormente. Confirma que se ha establecido la conexión ejecutando una consulta sencilla.

```
package <your package>;
// add the following imports to your project
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
import com.datastax.oss.driver.api.core.cql.ResultSet;
import com.datastax.oss.driver.api.core.cql.Row;

public class App 
{
    
    public static void main( String[] args )
    {
        //Use DriverConfigLoader to load your configuration file
        DriverConfigLoader loader = DriverConfigLoader.fromClasspath("application.conf");
        try (CqlSession session = CqlSession.builder()
                .withConfigLoader(loader)
                .build()) {

            ResultSet rs = session.execute("select * from system_schema.keyspaces");
            Row row = rs.one();
            System.out.println(row.getString("keyspace_name"));
        }
    }
}
```

**nota**  
Utilice un bloque `try` para establecer la conexión a fin de garantizar que siempre esté cerrada. Si no utilizas un bloque `try`, recuerde cerrar su conexión para evitar fugas de recursos.

## Conéctese a Amazon Keyspaces mediante el controlador DataStax Java 3.x para Apache Cassandra y el complemento de autenticación SigV4
<a name="java3x_tutorial.SigV4"></a>

En la siguiente sección, se describe cómo utilizar el complemento de autenticación SigV4 para el controlador DataStax Java 3.x de código abierto para que Apache Cassandra acceda a Amazon Keyspaces. [El complemento está disponible en el repositorio. GitHub ](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin/tree/3.x-Driver-Compatible)

El complemento de autenticación SigV4 le permite utilizar credenciales de IAM para usuarios o roles al conectarse a Amazon Keyspaces. En vez de requerir un nombre de usuario y una contraseña, este complemento firma las solicitudes de la API utilizando claves de acceso. Para obtener más información, consulte [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md). 

### Paso 1: requisitos previos
<a name="java3x_tutorial.SigV4.1"></a>

Para ejecutar este código de ejemplo, primero debe completar las siguientes tareas.
+ Cree credenciales para su usuario o rol de IAM; para ello, siga los pasos indicados en [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md). En este tutorial se asume que las claves de acceso se almacenan como variables de entorno. Para obtener más información, consulte [Almacenamiento de claves de acceso para el acceso programático](aws.credentials.manage.md).
+ Siga los pasos que se indican [Antes de empezar](#using_java_driver.BeforeYouBegin) para descargar los certificados digitales, convertirlos en archivos TrustStore y adjuntar el almacén de claves de los argumentos de la JVM a su aplicación.
+ Añada el controlador DataStax Java para Apache Cassandra a su proyecto Java. Asegúrese de estar utilizando una versión de controlador compatible con Apache Cassandra 3.11.2. Para obtener más información, consulte la documentación del [controlador DataStax Java para Apache Cassandra](https://github.com/datastax/java-driver).
+ Añada el complemento de autenticación a su aplicación. El complemento de autenticación es compatible con la versión 3.x del controlador DataStax Java para Apache Cassandra. Si utiliza Apache Maven, o un sistema de compilación que pueda utilizar dependencias de Maven, añada las siguientes dependencias a su archivo `pom.xml`. [Sustituya la versión del complemento por la versión más reciente, tal y como se muestra en GitHub el repositorio.](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin/tree/3.x-Driver-Compatible)

  ```
  <dependency>
          <groupId>software.aws.mcs</groupId>
          <artifactId>aws-sigv4-auth-cassandra-java-driver-plugin_3</artifactId>
          <version>3.0.3</version>
  </dependency>
  ```

### Paso 2: ejecute la aplicación
<a name="java3x_tutorial.SigV4.3"></a>

Este ejemplo de código muestra una sencilla aplicación de línea de comandos que crea un grupo de conexiones a Amazon Keyspaces. Confirma que se ha establecido la conexión ejecutando una consulta sencilla.

```
package <your package>;
// add the following imports to your project

import software.aws.mcs.auth.SigV4AuthProvider;  
import com.datastax.driver.core.Cluster;  
import com.datastax.driver.core.ResultSet;  
import com.datastax.driver.core.Row;  
import com.datastax.driver.core.Session;

public class App 
{
    
    public static void main( String[] args )
    {
        String endPoint = "cassandra.us-east-2.amazonaws.com";  
        int portNumber = 9142;
        Session session = Cluster.builder()  
	                                 .addContactPoint(endPoint)  
	                                 .withPort(portNumber)  
	                                 .withAuthProvider(new SigV4AuthProvider("us-east-2"))  
	                                 .withSSL()  
	                                 .build()  
	                                 .connect();

        ResultSet rs = session.execute("select * from system_schema.keyspaces");  
        Row row = rs.one();  
        System.out.println(row.getString("keyspace_name"));
    }
}
```

Notas de uso:

Para obtener una lista de los puntos de conexión disponibles, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md).

Consulte el siguiente repositorio para obtener políticas, ejemplos y prácticas recomendadas útiles al utilizar el controlador Java con Amazon Keyspaces: [https://github.com/aws-samples/amazon-keyspaces-java-driver-helpers](https://github.com/aws-samples/amazon-keyspaces-java-driver-helpers). 

# Uso de un controlador de cliente Python para Cassandra para acceder mediante programación a Amazon Keyspaces
<a name="using_python_driver"></a>

 En esta sección, le mostramos cómo conectarse a Amazon Keyspaces utilizando un controlador de cliente Python. Para proporcionar a los usuarios y a las aplicaciones credenciales de acceso programático a los recursos de Amazon Keyspaces, puede realizar cualquiera de las siguientes acciones:
+ Crear credenciales específicas del servicio que se vinculen a un usuario de AWS Identity and Access Management (IAM) específico.
+ Para mejorar la seguridad, recomendamos crear claves de acceso de IAM para los usuarios o roles de IAM que se utilicen en todos los AWS servicios. El complemento de autenticación SigV4 de Amazon Keyspaces para controladores de cliente de Cassandra habilita la autenticación de llamadas a Amazon Keyspaces utilizando claves de acceso de IAM en vez de nombre de usuario y contraseña. Para obtener más información, consulte [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md).

**Topics**
+ [Antes de empezar](#using_python_driver.BeforeYouBegin)
+ [Conexión a Amazon Keyspaces mediante el controlador Python para Apache Cassandra y credenciales específicas del servicio](#python_ssc)
+ [Conéctese a Amazon Keyspaces mediante el controlador de DataStax Python para Apache Cassandra y el complemento de autenticación SigV4](#python_SigV4)

## Antes de empezar
<a name="using_python_driver.BeforeYouBegin"></a>

Debe completar la siguiente tarea antes de comenzar.

Amazon Keyspaces requiere el uso de Seguridad de la capa de transporte (TLS) para ayudar a proteger las conexiones con los clientes. Para conectarse a Amazon Keyspaces mediante TLS, debe descargar los certificados digitales de Amazon y configurar el controlador de Python para que utilice TLS. 

 Descargue los siguientes certificados digitales y guarde los archivos de forma local o en su directorio principal.

1. AmazonRootCA1

1. AmazonRootCA2

1. AmazonRootCA3

1. AmazonRootCA4

1. Starfield Class 2 Root (opcional, para compatibilidad con versiones anteriores)

Para descargar los certificados, puede usar los siguientes comandos.

```
curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
```

**nota**  
Anteriormente, Amazon Keyspaces utilizaba certificados TLS anclados a la CA de clase 2 de Starfield. AWS está migrando todo Regiones de AWS a certificados emitidos bajo Amazon Trust Services (Amazon Root CAs 1—4). Durante esta transición, configure los clientes para que confíen tanto en la raíz CAs 1—4 de Amazon como en la raíz de Starfield para garantizar la compatibilidad en todas las regiones.

Combine todos los certificados descargados en un único `pem` archivo con el nombre de nuestros *keyspaces-bundle.pem* ejemplos. Puede hacerlo ejecutando el siguiente comando : Tome nota de la ruta al archivo, la necesitará más adelante.

```
cat AmazonRootCA1.pem \
 AmazonRootCA2.pem \
 AmazonRootCA3.pem \
 AmazonRootCA4.pem \
 sf-class2-root.crt \
 > keyspaces-bundle.pem
```

## Conexión a Amazon Keyspaces mediante el controlador Python para Apache Cassandra y credenciales específicas del servicio
<a name="python_ssc"></a>

En el siguiente ejemplo de código se muestra cómo conectarse a Amazon Keyspaces con un controlador de cliente Python y credenciales específicas del servicio.

```
from cassandra.cluster import Cluster
from ssl import SSLContext, PROTOCOL_TLSv1_2 , CERT_REQUIRED
from cassandra.auth import PlainTextAuthProvider

ssl_context = SSLContext(PROTOCOL_TLSv1_2 )

ssl_context.load_verify_locations('path_to_file/keyspaces-bundle.pem')

ssl_context.verify_mode = CERT_REQUIRED
auth_provider = PlainTextAuthProvider(username='ServiceUserName', password='ServicePassword')
cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider, port=9142)
session = cluster.connect()
r = session.execute('select * from system_schema.keyspaces')
print(r.current_rows)
```

Notas de uso:

1. `"path_to_file/keyspaces-bundle.pem"`Sustitúyala por la ruta al archivo de certificado combinado guardado en el primer paso.

1. Asegúrese de que el nombre de usuario *ServiceUserName* y la contraseña que obtuvo al generar las credenciales específicas del servicio *ServicePassword* coinciden. Para ello, siga los pasos que se indican a continuación. [Creación de credenciales específicas del servicio para el acceso programático a Amazon Keyspaces](programmatic.credentials.ssc.md) 

1. Para obtener una lista de los puntos de conexión disponibles, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md).

## Conéctese a Amazon Keyspaces mediante el controlador de DataStax Python para Apache Cassandra y el complemento de autenticación SigV4
<a name="python_SigV4"></a>

En la siguiente sección, se muestra cómo utilizar el complemento de autenticación SigV4 para que el controlador DataStax Python de código abierto para Apache Cassandra acceda a Amazon Keyspaces (para Apache Cassandra). 

Si aún no lo ha hecho, empiece creando las credenciales del rol de IAM; para ello, siga los pasos que se indican en [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md). En este tutorial se utilizan credenciales temporales que requieren un rol de IAM. Para obtener más información sobre credenciales temporales, consulte [Creación de credenciales temporales para conectarse a Amazon Keyspaces mediante un rol de IAM y el complemento SigV4](temporary.credentials.IAM.md).

A continuación, añada el complemento de autenticación SigV4 de Python a su entorno desde el [GitHub repositorio](https://github.com/aws/aws-sigv4-auth-cassandra-python-driver-plugin).

```
pip install cassandra-sigv4
```

El siguiente ejemplo de código muestra cómo conectarse a Amazon Keyspaces mediante el controlador DataStax Python de código abierto para Cassandra y el complemento de autenticación SigV4. El plugin depende del AWS SDK para Python (Boto3). Utiliza `boto3.session` para obtener credenciales temporales. 

```
from cassandra.cluster import Cluster
from ssl import SSLContext, PROTOCOL_TLSv1_2 , CERT_REQUIRED
from cassandra.auth import PlainTextAuthProvider
import boto3
from cassandra_sigv4.auth import SigV4AuthProvider

ssl_context = SSLContext(PROTOCOL_TLSv1_2)
ssl_context.load_verify_locations('path_to_file/keyspaces-bundle.pem')
ssl_context.verify_mode = CERT_REQUIRED

# use this if you want to use Boto to set the session parameters.
boto_session = boto3.Session(aws_access_key_id="AKIAIOSFODNN7EXAMPLE",
                             aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
                             aws_session_token="AQoDYXdzEJr...<remainder of token>",
                             region_name="us-east-2")
auth_provider = SigV4AuthProvider(boto_session)

# Use this instead of the above line if you want to use the Default Credentials and not bother with a session.
# auth_provider = SigV4AuthProvider()

cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider,
                  port=9142)
session = cluster.connect()
r = session.execute('select * from system_schema.keyspaces')
print(r.current_rows)
```

Notas de uso:

1. Sustituya `"path_to_file/keyspaces-bundle.pem"` por la ruta al certificado guardado en el primer paso.

1. Asegúrate de que *aws\$1access\$1key\$1id**aws\$1secret\$1access\$1key*, y el *aws\$1session\$1token* coincidan con `Access Key``Secret Access Key`, y `Session Token` que obtuviste usando. `boto3.session` Para obtener más información, consulte la sección sobre [credenciales](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html) en la *AWS SDK para Python (Boto3)*. 

1. Para obtener una lista de los puntos de conexión disponibles, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md).

# Uso de un controlador de cliente Node.js para Cassandra para acceder mediante programación a Amazon Keyspaces
<a name="using_nodejs_driver"></a>

 En esta sección le mostramos cómo conectarse a Amazon Keyspaces mediante un controlador de cliente Node.js. Para proporcionar a los usuarios y a las aplicaciones credenciales de acceso programático a los recursos de Amazon Keyspaces, puede realizar cualquiera de las siguientes acciones:
+ Crear credenciales específicas del servicio que se vinculen a un usuario de AWS Identity and Access Management (IAM) específico.
+ Para mejorar la seguridad, se recomienda crear claves de acceso de IAM para los usuarios o roles de IAM que se utilicen en todos los AWS servicios. El complemento de autenticación SigV4 de Amazon Keyspaces para controladores de cliente de Cassandra habilita la autenticación de llamadas a Amazon Keyspaces utilizando claves de acceso de IAM en vez de nombre de usuario y contraseña. Para obtener más información, consulte [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md).

**Topics**
+ [Antes de empezar](#using_nodejs_driver.BeforeYouBegin)
+ [Conéctese a Amazon Keyspaces mediante el DataStax controlador Node.js para Apache Cassandra y credenciales específicas del servicio](#nodejs_ssc)
+ [Conéctese a Amazon Keyspaces mediante el controlador DataStax Node.js para Apache Cassandra y el complemento de autenticación SigV4](#nodejs_SigV4)

## Antes de empezar
<a name="using_nodejs_driver.BeforeYouBegin"></a>

Debe completar la siguiente tarea antes de comenzar.

Amazon Keyspaces requiere el uso de Seguridad de la capa de transporte (TLS) para ayudar a proteger las conexiones con los clientes. Para conectarse a Amazon Keyspaces mediante TLS, necesita descargar un certificado digital de Amazon y configurar el controlador Python para utilizar TLS. 

 Descargue los siguientes certificados digitales y guarde los archivos de forma local o en su directorio principal.

1. AmazonRootCA1

1. AmazonRootCA2

1. AmazonRootCA3

1. AmazonRootCA4

1. Starfield Class 2 Root (opcional, para compatibilidad con versiones anteriores)

Para descargar los certificados, puede usar los siguientes comandos.

```
curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
```

**nota**  
Anteriormente, Amazon Keyspaces utilizaba certificados TLS anclados a la CA de clase 2 de Starfield. AWS está migrando todo Regiones de AWS a certificados emitidos bajo Amazon Trust Services (Amazon Root CAs 1—4). Durante esta transición, configure los clientes para que confíen tanto en la raíz CAs 1—4 de Amazon como en la raíz de Starfield para garantizar la compatibilidad en todas las regiones.

Combine todos los certificados descargados en un único `pem` archivo con el nombre de nuestros *keyspaces-bundle.pem* ejemplos. Puede hacerlo ejecutando el siguiente comando : Tome nota de la ruta al archivo, la necesitará más adelante.

```
cat AmazonRootCA1.pem \
 AmazonRootCA2.pem \
 AmazonRootCA3.pem \
 AmazonRootCA4.pem \
 sf-class2-root.crt \
 > keyspaces-bundle.pem
```

## Conéctese a Amazon Keyspaces mediante el DataStax controlador Node.js para Apache Cassandra y credenciales específicas del servicio
<a name="nodejs_ssc"></a>

 Configure su controlador para que utilice el archivo de certificado combinado `keyspaces-bundle.pem` para TLS y autentique con credenciales específicas del servicio. Por ejemplo: 

```
const cassandra = require('cassandra-driver');
const fs = require('fs');
const auth = new cassandra.auth.PlainTextAuthProvider('ServiceUserName', 'ServicePassword');
const sslOptions1 = {
         ca: [
                    fs.readFileSync('path_to_file/keyspaces-bundle.pem', 'utf-8')],      
                    host: 'cassandra.us-west-2.amazonaws.com',
                    rejectUnauthorized: true
        };
const client = new cassandra.Client({
                   contactPoints: ['cassandra.us-west-2.amazonaws.com'],
                   localDataCenter: 'us-west-2',
                   authProvider: auth,
                   sslOptions: sslOptions1,
                   protocolOptions: { port: 9142 }
        });
const query = 'SELECT * FROM system_schema.keyspaces';
 
client.execute(query)
                    .then( result => console.log('Row from Keyspaces %s', result.rows[0]))
                    .catch( e=> console.log(`${e}`));
```

Notas de uso:

1. `"path_to_file/keyspaces-bundle.pem"`Sustitúyalo por la ruta al archivo de certificado combinado guardado en el primer paso.

1. Asegúrese de que el nombre de usuario *ServiceUserName* y la contraseña que obtuvo al generar las credenciales específicas del servicio *ServicePassword* coinciden. Para ello, siga los pasos que se indican a continuación. [Creación de credenciales específicas del servicio para el acceso programático a Amazon Keyspaces](programmatic.credentials.ssc.md) 

1. Para obtener una lista de los puntos de conexión disponibles, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md).

## Conéctese a Amazon Keyspaces mediante el controlador DataStax Node.js para Apache Cassandra y el complemento de autenticación SigV4
<a name="nodejs_SigV4"></a>

En la siguiente sección, se muestra cómo utilizar el complemento de autenticación SigV4 para que el controlador DataStax Node.js de código abierto de Apache Cassandra acceda a Amazon Keyspaces (para Apache Cassandra). 

Si aún no lo ha hecho, cree credenciales para su usuario o rol de IAM; para ello, siga los pasos que se indican en [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md).

[Agregue el complemento de autenticación SigV4 de Node.js a su aplicación desde el repositorio. GitHub ](https://github.com/aws/aws-sigv4-auth-cassandra-nodejs-driver-plugin) El complemento es compatible con la versión 4.x del controlador DataStax Node.js para Cassandra y depende del AWS SDK para Node.js. Utiliza `AWSCredentialsProvider` para obtener credenciales.

```
$ npm install aws-sigv4-auth-cassandra-plugin --save
```

En este ejemplo de código se muestra cómo configurar una instancia específica de una región de `SigV4AuthProvider` como proveedor de autenticación.

```
const cassandra = require('cassandra-driver');
const fs = require('fs');
const sigV4 = require('aws-sigv4-auth-cassandra-plugin');

const auth = new sigV4.SigV4AuthProvider({
    region: 'us-west-2', 
    accessKeyId:'AKIAIOSFODNN7EXAMPLE',
    secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'});

const sslOptions1 = {
  ca: [
      fs.readFileSync('path_to_file/keyspaces-bundle.pem', 'utf-8')],
  host: 'cassandra.us-west-2.amazonaws.com',
  rejectUnauthorized: true
};


const client = new cassandra.Client({
  contactPoints: ['cassandra.us-west-2.amazonaws.com'],
  localDataCenter: 'us-west-2',
  authProvider: auth,
  sslOptions: sslOptions1,
  protocolOptions: { port: 9142 }
});


const query = 'SELECT * FROM system_schema.keyspaces';

client.execute(query).then(
    result => console.log('Row from Keyspaces %s', result.rows[0]))
    .catch( e=> console.log(`${e}`));
```

Notas de uso:

1. Sustituya `"path_to_file/keyspaces-bundle.pem"` por la ruta al certificado guardado en el primer paso.

1. Asegúrese de que la clave de acceso *accessKeyId* y la clave de acceso secreta *secretAccessKey* coincidan con la clave de acceso secreta que utilizó. `AWSCredentialsProvider` Para obtener más información, consulte [Configuración de credenciales en Node.js](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html) en el *AWS SDK para JavaScript Node.js*. 

1. Para almacenar las claves de acceso fuera del código, consulte las prácticas recomendadas en [Almacenamiento de claves de acceso para el acceso programático](aws.credentials.manage.md).

1. Para obtener una lista de los puntos de conexión disponibles, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md).

# Uso de un controlador de cliente .NET Core para Cassandra para acceder a Amazon Keyspaces mediante programación
<a name="using_dotnetcore_driver"></a>

En esta sección le mostramos cómo conectarse a Amazon Keyspaces mediante un controlador de cliente .NET Core. Los pasos de configuración varían en función de su entorno y del sistema operativo, por lo que es posible que tenga que modificarlos en consecuencia. Amazon Keyspaces requiere el uso de Seguridad de la capa de transporte (TLS) para ayudar a proteger las conexiones con los clientes. Para conectarse a Amazon Keyspaces mediante TLS, configure el controlador para que utilice el almacén de confianza del sistema, que incluye Amazon Root 1-4. CAs

1.  Instale el CSharp controlador Cassandra a través de nuget, utilizando la consola nuget. 

   ```
   PM> Install-Package CassandraCSharpDriver
   ```

1. En el siguiente ejemplo se utiliza un proyecto de consola .NET Core C\$1 para conectarse a Amazon Keyspaces y ejecutar una consulta.

   ```
   using Cassandra;
   using System;
   using System.Collections.Generic;
   using System.Linq;
   using System.Net.Security;
   using System.Runtime.ConstrainedExecution;
   using System.Security.Cryptography.X509Certificates;
   using System.Text;
   using System.Threading.Tasks;
   
   namespace CSharpKeyspacesExample
   {
       class Program
       {
           public Program(){}
   
           static void Main(string[] args)
           {
               var userName = "ServiceUserName";
               var pwd = "ServicePassword";
               certCollection.Add(amazoncert);
    
               var awsEndpoint =  "cassandra.us-east-2.amazonaws.com" ;  
   
               var cluster = Cluster.Builder()
                        .AddContactPoints(awsEndpoint)
                        .WithPort(9142)
                        .WithAuthProvider(new PlainTextAuthProvider(userName, pwd))
                        .WithSSL(new SSLOptions().SetCertificateCollection(certCollection))
                        .Build();
   
               var session = cluster.Connect();
               var rs = session.Execute("SELECT * FROM system_schema.tables;");
               foreach (var row in rs)
               {
                   var name = row.GetValue<String>("keyspace_name");
                   Console.WriteLine(name);
               }
           }
       }
   }
   ```

Notas de uso:

1. Asegúrese de utilizar el almacén de confianza del sistema predeterminado, que incluye Amazon Root CAs 1-4.

1. Asegúrese de que el nombre de usuario *ServiceUserName* y la contraseña que obtuvo al generar las credenciales específicas del servicio *ServicePassword* coinciden. Para ello, siga los pasos que se indican a continuación. [Creación de credenciales específicas del servicio para el acceso programático a Amazon Keyspaces](programmatic.credentials.ssc.md) 

1. Para obtener una lista de los puntos de conexión disponibles, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md).

# Uso de un controlador de cliente Go para Cassandra para acceder a Amazon Keyspaces mediante programación
<a name="using_go_driver"></a>

En esta sección le mostramos cómo conectarse a Amazon Keyspaces mediante un controlador de cliente Go para Cassandra. Para proporcionar a los usuarios y a las aplicaciones credenciales de acceso programático a los recursos de Amazon Keyspaces, puede realizar cualquiera de las siguientes acciones:
+ Crear credenciales específicas del servicio que se vinculen a un usuario de AWS Identity and Access Management (IAM) específico.
+ Para mejorar la seguridad, recomendamos crear claves de acceso de IAM para los directores de IAM que se utilicen en todos los servicios. AWS El complemento de autenticación SigV4 de Amazon Keyspaces para controladores de cliente de Cassandra habilita la autenticación de llamadas a Amazon Keyspaces utilizando claves de acceso de IAM en vez de nombre de usuario y contraseña. Para obtener más información, consulte [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md).

**Topics**
+ [Antes de empezar](#using_go_driver.BeforeYouBegin)
+ [Conexión a Amazon Keyspaces mediante el controlador Gocql para Apache Cassandra y credenciales específicas del servicio](#go_ssc)
+ [Conexión a Amazon Keyspaces mediante el controlador Go para Apache Cassandra y el complemento de autenticación SigV4](#go_SigV4)

## Antes de empezar
<a name="using_go_driver.BeforeYouBegin"></a>

Debe completar la siguiente tarea antes de comenzar.

Amazon Keyspaces requiere el uso de Seguridad de la capa de transporte (TLS) para ayudar a proteger las conexiones con los clientes. Para conectarse a Amazon Keyspaces mediante TLS, necesita descargar un certificado digital de Amazon y configurar el controlador Go para utilizar TLS. 

 Descargue los siguientes certificados digitales y guarde los archivos de forma local o en su directorio principal.

1. AmazonRootCA1

1. AmazonRootCA2

1. AmazonRootCA3

1. AmazonRootCA4

1. Starfield Class 2 Root (opcional, para compatibilidad con versiones anteriores)

Para descargar los certificados, puede usar los siguientes comandos.

```
curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
```

**nota**  
Anteriormente, Amazon Keyspaces utilizaba certificados TLS anclados a la CA de clase 2 de Starfield. AWS está migrando todo Regiones de AWS a certificados emitidos bajo Amazon Trust Services (Amazon Root CAs 1—4). Durante esta transición, configure los clientes para que confíen tanto en la raíz CAs 1—4 de Amazon como en la raíz de Starfield para garantizar la compatibilidad en todas las regiones.

Combine todos los certificados descargados en un único `pem` archivo con el nombre de nuestros *keyspaces-bundle.pem* ejemplos. Puede hacerlo ejecutando el siguiente comando : Tome nota de la ruta al archivo, la necesitará más adelante.

```
cat AmazonRootCA1.pem \
 AmazonRootCA2.pem \
 AmazonRootCA3.pem \
 AmazonRootCA4.pem \
 sf-class2-root.crt \
 > keyspaces-bundle.pem
```

## Conexión a Amazon Keyspaces mediante el controlador Gocql para Apache Cassandra y credenciales específicas del servicio
<a name="go_ssc"></a>

1. Cree un directorio para la aplicación.

   ```
   mkdir ./gocqlexample
   ```

1. Vaya al nuevo directorio.

   ```
   cd gocqlexample
   ```

1. Cree un archivo para su aplicación.

   ```
   touch cqlapp.go
   ```

1. Descargue el controlador Go. 

   ```
   go get github.com/gocql/gocql
   ```

1. Añada el siguiente código de ejemplo al nuevo archivo.

   ```
   package main
   
   import (
   	    "fmt"
   	    "github.com/gocql/gocql"
   	    "log"
   )
   
   func main() {
   
       // add the Amazon Keyspaces service endpoint 
       cluster := gocql.NewCluster("cassandra.us-east-2.amazonaws.com")
       cluster.Port=9142
       // add your service specific credentials
       cluster.Authenticator = gocql.PasswordAuthenticator{
               Username: "ServiceUserName",
               Password: "ServicePassword"}
   
       // provide the path to the keyspaces-bundle.pem
       cluster.SslOpts = &gocql.SslOptions{
               CaPath: "path_to_file/keyspaces-bundle.pem",
               EnableHostVerification: false,            
        }
   
        // Override default Consistency to LocalQuorum
        cluster.Consistency = gocql.LocalQuorum
        cluster.DisableInitialHostLookup = false
   
        session, err := cluster.CreateSession()
        if err != nil {
               fmt.Println("err>", err)
        }
        defer session.Close()
   
        // run a sample query from the system keyspace
        var text string
        iter := session.Query("SELECT keyspace_name FROM system_schema.tables;").Iter()
        for iter.Scan(&text) {
               fmt.Println("keyspace_name:", text)
        }
        if err := iter.Close(); err != nil {
               log.Fatal(err)
        }
        session.Close()
   }
   ```

   Notas de uso:

   1. `"path_to_file/keyspaces-bundle.pem"`Sustitúyala por la ruta al archivo de certificado combinado guardado en el primer paso.

   1. Asegúrese de que el nombre de usuario *ServiceUserName* y la contraseña que obtuvo al generar las credenciales específicas del servicio *ServicePassword* coinciden. Para ello, siga los pasos que se indican a continuación. [Creación de credenciales específicas del servicio para el acceso programático a Amazon Keyspaces](programmatic.credentials.ssc.md) 

   1. Para obtener una lista de los puntos de conexión disponibles, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md).

1. Compile el programa.

   ```
   go build cqlapp.go
   ```

1. Ejecute el programa.

   ```
   ./cqlapp
   ```

## Conexión a Amazon Keyspaces mediante el controlador Go para Apache Cassandra y el complemento de autenticación SigV4
<a name="go_SigV4"></a>

El siguiente ejemplo de código muestra cómo utilizar el complemento de autenticación SigV4 para el controlador Go de código abierto para acceder a Amazon Keyspaces (para Apache Cassandra). 

Si aún no lo ha hecho, cree credenciales para la entidad principal de IAM; para ello, siga los pasos que se indican en [Creación y configuración de AWS credenciales para Amazon Keyspaces](access.credentials.md). Si una aplicación se ejecuta en una instancia de Lambda o Amazon EC2, la aplicación utilizará automáticamente las credenciales de la instancia. Para ejecutar este tutorial de forma local, puede almacenar las credenciales como variables de entorno locales.

[Añada el complemento de autenticación Go SigV4 a su aplicación desde el repositorio. GitHub](https://github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin) El complemento es compatible con la versión 1.2.x del controlador Go de código abierto para Cassandra y depende del SDK de Go AWS .

```
$ go mod init
$ go get github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin
```

En este ejemplo de código, el punto de conexión de Amazon Keyspaces está representado por la clase `Cluster`. Utiliza el `AwsAuthenticator` de la propiedad de autenticador del clúster para obtener las credenciales.

```
package main

import (
        "fmt"
        "github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin/sigv4"
        "github.com/gocql/gocql"
        "log"
)

func main() {
    // configuring the cluster options
    cluster := gocql.NewCluster("cassandra.us-west-2.amazonaws.com")
    cluster.Port=9142
    
    // the authenticator uses the default credential chain to find AWS credentials
    cluster.Authenticator = sigv4.NewAwsAuthenticator()

    cluster.SslOpts = &gocql.SslOptions{

            CaPath: "path_to_file/keyspaces-bundle.pem",
            EnableHostVerification: false,
    }
    cluster.Consistency = gocql.LocalQuorum
    cluster.DisableInitialHostLookup = false
   
    session, err := cluster.CreateSession()
    if err != nil {
	    fmt.Println("err>", err)
	    return
    }
    defer session.Close()

    // doing the query
    var text string
    iter := session.Query("SELECT keyspace_name FROM system_schema.tables;").Iter()
    for iter.Scan(&text) {
	    fmt.Println("keyspace_name:", text)
    }
    if err := iter.Close(); err != nil {
	    log.Fatal(err)
    }
}
```

Notas de uso:

1. `"path_to_file/keyspaces-bundle.pem"`Sustitúyalo por la ruta al archivo de certificado guardado en el primer paso.

1. Para que este ejemplo se ejecute localmente, debe definir las siguientes variables como variables de entorno:
   + `AWS_ACCESS_KEY_ID`
   + `AWS_SECRET_ACCESS_KEY`
   + `AWS_DEFAULT_REGION`

1. Para almacenar las claves de acceso fuera del código, consulte las prácticas recomendadas en [Almacenamiento de claves de acceso para el acceso programático](aws.credentials.manage.md).

1. Para obtener una lista de los puntos de conexión disponibles, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md).

# Uso de un controlador de cliente Perl para Cassandra para acceder a Amazon Keyspaces mediante programación
<a name="using_perl_driver"></a>

En esta sección le mostramos cómo conectarse a Amazon Keyspaces mediante un controlador de cliente Perl. En este ejemplo de código, utilizamos Perl 5. Amazon Keyspaces requiere el uso de Seguridad de la capa de transporte (TLS) para ayudar a proteger las conexiones con los clientes. 

**importante**  
Los certificados de Amazon Keyspaces están pasando a la jerarquía de Amazon Trust Services (ATS). Asegúrese de que su entorno confíe en Amazon Root CAs 1—4 para evitar errores de conexión durante esta rotación. El controlador Perl no valida el certificado SSL de Amazon del servidor, lo que significa que no puede confirmar que se esté conectando a Amazon Keyspaces. El segundo paso, configurar el controlador para que utilice TLS al conectarse a Amazon Keyspaces, sigue siendo necesario y garantiza que los datos transferidos entre el cliente y el servidor estén cifrados. 

1. Descargue el controlador DBI de Cassandra desde [https://metacpan.org/pod/DBD::Cassandra](https://metacpan.org/pod/DBD::Cassandra) e instale el controlador en su entorno Perl. Los pasos exactos dependen del entorno. El siguiente es un ejemplo común.

   ```
   cpanm DBD::Cassandra
   ```

1. Cree un archivo para su aplicación.

   ```
   touch cqlapp.pl
   ```

1. Añada el siguiente código de ejemplo al archivo cqlapp.

   ```
   use DBI;
   my $user = "ServiceUserName";
   my $password = "ServicePassword";
   my $db = DBI->connect("dbi:Cassandra:host=cassandra.us-east-2.amazonaws.com;port=9142;tls=1;", 
   $user, $password);
   
   my $rows = $db->selectall_arrayref("select * from system_schema.keyspaces"); 
   print "Found the following Keyspaces...\n"; 
   for my $row (@$rows) { 
         print join(" ",@$row['keyspace_name']),"\n"; 
   } 
   
   $db->disconnect;
   ```
**importante**  
 Asegúrese de que *ServicePassword* coincidan con el nombre de usuario y la contraseña que obtuvo al generar las credenciales específicas del servicio siguiendo los pasos que se indican a continuación. *ServiceUserName* [Creación de credenciales específicas del servicio para el acceso programático a Amazon Keyspaces](programmatic.credentials.ssc.md) 
**nota**  
Para obtener una lista de los puntos de conexión disponibles, consulte [Puntos de conexión de servicio para Amazon Keyspaces](programmatic.endpoints.md).

1. Ejecute la aplicación .

   ```
   perl cqlapp.pl
   ```

# Configuración del acceso entre cuentas a Amazon Keyspaces con puntos de conexión de VPC
<a name="access.cross-account"></a>

Puede crear y usar recursos separados Cuentas de AWS para aislar y usarlos en diferentes entornos, por ejemplo, desarrollo y producción. En este tema se explica el acceso entre cuentas para Amazon Keyspaces mediante puntos de conexión de VPC de interfaz en una Amazon Virtual Private Cloud. Para obtener más información sobre la configuración del acceso entre cuentas de IAM, consulte [Escenario de ejemplo con cuentas de desarrollo y producción separadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html#id_roles_common-scenarios_aws-accounts-example) en la Guía del usuario de IAM. 

Para obtener más información sobre Amazon Keyspaces y los puntos de conexión de VPC privados, consulte [Uso de Amazon Keyspaces con puntos de conexión de VPC de interfaz](vpc-endpoints.md).

**Topics**
+ [Configuración del acceso entre cuentas en una VPC compartida](access.cross-account.sharedVPC.md)
+ [Configuración del acceso entre cuentas sin una VPC compartida](access.cross-account.noVPC.setup.md)

# Configuración del acceso entre cuentas a Amazon Keyspaces mediante puntos de conexión de VPC en una VPC compartida
<a name="access.cross-account.sharedVPC"></a>

Puede crear diferentes recursos Cuentas de AWS para separarlos de las aplicaciones. Por ejemplo, puede crear una cuenta para sus tablas de Amazon Keyspaces, una cuenta diferente para las aplicaciones en un entorno de desarrollo y otra cuenta para las aplicaciones en un entorno de producción. En este tema se describen los pasos de configuración necesarios para establecer el acceso entre cuentas para Amazon Keyspaces mediante puntos de conexión de VPC de interfaz en una VPC compartida. 

Para obtener información detallada sobre cómo configurar un punto de conexión de VPC para Amazon Keyspaces, consulte [Paso 3: crear un punto de conexión de VPC para Amazon Keyspaces](vpc-endpoints-tutorial.create-endpoint.md).

En este ejemplo se utilizan las tres cuentas siguientes en una VPC compartida:
+ `Account A:111111111111`: esta cuenta contiene la infraestructura, incluyendo los puntos de conexión de VPC, las subredes de VPC y las tablas de Amazon Keyspaces. 
+ `Account B:222222222222`: esta cuenta contiene una aplicación en un entorno de desarrollo que necesita conectarse a la tabla de Amazon Keyspaces en `Account A:111111111111`. 
+ `Account C:333333333333`: esta cuenta contiene una aplicación en un entorno de producción que necesita conectarse a la tabla de Amazon Keyspaces en `Account A:111111111111`.

![\[Diagrama que muestra tres cuentas diferentes propiedad de la misma organización en la misma Región de AWS que utilizan una VPC compartida.\]](http://docs.aws.amazon.com/es_es/keyspaces/latest/devguide/images/keyspaces_cross-account_sharedVPC.png)


`Account A:111111111111`es la cuenta que contiene los recursos (una tabla de Amazon Keyspaces) a los que `Account C:333333333333` hay que `Account B:222222222222` acceder, al igual que `Account A:111111111111` la cuenta de *confianza*. `Account B:222222222222`y `Account C:333333333333` son las cuentas con los principales las que necesitan acceso a los recursos (una tabla de Amazon Keyspaces)`Account A:111111111111`, `Account B:222222222222` también lo son `Account C:333333333333` *las* cuentas de confianza. La cuenta de confianza concede los permisos a las cuentas confiadas compartiendo un rol de IAM. El siguiente procedimiento describe los pasos de configuración necesarios en `Account A:111111111111`.

**Configuración de `Account A:111111111111`**

1. Se utiliza AWS Resource Access Manager para crear un recurso compartido para la subred y compartir la subred privada con y. `Account B:222222222222` `Account C:333333333333`

   `Account B:222222222222` y `Account C:333333333333` ya pueden ver y crear recursos en la subred que se ha compartido con ellos. 

1. Cree un punto final de VPC privado de Amazon Keyspaces con la tecnología de. AWS PrivateLink Esto crea varios puntos de conexión a través de subredes compartidas y entradas DNS para el punto de conexión del servicio de Amazon Keyspaces.

1. Cree un espacio de claves y una tabla de Amazon Keyspaces.

1. Cree un rol de IAM `Account A:111111111111` que tenga acceso total a la tabla Amazon Keyspaces, lea las tablas del sistema Amazon Keyspaces y pueda describir los recursos de Amazon EC2 VPC, como se muestra en el siguiente ejemplo de política.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CrossAccountAccess",
               "Effect": "Allow",
               "Action": [
                   "ec2:DescribeNetworkInterfaces",
                   "ec2:DescribeVpcEndpoints",
                   "cassandra:*"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. Configure una política de confianza para el rol de IAM para que `Account A:111111111111` `Account C:333333333333` pueda asumir el rol `Account B:222222222222` como cuentas de confianza. Esto se muestra en el siguiente ejemplo. 

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": [
             "arn:aws:iam::222222222222:role/Cross-Account-Role-B",
             "arn:aws:iam::333333333333:role/Cross-Account-Role-C"
           ]
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

   Para obtener más información sobre las políticas de IAM entre cuentas, consulte [Políticas entre cuentas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html) en la Guía del usuario de IAM.

**Configuración de `Account B:222222222222` y `Account C:333333333333`**

1. En `Account B:222222222222` y `Account C:333333333333`, cree nuevos roles y vincule la siguiente política que permite a la entidad principal asumir el rol compartido creado en `Account A:111111111111`.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "ec2.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

   Permitir que el director asuma el rol compartido se implementa mediante la `AssumeRole` API de AWS Security Token Service (AWS STS). Para obtener más información, consulte [Proporcionar acceso a un usuario de IAM a otro de su Cuenta de AWS propiedad](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) en la Guía del usuario de IAM. 

1. En `Account B:222222222222` y`Account C:333333333333`, puede crear aplicaciones que utilicen el complemento de SIGV4 autenticación, que permite que una aplicación asuma la función compartida para conectarse a la tabla Amazon Keyspaces ubicada a `Account A:111111111111` través del punto de enlace de la VPC en la VPC compartida. Para obtener más información sobre el complemento de SIGV4 autenticación, consulte. [Creación de credenciales para el acceso programático a Amazon Keyspaces](programmatic.credentials.md) Para obtener más información sobre cómo configurar una aplicación para que asuma un rol en otra AWS cuenta, consulta [Autenticación y acceso](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) en la *Guía de referencia de herramientas AWS SDKs y herramientas*.

# Configuración del acceso entre cuentas a Amazon Keyspaces sin una VPC compartida
<a name="access.cross-account.noVPC.setup"></a>

Si la tabla de Amazon Keyspaces y el punto de conexión de VPC privado pertenecen a cuentas diferentes pero no comparten una VPC, las aplicaciones podrán seguir conectándose entre cuentas mediante puntos de conexión de VPC. Dado que las cuentas no comparten los puntos de conexión de VPC, `Account A:111111111111`, `Account B:222222222222` y `Account C:333333333333` requieren sus propios puntos de conexión de VPC. Para el controlador de cliente de Cassandra, Amazon Keyspaces aparece como un único nodo en lugar de un clúster multinodo. Al conectarse, el controlador de cliente llega al servidor DNS que devuelve uno de los puntos de conexión disponibles en la VPC de la cuenta. 

También puede acceder a las tablas de Amazon Keyspaces en diferentes cuentas sin un punto de enlace de VPC compartido mediante los puntos de enlace públicos o mediante la implementación de un punto de enlace de VPC privado en cada cuenta. Cuando no se utiliza una VPC compartida, cada cuenta requiere su propio punto de conexión de VPC. En este ejemplo, `Account A:111111111111`, `Account B:222222222222` y `Account C:333333333333` requieren sus propios puntos de conexión de VPC para acceder a la tabla de `Account A:111111111111`. Cuando se utilizan puntos de conexión de VPC en esta configuración, Amazon Keyspaces aparece como un clúster de nodo único para el controlador de cliente de Cassandra en lugar de un clúster multinodo. Al conectarse, el controlador de cliente llega al servidor DNS que devuelve uno de los puntos de conexión disponibles en la VPC de la cuenta. Sin embargo, el controlador de cliente no puede acceder a la tabla de `system.peers` para descubrir puntos de conexión adicionales. Dado que hay menos hosts disponibles, el controlador realiza menos conexiones. Para ajustar esto, aumente la configuración del grupo de conexiones del controlador en un factor de tres. 

![\[Diagrama que muestra tres cuentas diferentes propiedad de la misma organización en la misma Región de AWS sin una VPC compartida.\]](http://docs.aws.amazon.com/es_es/keyspaces/latest/devguide/images/keyspaces_cross-account_noVPC.png)


`Account A:111111111111`es la cuenta que contiene los recursos (una tabla de Amazon Keyspaces) a los que `Account C:333333333333` hay que `Account B:222222222222` acceder, al igual que `Account A:111111111111` la cuenta de *confianza*. `Account B:222222222222`y `Account C:333333333333` son las cuentas con los principales las que necesitan acceso a los recursos (una tabla de Amazon Keyspaces)`Account A:111111111111`, `Account B:222222222222` también lo son `Account C:333333333333` *las* cuentas de confianza. La cuenta de confianza concede los permisos a las cuentas confiadas compartiendo un rol de IAM. El siguiente procedimiento describe los pasos de configuración necesarios en `Account A:111111111111`.

**Configuración de `Account A:111111111111`**

1. Crea un espacio de claves y una tabla en Amazon Keyspaces. `Account A:111111111111`

1. Cree un rol de IAM `Account A:111111111111` que tenga acceso total a la tabla Amazon Keyspaces y acceso de lectura a las tablas del sistema Amazon Keyspaces.

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "cassandra:Select",
               "cassandra:Modify"
            ],
            "Resource":[
               "arn:aws:cassandra:us-east-1:111111111111:/keyspace/mykeyspace/table/mytable",
               "arn:aws:cassandra:us-east-1:111111111111:/keyspace/system*"
            ]
         }
      ]
   }
   ```

1. Configure una política de confianza para la función de IAM de `Account A:111111111111` forma que los directores puedan entrar en cuentas de confianza `Account B:222222222222` y `Account C:333333333333` puedan asumirla como cuentas de confianza. Esto se muestra en el siguiente ejemplo. 

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": [
             "arn:aws:iam::222222222222:role/Cross-Account-Role-B",
             "arn:aws:iam::333333333333:role/Cross-Account-Role-C"
           ]
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

   Para obtener más información sobre las políticas de IAM entre cuentas, consulte [Políticas entre cuentas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html) en la Guía del usuario de IAM.

1. Configure el punto de enlace de la VPC `Account A:111111111111` y adjunte permisos al punto de enlace que permitan que las funciones se envíen `Account B:222222222222` y `Account C:333333333333` asuman la función de `Account A` uso del punto de enlace de la VPC. Estos permisos son válidos para el punto final de la VPC al que están conectados. Para obtener más información sobre las políticas de punto de conexión de VPC, consulte [Control de acceso a puntos de conexión de VPC de interfaz para Amazon Keyspaces](vpc-endpoints.md#interface-vpc-endpoints-policies).

   ```
   {{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowAccessfromSpecificIAMroles",
         "Effect": "Allow",
         "Action": "cassandra:*",
         "Resource": "*",
         "Principal": "*",
         "Condition": {
           "ArnEquals": {
             "aws:PrincipalArn": [
               "arn:aws:iam::222222222222:role/Cross-Account-Role-B",
               "arn:aws:iam::333333333333:role/Cross-Account-Role-C"
             ]
           }
         }
       }
     ]
   }
   ```

**Configuración de `Account B:222222222222` y `Account C:333333333333`**

1. En `Account B:222222222222` y `Account C:333333333333`, cree nuevos roles y vincule la siguiente política que permite a la entidad principal asumir el rol compartido creado en `Account A:111111111111`.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": {
               "Effect": "Allow",
               "Action": "sts:AssumeRole",
               "Resource": "arn:aws:iam::111111111111:role/keyspaces_access"
           }
   }
   ```

   Permitir que el director asuma la función compartida se implementa mediante la `AssumeRole` API de AWS Security Token Service (AWS STS). Para obtener más información, consulte [Proporcionar acceso a un usuario de IAM a otro de su Cuenta de AWS propiedad](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) en la Guía del usuario de IAM. 

1. En `Account B:222222222222` y`Account C:333333333333`, puede crear aplicaciones que utilicen el complemento de SIGV4 autenticación, que permite que una aplicación asuma el rol compartido para conectarse a la tabla Amazon Keyspaces ubicada en. `Account A:111111111111` Para obtener más información sobre el complemento SIGV4 de autenticación, consulte[Creación de credenciales para el acceso programático a Amazon Keyspaces](programmatic.credentials.md). Para obtener más información sobre cómo configurar una aplicación para que asuma un rol en otra AWS cuenta, consulta [Autenticación y acceso](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) en la *Guía de referencia de herramientas AWS SDKs y herramientas*.