ALTER USER - Amazon Redshift

ALTER USER

Cambia un usuario de base de datos.

Privilegios necesarios

Los siguientes privilegios son necesarios para ALTER USER:

  • Superusuario

  • Usuarios con el privilegio ALTER USER

  • Usuario actual que desea cambiar su propia contraseña

Sintaxis

ALTER USER username [ WITH ] option [, ... ] where option is CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | SYSLOG ACCESS { RESTRICTED | UNRESTRICTED } | PASSWORD { 'password' | 'md5hash' | DISABLE } [ VALID UNTIL 'expiration_date' ] | RENAME TO new_name | | CONNECTION LIMIT { limit | UNLIMITED } | SESSION TIMEOUT limit | RESET SESSION TIMEOUT | SET parameter { TO | = } { value | DEFAULT } | RESET parameter | EXTERNALID external_id

Parámetros

username

Nombre del usuario.

WITH

Palabra clave opcional.

CREATEDB | NOCREATEDB

La opción CREATEDB permite que el usuario cree nuevas bases de datos. NOCREATEDB es el valor predeterminado.

CREATEUSER | NOCREATEUSER

La opción CREATEUSER crea un superusuario con todos los privilegios de base de datos, incluido CREATE USER. El valor predeterminado es NOCREATEUSER. Para obtener más información, consulte superuser.

SYSLOG ACCESS { RESTRICTED | UNRESTRICTED }

Se trata de una cláusula que especifica el nivel de acceso a las vistas y las tablas de sistema de Amazon Redshift que tiene el usuario.

Los usuarios normales que tengan el permiso SYSLOG ACCESS RESTRICTED solo pueden ver las filas generadas por ese usuario en las tablas y vistas del sistema visibles para el usuario. El valor predeterminado es RESTRICTED.

Los usuarios normales que tengan el permiso SYSLOG ACCESS UNRESTRICTED pueden ver todas las filas en las tablas y vistas del sistema visibles para el usuario, incluidas las filas generadas por otro usuario. UNRESTRICTED no permite que los usuarios normales puedan obtener acceso a las tablas visibles para los superusuarios. Solo los superusuarios pueden ver estas tablas.

nota

Al brindar a un usuario acceso sin restricciones a las tablas del sistema, le proporciona la visibilidad necesaria para ver los datos generados por otros usuarios. Por ejemplo, STL_QUERY y STL_QUERYTEXT contienen todo el texto de las instrucciones INSERT, UPDATE y DELETE, que podrían incluir datos confidenciales generados por los usuarios.

Todas las filas de SVV_TRANSACTIONS son visibles para todos los usuarios.

Para obtener más información, consulte Visibilidad de datos en las tablas y vistas de sistema.

PASSWORD { 'password' | 'md5hash' | DISABLE }

Establece la contraseña del usuario.

De manera predeterminada, los usuarios pueden cambiar sus propias contraseñas, a menos que la contraseña esté deshabilitada. Para deshabilitar la contraseña de un usuario, especifique DISABLE. Cuando se deshabilita la contraseña de un usuario, se elimina del sistema y el usuario solo puede iniciar sesión con credenciales de usuario de AWS Identity and Access Management IAM temporales. Para obtener más información, consulte Uso de la autenticación de IAM para generar credenciales de usuario de base de datos. Solo un superusuario puede habilitar o deshabilitar contraseñas. No puede deshabilitar la contraseña de un superusuario. Para habilitar una contraseña, ejecute ALTER USER y especifique una contraseña.

Para obtener información acerca de cómo utilizar el parámetro PASSWORD, consulte CREAR USUARIO.

VALID UNTIL 'expiration_date'

Especifica que la contraseña tiene una fecha de vencimiento. Use el valor 'infinity' para evitar tener una fecha de vencimiento. El tipo de datos válido para este parámetro es timestamp (marca temporal).

Solo los superusuarios pueden utilizar este parámetro.

RENAME TO

Cambia el nombre del usuario.

new_name

Nuevo nombre de usuario. Para obtener más información acerca de los nombres válidos, consulte Nombres e identificadores.

importante

Cuando cambia el nombre de un usuario, también debe restablecer la contraseña del usuario. La contraseña de restablecimiento no tiene por qué ser diferente de la contraseña anterior. Debido a que el nombre del usuario se utiliza como parte del cifrado de la contraseña, la contraseña se borra cada vez que se cambia el nombre de un usuario. El usuario no podrá iniciar sesión hasta que no se haya restablecido la contraseña. Por ejemplo:

alter user newuser password 'EXAMPLENewPassword11';
CONNECTION LIMIT { limit | UNLIMITED }

La cantidad máxima de conexiones a la base de datos que el usuario puede tener abiertas al mismo tiempo. Este límite no se aplica a los superusuarios. Use la palabra clave UNLIMITED para permitir la cantidad máxima de conexiones simultáneas. También puede aplicar un límite en la cantidad de conexiones de cada base de datos. Para obtener más información, consulte CREATE DATABASE. El valor predeterminado es UNLIMITED. Para ver las conexiones actuales, consulte la vista del sistema STV_SESSIONS.

nota

Si se aplican los límites de conexión tanto para usuarios como para bases de datos, debe haber una ranura de conexión sin utilizar disponible dentro de ambos límites cuando un usuario intenta conectarse.

SESSION TIMEOUT limit | RESET SESSION TIMEOUT

El tiempo máximo en segundos durante el cual una sesión permanece inactiva o en reposo. El rango es de 60 segundos (un minuto) a 1 728 000 segundos (20 días). Si no se establece el tiempo de espera de la sesión para el usuario, se aplica el ajuste del clúster. Para obtener más información, consulte Cuotas y límites de Amazon Redshift en la Guía de administración de Amazon Redshift.

Cuando se establece el tiempo de espera de la sesión, se aplica solo a las sesiones nuevas.

Para ver información sobre las sesiones de usuario activas, incluidos la hora de inicio, el nombre de usuario y el tiempo de espera de la sesión, consulte la vista de sistema STV_SESSIONS. Para ver información sobre el historial de sesiones del usuario, consulte la vista STL_SESSIONS. Para recuperar información acerca de los usuarios de las bases de datos, incluidos los valores de tiempo de espera de la sesión, consulte la vista SVL_USER_INFO.

SET

Establece un parámetro de configuración a un nuevo valor predeterminado para todas las sesiones ejecutadas por el usuario especificado.

RESET

Restablece un parámetro de configuración al valor predeterminado original para el usuario especificado.

parameter

Nombre del parámetro que se debe establecer o restablecer.

value

Valor nuevo del parámetro.

DEFAULT

Establece el parámetro de configuración al valor predeterminado para todas las sesiones ejecutadas por el usuario especificado.

EXTERNALID external_id

El identificador del usuario, que está asociado a un proveedor de identidades. El usuario debe tener desactivada la contraseña. Para obtener más información, consulte Federación de proveedores de identidades (IdP) nativos para Amazon Redshift.

Notas de uso

  • Intento de modificar rdsdb: no puede modificar al usuario denominado rdsdb.

  • Creación de una contraseña desconocida: cuando use la autenticación de AWS Identity and Access Management (IAM) para crear credenciales de usuario de la base de datos, es posible que quiera crear un superusuario que solo pueda iniciar sesión con credenciales temporales. Puede deshabilitar la contraseña de un superusuario, pero no puede crear una contraseña desconocida mediante una cadena hash MD5 generada aleatoriamente.

    alter user iam_superuser password 'md51234567890123456780123456789012';
  • Configuración de search_path: cuando establece el parámetro search_path con el comando ALTER USER, la modificación entra en vigor en el próximo inicio de sesión del usuario especificado. Si desea cambiar el valor search_path para la sesión y el usuario actuales, utilice un comando SET.

  • Configuración de la zona horaria: cuando utilice ESTABLECER ZONA HORARIA con el comando ALTER USER, la modificación entra en vigor en el próximo inicio de sesión del usuario especificado.

  • Trabajo con políticas de seguridad a nivel de fila y enmascaramiento de datos dinámico: cuando el clúster o espacio de nombres sin servidor aprovisionado tiene políticas de enmascaramiento de datos dinámico o de seguridad en el nivel de fila, los siguientes comandos están bloqueados para los usuarios habituales:

    ALTER <current_user> SET enable_case_sensitive_super_attribute/enable_case_sensitive_identifier/downcase_delimited_identifier

    Solo los superusuarios y los usuarios con el privilegio ALTER USER pueden establecer estas opciones de configuración. Para obtener información sobre seguridad de nivel de fila, consulte Seguridad de nivel básico. Para obtener información sobre el enmascaramiento dinámico de datos, consulte Enmascaramiento de datos dinámico.

Ejemplos

En el siguiente ejemplo, se le otorga al usuario ADMIN el privilegio de crear bases de datos:

alter user admin createdb;

En el siguiente ejemplo, se establece la contraseña del usuario ADMIN a adminPass9 y se establece una fecha y hora de vencimiento para la contraseña:

alter user admin password 'adminPass9' valid until '2017-12-31 23:59';

En el siguiente ejemplo, se cambia el nombre del usuario ADMIN a SYSADMIN:

alter user admin rename to sysadmin;

En el siguiente ejemplo, se actualiza el tiempo de espera de la sesión inactiva para un usuario a 300 segundos.

ALTER USER dbuser SESSION TIMEOUT 300;

Restablece el tiempo de espera de la sesión inactiva del usuario. Cuando lo restablece, se aplica el ajuste del clúster. Debe ser un superusuario de base de datos para ejecutar este comando. Para obtener más información, consulte Cuotas y límites de Amazon Redshift en la Guía de administración de Amazon Redshift.

ALTER USER dbuser RESET SESSION TIMEOUT;

En el ejemplo siguiente se actualiza el ID externo de un usuario denominado bob. El espacio de nombres es myco_aad. Si el espacio de nombres no está asociado a un proveedor de identidades registrado, se produce un error.

ALTER USER myco_aad:bob EXTERNALID "ABC123" PASSWORD DISABLE;

En el siguiente ejemplo se establece la zona horaria para todas las sesiones ejecutadas por un usuario específico de la base de datos. Cambia la zona horaria para las sesiones posteriores, pero no para la actual.

ALTER USER odie SET TIMEZONE TO 'Europe/Zurich';

En el siguiente ejemplo, se establece el número máximo de conexiones a bases de datos que el usuario bob puede tener abiertas.

ALTER USER bob CONNECTION LIMIT 10;