Cómo crear y configurar AWS credenciales para Amazon Keyspaces - Amazon Keyspaces (para Apache Cassandra)

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.

Cómo crear y configurar AWS credenciales para Amazon Keyspaces

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 o rol de IAM con claves de acceso. Cuando lo usa AWS mediante programación, proporciona sus claves de AWS acceso para poder verificar su identidad en las llamadas programáticas. AWS Sus claves de acceso constan de un identificador de clave de acceso (por ejemplo, AKIAIOSFODNN7EXAMPLE) 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 recomiendan crear usuarios de IAM con permisos limitados y, en su lugar, asociar las funciones de IAM a los permisos necesarios para realizar tareas específicas. Los usuarios de IAM pueden entonces asumir temporalmente las funciones de IAM para realizar las tareas necesarias. Por ejemplo, los usuarios de IAM de su cuenta que utilizan la consola Amazon Keyspaces pueden cambiar a un rol para usar 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 utilizan 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 para la seguridad si, en lugar de asumir funciones, se les asignan permisos directamente. 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 sobre las funciones, consulte Escenarios comunes de las funciones: usuarios, aplicaciones y servicios en la Guía del usuario de IAM.

Credenciales requeridas por el AWS CLIAWS SDK o el complemento SiGv4 de Amazon Keyspaces para los controladores de cliente Cassandra

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 Uso de credenciales temporales para conectarse a Amazon Keyspaces mediante un rol de IAM y el complemento SigV4.

Si se conecta con un usuario de IAM, el aws_session_token no es necesario.

Crear un usuario de IAM para acceder mediante programación a Amazon Keyspaces en su cuenta AWS

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 AWS Management Console Herramientas para Windows o mediante una operación PowerShell de API. AWS CLI AWS Si crea el usuario en AWS Management Console, las credenciales se crean automáticamente.

  2. 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.

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

Para obtener información sobre los permisos que necesita para crear un usuario, consulte Permisos necesarios para acceder a los recursos de IAM.

Creación de usuarios de IAM (consola)

Puede utilizarlas AWS Management Console para crear usuarios de IAM.

Para crear un usuario de IAM con acceso programático (consola)
  1. Inicie sesión en la consola de IAM AWS Management Console y ábrala en https://console.aws.amazon.com/iam/.

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

  3. 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 (+), igual (=), coma (,), punto (.), arroba (@), guion bajo (_) y guion (-). Los nombres deben ser únicos dentro de una cuenta. No distinguen entre mayúsculas y minúsculas. Por ejemplo, no puede crear dos usuarios llamados TESTUSER y testuser.

  4. 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.

  5. 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 Políticas administradas de AWS para Amazon Keyspaces.

    Para realizar pruebas y seguir los tutoriales de conexión, seleccione la AmazonKeyspacesReadOnlyAccess política 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. Una vez que haya creado políticas de permisos personalizadas, asocie las políticas a las funciones y deje que los usuarios asuman las funciones correspondientes de forma temporal.

    Elija Siguiente: etiquetas.

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

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

  8. Para ver las claves de acceso del usuario (ID de clave de acceso y claves de acceso secretas), elija Show (Mostrar) junto a la contraseña y la clave de acceso. Para guardar las claves de acceso, elija Download .csv (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.

Creación de usuarios de IAM (AWS CLI)

Puede utilizarlos AWS CLI para crear un usuario de IAM.

Para crear un usuario de IAM con acceso programático (AWS CLI)
  1. Cree un usuario con el siguiente AWS CLI código.

  2. Dé al usuario acceso programático. Esto requiere claves de acceso, las cuales se pueden generar de las siguientes maneras.

    • AWS CLI: aws iam create-access-key

    • Herramientas para Windows PowerShell: New-IAMAccessKey

    • API de IAM: CreateAccessKey

      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.

  3. 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 adjuntando una política al grupo en vez de vincularla directamente a un usuario.

Creación de nuevas claves de acceso para un usuario de IAM

Si ya tiene un usuario de IAM, puede crear nuevas claves de acceso en cualquier momento. Para obtener más información sobre la administración de claves, por ejemplo, cómo actualizar las claves de acceso, consulte Administrar las claves de acceso para los usuarios de IAM.

Para crear claves de acceso para un usuario de IAM (consola)
  1. Inicie sesión en la consola de IAM AWS Management Console y ábrala en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Usuarios.

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

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

  5. En la sección Access keys (Claves de acceso), haga clic en Create access key (Crear clave de acceso).

    Para ver el nuevo par de claves de acceso, elija Show (Mostrar). Sus credenciales tendrán el aspecto siguiente:

    • ID de clave de acceso: AKIAIOSFODNN7EXAMPLE

    • 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.

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

  7. Cuando descargue el archivo .csv, elija Close (Cerrar).

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

Administración de claves de acceso para usuarios de IAM

Como práctica recomendada, le sugerimos que no incruste claves de acceso directamente en el código. AWS Los SDK y las herramientas de línea de AWS 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 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 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 Un tep-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. 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.

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>

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>

El uso de set 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 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>"

Si configura una variable de entorno en la PowerShell línea de comandos, como se muestra en los ejemplos anteriores, el valor solo se guardará durante la sesión actual. Para que la configuración de la variable de entorno sea persistente en todas las sesiones PowerShell y en la línea de comandos, 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 para obtener más información sobre cómo almacenar variables de entorno o cómo conservarlas en todas las sesiones.

Uso de credenciales temporales para conectarse a Amazon Keyspaces mediante un rol de IAM y el complemento SigV4

Para mejorar la seguridad, puede utilizar credenciales temporales 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 (API)AWS.

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 AWS Management Console y ábrala en https://console.aws.amazon.com/iam/.

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

  3. 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.

  4. 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.

  5. 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.

Para obtener más información sobre cómo llamar a AssumeRole, GetFederationToken y otras operaciones de API, consulte la Referencia de la API de AWS Security Token Service. 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. Puedes encontrar la documentación de todos los AWS SDK en la página principal de AWS documentación, en la sección SDK y kits de herramientas.