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.
Autenticación de usuarios con listas de control de acceso () ACLs
Puede autenticar a los usuarios con listas de control de acceso (). ACLs
ACLsle permiten controlar el acceso al clúster agrupando los usuarios. Estas listas de control de acceso se han diseñado como una forma de organizar el acceso a los clústeres.
ConACLs, puede crear usuarios y asignarles permisos específicos mediante una cadena de acceso, tal y como se describe en la siguiente sección. Asigne los usuarios a listas de control de acceso alineadas con un rol específico (administradores, recursos humanos) que luego se implementan en uno o más clústeres de MemoryDB. De esta manera, puede establecer límites de seguridad entre clientes que utilicen el mismo clúster o clústeres de MemoryDB e impedir que los clientes obtengan acceso a los datos de los demás.
ACLsestán diseñados para respaldar la introducción ACL
No puede especificar contraseñas en una cadena de acceso. Las contraseñas se configuran con CreateUsero UpdateUsercon las llamadas.
Para los derechos de usuario, pasa
on
yoff
como parte de la cadena de acceso. Si no se especifica ninguno en la cadena de acceso, se asignaoff
al usuario y no tiene derechos de acceso al clúster.No se pueden utilizar comandos prohibidos. Si especifica un comando prohibido, se generará una excepción. Para ver una lista de dichos comandos, consulte Comandos restringidos.
No puede utilizar el comando
reset
como parte de una cadena de acceso. Las contraseñas se especifican con API parámetros y MemoryDB las gestiona. Por lo tanto, no puede utilizarreset
porque eliminará todas las contraseñas de un usuario.Redis OSS 6 presenta el comando. ACLLIST
Este comando devuelve una lista de usuarios junto con las ACL reglas aplicadas a cada usuario. MemoryDB admite el ACL LIST
comando, pero no incluye soporte para hashes de contraseñas como lo hace Redis. OSS Con MemoryDB, puede utilizar la DescribeUsersoperación para obtener información similar, incluidas las reglas contenidas en la cadena de acceso. Sin embargo, DescribeUsersno recupera la contraseña de un usuario.Otros comandos de solo lectura compatibles con MemoryDB incluyen ACLWHOAMI
, y. ACLUSERSACLCAT MemoryDB no admite ningún otro comando basado en la escritura. ACL
El uso ACLs con MemoryDB se describe con más detalle a continuación.
Temas
Especificación de permisos mediante una cadena de acceso
Para especificar los permisos de un clúster de MemoryDB, debe crear una cadena de acceso y asignarla a un usuario mediante la tecla o. AWS CLI AWS Management Console
Las cadenas de acceso se definen como una lista de reglas delimitadas por espacios que se aplican al usuario. Definen qué comandos puede ejecutar un usuario y qué claves puede operar. Para ejecutar un comando, un usuario debe tener acceso al comando que se ejecuta y a todas las claves a las que accede el comando. Las reglas se aplican de izquierda a derecha de forma acumulativa y se puede utilizar una cadena más simple en lugar de la proporcionada si hay redundancias en la cadena proporcionada.
Para obtener información sobre la sintaxis de las ACL reglas, consulte. ACL
En el siguiente ejemplo, la cadena de acceso representa un usuario activo con acceso a todas las claves y comandos disponibles.
on ~* &* +@all
La sintaxis de la cadena de acceso se desglosa de la siguiente manera:
on
: el usuario es un usuario activo.~*
: se brinda acceso a todas las claves disponibles.&*
: se brinda acceso a todos los canales pubsub disponibles.+@all
: se brinda acceso a todos los comandos disponibles.
La configuración anterior es la menos restrictiva. Puede modificar esta configuración para hacerla más segura.
En el siguiente ejemplo, la cadena de acceso representa a un usuario con acceso restringido al acceso de lectura en claves que comienzan por el espacio de claves “app::”
on ~app::* -@all +@read
Puede refinar aún más estos permisos al enumerar comandos a los que el usuario tiene acceso:
+
: el acceso del usuario a los comandos se encuentra limitado a command1
.command1
+@category
: el acceso del usuario a los comandos se encuentra limitado a la categoría de comandos.
Para obtener información sobre cómo asignar una cadena de acceso a un usuario, consulte Crear usuarios y listas de control de acceso con la consola y CLI.
Si va a migrar una carga de trabajo existente a MemoryDB, puede recuperar la cadena de acceso mediante una llamada a ACL LIST
, que excluya el usuario y cualquier hash de contraseña.
Capacidades de la búsqueda vectorial
En Búsqueda vectorial, todos los comandos de la búsqueda pertenecen a la categoría @search
, y las categorías existentes @read
, @write
, @fast
y @slow
se actualizan para incluir los comandos de la búsqueda. Si un usuario no tiene acceso a una categoría, entonces no tiene acceso a ningún comando de la categoría. Por ejemplo, si el usuario no tiene acceso a @search
, entonces no puede ejecutar ningún comando relacionado con la búsqueda.
En la siguiente tabla se indica la asignación de los comandos JSON a las categorías apropiadas.
Comandos de VSS | @read | @write | @fast | @slow |
---|---|---|---|---|
FT.CREATE |
Y | Y | ||
FT.DROPINDEX |
Y | Y | ||
FT.LIST |
Y | Y | ||
FT.INFO |
Y | Y | ||
FT.SEARCH |
Y | Y | ||
FT.AGGREGATE |
Y | Y | ||
FT.PROFILE |
Y | Y | ||
FT.ALIASADD |
Y | Y | ||
FT.ALIASDEL |
Y | Y | ||
FT.ALIASUPDATE |
Y | Y | ||
FT._ALIASLIST |
Y | Y | ||
FT.EXPLAIN |
Y | Y | ||
FT.EXPLAINCLI |
Y | Y | ||
FT.CONFIG |
Y | Y |
Aplicar ACLs a un clúster para MemoryDB
Para usar MemoryDBACLs, siga los siguientes pasos:
Cree uno o más usuarios.
Cree una lista ACL y añada usuarios a la lista.
ACLAsígnelo a un clúster.
Estos pasos se describen en la siguiente tabla.
Temas
Crear usuarios y listas de control de acceso con la consola y CLI
La información de usuario para ACLs los usuarios es un nombre de usuario y, opcionalmente, una contraseña y una cadena de acceso. La cadena de acceso proporciona el nivel de permisos en las claves y comandos. El nombre de usuario es exclusivo del usuario y es lo que se pasa al motor.
Asegúrese de que los permisos de usuario que proporciona tienen sentido con el propósito previsto deACL. Por ejemplo, si crea una ACL llamadaAdministrators
, cualquier usuario que añada a ese grupo debe tener su cadena de acceso configurada para que tenga acceso total a las teclas y comandos. En el caso de los usuarios de un e-commerce
ACL, puede configurar sus cadenas de acceso para que sean de solo lectura.
MemoryDB configura automáticamente un usuario predeterminado por cuenta con un nombre de usuario "default"
. No se asociará a ningún clúster a menos que se añada explícitamente a un. ACL No puede modificar ni eliminar este usuario. Este usuario está diseñado para ser compatible con el comportamiento predeterminado de OSS las versiones anteriores de Redis y tiene una cadena de acceso que le permite llamar a todos los comandos y acceder a todas las teclas.
Se creará un «acceso abierto» ACL inmutable para cada cuenta que contenga el usuario predeterminado. Esta es la única de ACL la que puede ser miembro el usuario predeterminado. Al crear un clúster, debe seleccionar uno ACL para asociarlo al clúster. Si bien tiene la opción de aplicar el «acceso abierto» ACL con el usuario predeterminado, le recomendamos encarecidamente que cree uno ACL con usuarios que tengan permisos restringidos a sus necesidades empresariales.
Los clústeres que no TLS estén habilitados deben usar el «acceso abierto» ACL para proporcionar una autenticación abierta.
ACLsse pueden crear sin usuarios. Un espacio vacío no ACL tendría acceso a un clúster y solo se puede asociar a clústeres TLS habilitados.
Al crear un usuario, puede configurar hasta dos contraseñas. Al modificar una contraseña, se mantienen todas las conexiones existentes a los clústeres.
En particular, tenga en cuenta estas restricciones de contraseña de usuario cuando utilice ACLs MemoryDB:
-
Las contraseñas deben tener entre 16 y 128 caracteres imprimibles.
-
No se admiten los siguientes caracteres no alfanuméricos:
,
""
/
@
.
Administrar usuarios con la consola y CLI
Para crear usuarios con la consola
-
Inicie sesión en la consola de MemoryDB AWS Management Console y ábrala en. https://console.aws.amazon.com/memorydb/
-
En el panel de navegación izquierdo, elija Usuarios.
Elija Crear usuario
En la página Crear usuario, introduzca un nombre.
Las restricciones para la asignación de nombres de clúster son las siguientes:
Deben contener entre 1 y 40 caracteres alfanuméricos o guiones.
Deben comenzar por una letra.
No pueden contener dos guiones consecutivos.
No pueden terminar con un guion.
En Contraseñas, puede introducir hasta dos contraseñas.
En Cadena de acceso, introduzca una cadena de acceso. La cadena de acceso establece el nivel de permisos para qué claves y comandos se permite al usuario.
-
En el caso de las etiquetas, si lo desea, puede aplicar etiquetas para buscar y filtrar a sus usuarios o realizar un seguimiento de sus AWS costes.
Seleccione Crear.
Para crear un usuario mediante el CLI
-
Utilice el comando create-user para crear un usuario.
Para Linux, macOS o Unix:
aws memorydb create-user \ --user-name user-name-1 \ --access-string "~objects:* ~items:* ~public:*" \ --authentication-mode \ Passwords=
"abc"
,Type=passwordPara Windows:
aws memorydb create-user ^ --user-name user-name-1 ^ --access-string "~objects:* ~items:* ~public:*" ^ --authentication-mode \ Passwords=
"abc"
,Type=password
Para modificar usuarios con la consola
-
Inicie sesión en la consola de MemoryDB AWS Management Console y ábrala en. https://console.aws.amazon.com/memorydb/
-
En el panel de navegación izquierdo, elija Usuarios.
Elija el botón de opción situado junto al usuario que desea modificar y luego elija Acciones -> Modificar
Si desea modificar una contraseña, pulse el botón de opción Modificar contraseñas. Tenga en cuenta que si tiene dos contraseñas, debe introducir ambas al modificar una de ellas.
Si va a actualizar la cadena de acceso, introduzca la nueva.
Elija Modificar.
Para modificar un usuario mediante el CLI
-
Utilice el comando update-user para modificar un usuario.
-
Cuando se modifica un usuario, se actualizan las listas de control de acceso asociadas al usuario, junto con los clústeres asociados alACL. Se mantienen todas las conexiones existentes. A continuación se muestran algunos ejemplos.
Para Linux, macOS o Unix:
aws memorydb update-user \ --user-name user-name-1 \ --access-string "~objects:* ~items:* ~public:*"
Para Windows:
aws memorydb update-user ^ --user-name user-name-1 ^ --access-string "~objects:* ~items:* ~public:*"
Para ver los detalles del usuario en la consola
-
Inicie sesión en la consola de MemoryDB AWS Management Console y ábrala en. https://console.aws.amazon.com/memorydb/
-
En el panel de navegación izquierdo, elija Usuarios.
Elija el usuario en Nombre de usuario o utilice el cuadro de búsqueda para encontrarlo.
En Configuración de usuario, puedes revisar la cadena de acceso del usuario, el recuento de contraseñas, el estado y el nombre del recurso de Amazon (ARN).
En Listas de control de acceso (ACL), puede revisar a qué pertenece ACL el usuario.
En Etiquetas, puede revisar cualquier etiqueta asociada al usuario.
Utilice el comando describe-users para ver los detalles de un usuario.
aws memorydb describe-users \ --user-name
my-user-name
Para eliminar usuarios con la consola
-
Inicie sesión en la consola de MemoryDB AWS Management Console y ábrala en. https://console.aws.amazon.com/memorydb/
-
En el panel de navegación izquierdo, elija Usuarios.
Elija el botón de opción situado junto al usuario que desea modificar y luego elija Acciones -> Eliminar
Para confirmar, en el cuadro de texto de confirmación, introduzca
delete
y, a continuación, elija Eliminar.Para cancelar, elija Cancelar.
Para eliminar un usuario mediante el CLI
-
Utilice el comando delete-user para eliminar un usuario.
La cuenta se borra y elimina de todas las listas de control de acceso a las que pertenezca. A continuación se muestra un ejemplo.
Para Linux, macOS o Unix:
aws memorydb delete-user \ --user-name user-name-2
Para Windows:
aws memorydb delete-user ^ --user-name user-name-2
Administrar las listas de control de acceso con la consola y CLI
Puede crear listas de control de acceso para organizar y controlar el acceso de los usuarios a uno o más clústeres, como se muestra a continuación.
Use el siguiente procedimiento para administrar las listas de control de acceso mediante la consola.
Para crear una lista de control de acceso mediante la consola
-
Inicie sesión en la consola de MemoryDB AWS Management Console y ábrala en. https://console.aws.amazon.com/memorydb/
-
En el panel de navegación izquierdo, seleccione Listas de control de acceso () ACL.
Seleccione CrearACL.
En la página Crear lista de control de acceso (ACL), introduzca un ACL nombre.
Las restricciones para la asignación de nombres de clúster son las siguientes:
Deben contener entre 1 y 40 caracteres alfanuméricos o guiones.
Deben comenzar por una letra.
No pueden contener dos guiones consecutivos.
No pueden terminar con un guion.
En Usuarios seleccionados, realice una de las siguientes acciones:
Para crear un nuevo usuario, seleccione Crear usuario
Para agregar usuarios, elija Administrar y, a continuación, seleccione los usuarios en el cuadro de diálogo Administrar usuarios y, a continuación, seleccione Elegir.
-
En el caso de las etiquetas, si lo desea, puede aplicar etiquetas para buscar y filtrar sus AWS costes ACLs o realizar un seguimiento de los mismos.
Seleccione Crear.
Utilice los siguientes procedimientos para crear una lista de control de acceso mediante elCLI.
Para crear un usuario nuevo ACL y añadir uno mediante el CLI
-
Utilice el comando create-acl para crear un. ACL
Para Linux, macOS o Unix:
aws memorydb create-acl \ --acl-name "new-acl-1" \ --user-names
"user-name-1"
"user-name-2"
Para Windows:
aws memorydb create-acl ^ --acl-name "new-acl-1" ^ --user-names
"user-name-1"
"user-name-2"
Para modificar una lista de control de acceso mediante la consola
-
Inicie sesión en la consola de MemoryDB AWS Management Console y ábrala en. https://console.aws.amazon.com/memorydb/
-
En el panel de navegación izquierdo, seleccione Listas de control de acceso () ACL.
Elija la ACL que desee modificar y, a continuación, elija Modificar
En la página Modificar, en Usuarios seleccionados, realice una de las siguientes acciones:
Cree un nuevo usuario seleccionando Crear usuario para añadirlo aACL.
Agregue o elimine usuarios seleccionando Administrar y, a continuación, seleccionando o deseleccionando los usuarios en el cuadro de diálogo Administrar usuarios y, a continuación, seleccionando Elegir.
En la página Crear lista de control de acceso (ACL), introduzca un ACL nombre.
Las restricciones para la asignación de nombres de clúster son las siguientes:
Deben contener entre 1 y 40 caracteres alfanuméricos o guiones.
Deben comenzar por una letra.
No pueden contener dos guiones consecutivos.
No pueden terminar con un guion.
En Usuarios seleccionados, realice una de las siguientes acciones:
Para crear un nuevo usuario, seleccione Crear usuario
Para agregar usuarios, elija Administrar y, a continuación, seleccione los usuarios en el cuadro de diálogo Administrar usuarios y, a continuación, seleccione Elegir.
Seleccione Modificar para guardar los cambios o Cancelar para descartarlos.
Para modificar una ACL mediante la adición de nuevos usuarios o la eliminación de los miembros actuales mediante el CLI
-
Utilice el comando update-acl para modificar un. ACL
Para Linux, macOS o Unix:
aws memorydb update-acl --acl-name new-acl-1 \ --user-names-to-add
user-name-3
\ --user-names-to-removeuser-name-2
Para Windows:
aws memorydb update-acl --acl-name new-acl-1 ^ --user-names-to-add
user-name-3
^ --user-names-to-removeuser-name-2
nota
Este comando finaliza cualquier conexión abierta que pertenezca a un usuario eliminado de unACL.
Para ver ACL los detalles en la consola
-
Inicie sesión en la consola de MemoryDB AWS Management Console y ábrala en. https://console.aws.amazon.com/memorydb/
-
En el panel de navegación izquierdo, seleccione Listas de control de acceso () ACL.
Elija el ACL ACLnombre inferior o utilice el cuadro de búsqueda para buscar elACL.
En Usuarios, puede revisar la lista de usuarios asociados aACL.
En Clústeres asociados, puede revisar el clúster al que ACL pertenece.
En Etiquetas, puede revisar cualquier etiqueta asociada alACL.
Utilice el comando describe-acls para ver los detalles de un. ACL
aws memorydb describe-acls \ --acl-name test-group
Para eliminar las listas de control de acceso mediante la consola
-
Inicie sesión en la consola de MemoryDB AWS Management Console y ábrala en. https://console.aws.amazon.com/memorydb/
-
En el panel de navegación izquierdo, seleccione Listas de control de acceso () ACL.
Elija la ACL que desee modificar y, a continuación, elija Eliminar
En la página Eliminar, ingresa
delete
en el cuadro de confirmación y selecciona Eliminar o Cancelar para evitar que se elimine elACL.
Se elimina el elemento ACL en sí, no los usuarios que pertenecen al grupo.
Para eliminar una ACL mediante el CLI
-
Utilice el comando delete-acl para eliminar un. ACL
Para Linux, macOS o Unix:
aws memorydb delete-acl / --
acl-name
Para Windows:
aws memorydb delete-acl ^ --
acl-name
Los ejemplos anteriores devuelven la siguiente respuesta.
aws memorydb delete-acl --acl-name "new-acl-1" { "ACLName": "new-acl-1", "Status": "deleting", "EngineVersion": "6.2", "UserNames": [ "user-name-1", "user-name-3" ], "clusters": [], "ARN":"arn:aws:memorydb:us-east-1:493071037918:acl/new-acl-1" }
Asignación de listas de control de acceso a clústeres
Una vez que haya creado ACL y agregado usuarios, el último paso de la implementación ACLs es asignarlo ACL a un clúster.
Asignación de listas de control de acceso a los clústeres mediante la consola
Para añadir un ACL a un clúster mediante el AWS Management Console, consulteCreación de un clúster de MemoryDB.
Asignación de listas de control de acceso a clústeres mediante el AWS CLI
La siguiente AWS CLI operación crea un clúster con el cifrado en tránsito (TLS) activado y el acl-name parámetro con el valor
. Reemplace el grupo de subredes my-acl-name
subnet-group
por otro existente.
Parámetros clave
-
--engine-version
: debe ser 6.2. -
--tls-enabled
— Se utiliza para la autenticación y para asociar unACL. -
--acl-name
: este valor proporciona listas de control de acceso compuestas por usuarios con permisos de acceso especificados para el clúster.
Para Linux, macOS o Unix:
aws memorydb create-cluster \ --cluster-name "new-cluster" \ --description
"new-cluster"
\ --engine-version "6.2" \ --node-type db.r6g.large \ --tls-enabled \ --acl-name "new-acl-1" \ --subnet-group-name"subnet-group"
Para Windows:
aws memorydb create-cluster ^ --cluster-name "new-cluster" ^ --cluster-description
"new-cluster"
^ --engine-version "6.2" ^ --node-type db.r6g.large ^ --tls-enabled ^ --acl-name "new-acl-1" ^ --subnet-group-name"subnet-group"
La siguiente AWS CLI operación modifica un clúster con el cifrado en tránsito (TLS) activado y el acl-name parámetro con el valor. new-acl-2
Para Linux, macOS o Unix:
aws memorydb update-cluster \ --cluster-name cluster-1 \ --acl-name "new-acl-2"
Para Windows:
aws memorydb update-cluster ^ --cluster-name cluster-1 ^ --acl-name "new-acl-2"