Si usas políticas de listas de control de acceso (LCA) en Memorystore para Valkey, puedes proteger el acceso a tus instancias. Puedes habilitar la seguridad detallada restringiendo el acceso de los usuarios y los servicios a claves, comandos y canales de Pub/Sub específicos.
A continuación, se incluyen ejemplos de casos de uso para aplicar políticas de ACL y proteger el acceso a las instancias:
- Proporciona control de acceso basado en roles (RBAC): Crea perfiles de usuario distintos para los diferentes componentes de tus aplicaciones. Por ejemplo, un frontend web puede tener acceso de solo lectura, mientras que un servicio de trabajador en segundo plano tiene acceso de lectura y escritura. Esto evita la filtración o la manipulación accidental de datos.
- Evita comandos destructivos: Restringe los comandos peligrosos, como
FLUSHALL,FLUSHDBoCONFIG, solo a los administradores de nivel superior. Esto protege la integridad de los datos de errores de software o errores manuales. Proporciona seguridad para aplicaciones multiusuario: Usa usuarios de ACL independientes para diferentes microservicios o socios externos. Esto garantiza que los usuarios de un servicio no puedan leer ni modificar las claves que posee otro servicio.
Memorystore for Valkey no ofrece la arquitectura de múltiples inquilinos a nivel de recursos. Aunque los espacios de claves están divididos, un servicio podría consumir una cantidad desproporcionada de memoria o CPU.
Realiza análisis y supervisión de solo lectura: Asigna un usuario dedicado que solo pueda usar
GETo cualquier otro comando de solo lectura (por ejemplo,SCANoTYPE) a los motores de análisis o las aplicaciones de paneles. Esto evita escrituras accidentales o la eliminación de datos.Claves de base de datos seguras: Restringen las aplicaciones para que solo interactúen con las claves que coinciden con patrones específicos (por ejemplo,
app1:*). Esto proporciona la separación lógica de los datos dentro de una instancia.Inhabilita las secuencias de comandos Lua: Usa políticas de ACL para administrar las capacidades de secuencias de comandos Lua para tus instancias. Inhabilitar o restringir los secuencias de comandos de Lua puede ser útil para ajustar el rendimiento, simplificar la funcionalidad de tus instancias o cumplir con los lineamientos de seguridad de tu organización.
Antes de comenzar
Antes de comenzar a usar las políticas de ACL, completa las instrucciones de esta sección.
Usa la consola de Google Cloud , Google Cloud CLI y las APIs
Para usar la consola de Google Cloud , Google Cloud CLI y las APIs, haz lo siguiente:
- En la consola de Google Cloud , en la página del selector de proyectos, selecciona o crea un proyecto de Google Cloud .
Nota: Si no planeas conservar los recursos que creaste durante este procedimiento, crea un proyecto en lugar de seleccionar uno existente. Cuando termines, puedes borrar el proyecto y quitar todos los recursos asociados con él.
Ir al selector de proyectos - Asegúrate de tener habilitada la facturación para tu proyecto. Obtén información para verificar si la facturación está habilitada en un proyecto.
Instala y, luego, inicializa Google Cloud CLI.
Nota: Si ya instalaste la gcloud CLI, ejecuta
gcloud components updatepara asegurarte de tener la versión más reciente. Necesitas al menos la versión489.0.0de gcloud CLI para acceder a los comandos de gcloud CLI de Memorystore para Valkey.-
Habilita la API de Memorystore para Valkey.
Memorystore for Valkey -
Habilita la API de Network Connectivity.
API de Network Connectivity -
Habilita la API de Service Consumer Management.
API de Service Consumer Management
Asigna roles de Memorystore for Valkey
Asegúrate de que tú o la cuenta de usuario que usas tengan los permisos necesarios para la acción que debes realizar.
Para realizar todas las operaciones de políticas de LCA, usa los roles de Administrador de Memorystore (roles/memorystore.admin) y Editor de Memorystore (roles/memorystore.editor). Para ver solo las políticas de ACL, usa el rol de Visualizador de Memorystore (roles/memorystore.viewer).
Asigna permisos de Memorystore for Valkey
Además de los roles de administrador, editor y visualizador de Memorystore, para usar políticas de LCA en Memorystore para Valkey, necesitas los siguientes permisos:
| Acción | Permiso |
|---|---|
| Crea una política de ACL | memorystore.aclPolicies.create |
| Asigna una política de ACL a una instancia | memorystore.instances.update |
| Consulta información sobre las políticas de ACL | memorystore.aclPolicies.list |
| Visualiza información sobre una política de ACL | memorystore.aclPolicies.get |
| Consulta información sobre las revisiones de la política de ACL | memorystore.aclPolicyRevisions.list |
| Visualiza información sobre la revisión de una política de ACL | memorystore.aclPolicyRevisions.get |
| Cómo modificar una política de ACL | memorystore.aclPolicies.update |
| Quita una política de ACL de una instancia | memorystore.instances.update |
| Borra una política de ACL | memorystore.aclPolicies.delete |
Crea una política de ACL
Cuando creas políticas de LCA en Memorystore para Valkey, mejoras la seguridad de tus instancias, ya que restringes el acceso de los usuarios a claves, comandos y canales de Pub/Sub específicos.
Puedes crear una política de ACL con la Google Cloud consola o laCLI de gcloud.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
En el panel de navegación lateral, haz clic en Políticas de ACL.
En la página ACL policies, haz clic en Create policy.
En la ventana Crear política, haz lo siguiente:
En el campo Nombre de la política, ingresa un nombre para la política de ACL. El nombre de la política solo debe contener letras minúsculas, números y guiones. Además, debe comenzar con una letra y ser único en su región.
En el menú Región, selecciona la región en la que deseas que Memorystore para Valkey cree la política de ACL.
Haz clic en Agregar regla.
En el campo ID de usuario, ingresa el nombre del usuario al que se aplicará la política de LCA.
En el campo Cadena de acceso, ingresa la cadena de acceso para la política. La cadena de acceso es una regla legible que define los permisos específicos para el usuario.
Por ejemplo, si quieres otorgar al superusuario
defaultpermisos de lectura y escritura para todas las claves de LCA de la instancia, completa los campos ID de usuario y Cadena de acceso de la siguiente manera:ID de usuario Cadena de acceso defaulton ~* &* +@allEsta regla otorga los siguientes permisos al usuario de
default:on: El usuario está activo y habilitado para la autenticación.~*: El usuario tiene acceso de lectura y escritura a todas las claves posibles.&*: El usuario tiene acceso a todos los canales de Pub/Sub.+@all: El usuario puede ejecutar todos los comandos disponibles.
Para obtener más información sobre otras reglas y políticas de ACL que puedes crear, consulta ACL en la documentación de Valkey.
Repite los pasos del c al e para crear reglas de ACL adicionales para la política.
Haz clic en Crear.
gcloud
Para crear una política de ACL, usa el comando gcloud memorystore acl-policies create.
gcloud memorystore acl-policies create ACL_POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all",username="lucian" \ --rules=rule="on +get",username="taylor"
Realiza los siguientes reemplazos:
- ACL_POLICY_NAME: Es el nombre de la política de ACL que crearás. El nombre de la política debe contener solo letras minúsculas, números y guiones. Además, debe comenzar con una letra y ser único en su región.
- REGION: Es la región en la que deseas que se ubique la política de ACL.
Esta política usa la autenticación básica basada en tokens y tiene reglas que realizan las siguientes acciones:
- La primera regla otorga a
lucianel permiso~* +@all. Este permiso permite al usuario acceder a todas las claves y ejecutar todos los comandos. - La segunda regla otorga el permiso
getataylor. Este permiso permite al usuario recuperar los valores asociados con las claves. Restringe el acceso del usuario a las operaciones de datos de solo lectura y evita que modifique las claves.
Para crear reglas para una política de ACL que use la autenticación de Identity and Access Management (IAM), te recomendamos que uses principales de IAM para los nombres de usuario (por ejemplo, las direcciones de correo electrónico de los usuarios).
gcloud memorystore acl-policies create ACL_POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all",username="lucian@example.com" \ --rules=rule="on +get",username="taylor@example.com"
Para crear una regla para una política de LCA que no use autenticación, el usuario debe ser el usuario default.
gcloud memorystore acl-policies create ACL_POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all",username="default"
Para obtener más información sobre la autenticación básica basada en tokens y la autenticación de IAM, consulta Protege el acceso a tus instancias con la autenticación básica basada en tokens y Acerca de la autenticación de IAM.
Para obtener más información sobre otras reglas y políticas de ACL que puedes crear, consulta ACL en la documentación de Valkey.
Asigna una política de ACL a una instancia
Cuando asignas una política de ACL a una instancia o reemplazas una política asignada, permites que Memorystore for Valkey aplique las reglas de la política a la instancia. Como resultado, restringes el acceso de los usuarios a claves, comandos y canales de Pub/Sub específicos.
Puedes asignar una política de LCA a una instancia con laGoogle Cloud consola o la CLI de gcloud.
Asigna una política a una instancia nueva
Para crear una instancia y asignarle una política de ACL, consulta Crea instancias.
Asigna una política a una instancia existente
Para aumentar la seguridad de una instancia existente, puedes asignarle una política de LCA.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
Haz clic en el ID de la instancia a la que deseas asignar una política de LCA.
En la página Instancia de un vistazo, desplázate hasta la tarjeta Seguridad.
Junto al campo Política de ACL, haz clic en Editar (edit).
En la ventana Editar política de ACL, haz lo siguiente:
En el menú Política, selecciona la política que deseas asignar a la instancia.
Haz clic en Actualizar instancia.
gcloud
Para asignar una política de LCA a una instancia existente, usa el comando gcloud memorystore instances update.
gcloud memorystore instances update INSTANCE_ID \ --update_mask=acl_policy \ --acl-policy=ACL_POLICY_NAME \ --location=REGION
Realiza los siguientes reemplazos:
- INSTANCE_ID: Es el ID de la instancia a la que le asignas la política de ACL.
- ACL_POLICY_NAME: Es el nombre de la política de ACL.
- REGION: Es la región en la que se encuentra la instancia.
Consulta información sobre las políticas de ACL
Ver información sobre las políticas de LCA en Memorystore para Valkey te ayuda a mantener la seguridad, garantiza la estabilidad operativa de tu entorno y te permite auditar los datos en memoria. Estas políticas definen qué usuarios pueden leer o modificar patrones de claves particulares, ejecutar comandos específicos o acceder a canales de Pub/Sub específicos.
Puedes ver información sobre las políticas de ACL con laGoogle Cloud consola o la CLI de gcloud.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
En el panel de navegación lateral, haz clic en Políticas de ACL.
En la página Políticas de ACL, puedes ver la siguiente información sobre cada política de ACL:
- ID de política: Es el ID único de la política.
- Ubicación: Es la región en la que se encuentra la política.
- Fecha de creación: La fecha y la hora en que se creó la política
- Actualización: La fecha y hora en que se actualizó la política por última vez
- Cantidad de reglas: Es la cantidad total de reglas de la política.
- Usadas por instancias: Son las instancias que se asignan a la política.
gcloud
Para ver información sobre las políticas de ACL, usa el comando gcloud memorystore acl-policies list.
gcloud memorystore acl-policies list --location=REGION
Reemplaza REGION por la región en la que se encuentra la política de LCA.
Visualiza información sobre una política de ACL
Si ves información sobre una política de LCA en Memorystore para Valkey, puedes realizar auditorías de seguridad, solucionar errores de acceso y aplicar el principio de privilegio mínimo verificando los comandos del usuario, los permisos de claves y el acceso a los canales de Pub/Sub. Además, los administradores pueden ver una política de ACL para asegurarse de que tus aplicaciones tengan el acceso adecuado y detectar reglas demasiado permisivas.
Puedes ver información sobre una política de LCA con la CLI de gcloud. Para ver esta información, usa el comando gcloud memorystore acl-policies describe.
gcloud memorystore acl-policies describe ACL_POLICY_NAME \ --location=REGION
Realiza los siguientes reemplazos:
- ACL_POLICY_NAME: Es el nombre de la política de ACL sobre la que deseas ver información.
- REGION: Es la región en la que se encuentra la política de ACL.
Consulta información sobre las revisiones de la política de ACL
Cuando creas una política de ACL, Memorystore for Valkey crea una versión (revisión) de la política. Cada vez que modificas la política, Memorystore for Valkey crea una revisión posterior de la política.
Como Memorystore para Valkey genera estas revisiones automáticamente, puedes usarlas para fines de seguimiento y auditoría internos. Además, ver las revisiones te permite ver el contenido exacto de la política de ACL en cada versión histórica.
Con las revisiones de políticas de ACL, puedes hacer un seguimiento de qué instancias usan qué revisión de una política. Esto te ayuda a mantener la visibilidad y garantizar que las instancias estén en la versión correcta durante los períodos de coherencia eventual después de una actualización de política.
Puedes ver información sobre las revisiones de la política de LCA con laGoogle Cloud consola o la gcloud CLI.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
En el panel de navegación lateral, haz clic en Políticas de ACL.
En la página Políticas de ACL, haz clic en el ID de la política de ACL que tiene revisiones que deseas ver. En la página Revisiones de la política de ACL, aparece la siguiente información:
- ID de revisión: Es el ID de cada revisión de la política de ACL.
- Número de revisión: Es el número de cada revisión de la política de ACL.
- Ubicación: Es la región en la que se encuentra cada revisión de la política de la ACL.
- Fecha de creación: La fecha y la hora en que se creó cada revisión de la política de la ACL
- Instancias adjuntas: Son las instancias que se asignan a cada revisión de la política de ACL.
- Instantánea: Información detallada sobre cada revisión de la política de LCA
gcloud
Para ver información sobre las revisiones de la política de ACL, usa el comando gcloud memorystore acl-policies revisions list.
gcloud memorystore acl-policies revisions list \ --acl-policy=ACL_POLICY_NAME \ --location=REGION
Realiza los siguientes reemplazos:
- ACL_POLICY_NAME: Es el nombre de la política de LCA que contiene las revisiones sobre las que deseas ver información.
- REGION: Es la región en la que se encuentra la política de ACL.
En el resultado, toma nota de los IDs de revisión. Necesitas estos IDs para ver información sobre revisiones específicas de la política de ACL.
Visualiza información sobre la revisión de una política de ACL
Ver una revisión de la política de ACL te permite ver sus reglas, metadatos y una lista de todas las instancias adjuntas. Puedes ver información sobre una revisión de la política de LCA con la Google Cloud consola o lagcloud CLI.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
En el panel de navegación lateral, haz clic en Políticas de ACL.
En la página ACL policies, haz clic en el ID de la política de ACL que tiene una revisión que deseas ver.
En la página Revisiones de la política de ACL, haz clic en el vínculo Instantánea junto a la revisión de la política de ACL que tiene la información que deseas ver.
gcloud
Para ver información sobre una revisión de la política de ACL, usa el comando gcloud memorystore acl-policies revisions describe.
gcloud memorystore acl-policies revisions describe ACL_POLICY_REVISION_ID \ --acl-policy=ACL_POLICY_NAME \ --location=REGION
Realiza los siguientes reemplazos:
- ACL_POLICY_REVISION_ID: Es el ID de la revisión de la política de la ACL sobre la que deseas ver información. Anotaste este ID cuando viste información sobre las revisiones de la política de ACL.
- ACL_POLICY_NAME: Es el nombre de la política de ACL que contiene la revisión.
- REGION: Es la región en la que se encuentra la política de ACL.
Cómo modificar una política de ACL
Si modificas una política de ACL en Memorystore for Valkey, puedes mejorar la seguridad, aplicar el principio de privilegio mínimo y administrar la seguridad operativa. Puedes modificar una política con la consola de Google Cloud o la CLI de gcloud.
Agrega una regla a una política de LCA
Para aumentar la seguridad de una política de ACL, agrégale una regla.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
En el panel de navegación lateral, haz clic en Políticas de ACL.
Junto a la política de ACL a la que deseas agregar una regla, haz clic en Más acciones (more_vert) y, luego, selecciona Editar.
En la ventana Editar política, haz clic en Agregar regla.
En el campo ID de usuario, ingresa el nombre del usuario al que se aplicará la política de LCA.
En el campo Cadena de acceso, ingresa la cadena de acceso para la política. Para obtener más información sobre las cadenas de acceso para las políticas de ACL, consulta Crea una política de ACL.
Repite los pasos del 4 al 6 para agregar reglas de ACL adicionales a la política.
Haz clic en Guardar.
gcloud
Para agregar una regla a una política de ACL, usa el comando gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update ACL_POLICY_NAME \ --location=REGION \ --add-rules=rule="on ~list:*",username="lucian"
Realiza los siguientes reemplazos:
- ACL_POLICY_NAME: Es el nombre de la política de ACL para la que deseas agregar una regla de ACL.
- REGION: Es la región en la que se encuentra la política de ACL.
Esta regla otorga acceso de lucian a todas las claves que comienzan con list:.
Cómo modificar una regla de una política de ACL
Modificar una Regla LCA para una política de ACL proporciona mayor seguridad, mejor seguridad operativa y un control de acceso del usuario más detallado. Por ejemplo, puedes revocar permisos durante una respuesta ante incidentes o habilitar el acceso temporal con fines de depuración.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
En el panel de navegación lateral, haz clic en Políticas de ACL.
Junto a la política de ACL para la que deseas modificar una regla, haz clic en Más acciones (more_vert) y, luego, selecciona Editar.
En la ventana Editar política, haz clic en Agregar regla.
En los campos ID de usuario y Cadena de acceso, modifica el ID de usuario o la cadena de acceso de la política. Para obtener más información sobre las cadenas de acceso para las políticas de LCA, consulta Crea una política de LCA.
Repite los pasos 4 y 5 para las reglas de ACL adicionales que desees modificar en la política.
Haz clic en Guardar.
Reemplaza las reglas de una política de ACL
Al igual que cuando se modifica una regla de una política, reemplazar las reglas de una política proporciona mayor seguridad, mejor seguridad operativa y un control de acceso del usuario más detallado.
gcloud
Para reemplazar las reglas de una política de LCA, usa el comando gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update ACL_POLICY_NAME \ --location=REGION \ --rules=rule="on ~c*che",username="lucian"
Realiza los siguientes reemplazos:
- ACL_POLICY_NAME: Es el nombre de la política de ACL para la que deseas reemplazar las reglas de ACL.
- REGION: Es la región en la que se encuentra la política de ACL.
La regla que reemplazas para la política otorga acceso de lucian a todas las claves que coinciden con el patrón c*che. Por ejemplo, cache, caache y ceche.
Quita una regla de una política de ACL
Si una regla de ACL ya no se aplica a una política de ACL, puedes quitarla.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
En el panel de navegación lateral, haz clic en Políticas de ACL.
Junto a la política de ACL de la que deseas quitar una regla, haz clic en Más acciones (more_vert) y, luego, selecciona Editar.
En la ventana Editar política, junto a la regla que quieras quitar de la política, haz clic en Borrar regla (delete).
Repite el paso 4 para las reglas de ACL adicionales que quieras quitar de la política.
Haz clic en Guardar.
gcloud
Para quitar una regla de una política de LCA, usa el comando gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update ACL_POLICY_NAME \ --location=REGION \ --remove-rules=rule="on ~set",username="lucian"
Realiza los siguientes reemplazos:
- ACL_POLICY_NAME: Es el nombre de la política de ACL de la que deseas quitar una regla de ACL.
- REGION: Es la región en la que se encuentra la política de ACL.
Si quitas esta regla, se revocarán los permisos asociados para lucian. Para acceder a la instancia, lucian ahora debe conectarse como el usuario default y está sujeto a los permisos de ese usuario.
Quita una política de ACL de una instancia
Si una política de ACL ya no se aplica a una instancia de Memorystore para Valkey, puedes quitarla. Puedes quitar una política con la consola deGoogle Cloud o la CLI de gcloud.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
Haz clic en el ID de la instancia de la que deseas quitar una política de ACL.
En la página Instancia de un vistazo, desplázate hasta la tarjeta Seguridad.
Junto al campo Política de ACL, haz clic en Editar (edit).
En la ventana Editar política de ACL, haz lo siguiente:
En el menú Política, selecciona Sin política.
Haz clic en Actualizar instancia.
gcloud
Para quitar una política de LCA de una instancia, usa el comando gcloud memorystore instances update.
gcloud memorystore instances update INSTANCE_ID \ --clear-acl-policy \ --location=REGION
Realiza los siguientes reemplazos:
- INSTANCE_ID: Es el ID de la instancia de la que quitas la política de ACL.
- REGION: Es la región en la que se encuentra la instancia.
Borra una política de ACL
Si ya no necesitas una política de ACL, puedes borrarla. Puedes borrar una política con la consola de Google Cloud o la CLI de gcloud.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
En el panel de navegación lateral, haz clic en Políticas de ACL.
Junto a la política de ACL que quieres borrar, haz clic en Más acciones (more_vert) y, luego, selecciona Borrar.
Si el elemento de menú Borrar está desactivado, significa que la política está asignada a instancias. Antes de borrar la política, debes quitarla de cada instancia.
En la ventana Borrar política, haz lo siguiente:
En el campo de texto, ingresa el nombre de la política.
Haz clic en Borrar.
gcloud
Para borrar una política de ACL, usa el comando gcloud memorystore acl-policies delete.
gcloud memorystore acl-policies delete ACL_POLICY_NAME \ --location=REGION
Realiza los siguientes reemplazos:
- ACL_POLICY_NAME: Es el nombre de la política de ACL que deseas borrar.
- REGION: Es la región en la que se encuentra la política de ACL.
Inhabilita los secuencias de comandos de Lua
Puedes usar políticas de ACL para administrar las capacidades de secuencias de comandos de Lua para tus instancias. Inhabilitar o restringir los secuencias de comandos de Lua puede ser útil para ajustar el rendimiento, simplificar la funcionalidad de tus instancias o cumplir con los lineamientos de seguridad de tu organización.
Inhabilita los comandos de secuencias de comandos para los usuarios
Para inhabilitar las secuencias de comandos de Lua de modo que los usuarios no puedan ejecutarlas, debes usar políticas de LCA y quitar los permisos para los comandos de secuencias de comandos de la cadena de reglas de LCA del usuario.
Valkey categoriza los comandos en grupos. La escritura de secuencias de comandos en Lua se incluye en la categoría @scripting. Los comandos principales para los que debes quitar los permisos del usuario son los siguientes:
EVAL: Ejecuta una secuencia de comandos de Lua que se proporciona como una cadena.EVALSHA: Ejecuta una secuencia de comandos Lua almacenada en caché con el comandoSCRIPT LOAD.SCRIPT: Administra la caché de secuencias de comandos (por ejemplo,LOAD,FLUSH,EXISTSyKILL).El comando
SCRIPTincluye los siguientes subcomandos:
Puedes inhabilitar todos los comandos de secuencias de comandos o un comando específico para los usuarios.
Para inhabilitar los comandos de secuencias de comandos, usa la CLI de gcloud y antepone un signo menos (-) al comando o la categoría.
Inhabilita todos los comandos de secuencias de comandos para un usuario
Para inhabilitar todos los comandos de secuencias de comandos para un usuario, crea una política de ACL y asígnala a una instancia, o bien modifica una política de ACL que esté asignada a una instancia.
Crear una política
Para crear una política de ACL que inhabilite todos los comandos de secuencias de comandos para un usuario llamado lucian, usa el comando gcloud memorystore acl-policies create.
gcloud memorystore acl-policies create POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all -@scripting",username=lucian
Realiza los siguientes reemplazos:
- POLICY_NAME: Es el nombre de la política de ACL.
- REGION: Es la región en la que deseas que se ubique la política de ACL.
Después de crear la política, debes asignarla a una instancia nueva o existente.
Modifica una política
Para modificar una política de ACL y, así, inhabilitar todos los comandos de secuencias de comandos para lucian, usa el comando gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all -@scripting",username=lucian
Realiza los siguientes reemplazos:
- POLICY_NAME: Es el nombre de la política de ACL.
- REGION: Es la región en la que se encuentra la política de ACL.
Si solo deseas otorgar permisos específicos que necesita un usuario, cambia el valor de +@all. Por ejemplo, si quieres que el usuario solo tenga acceso a comandos de solo lectura, cambia +@all a +@read. Para obtener más información sobre los permisos de usuario que puedes establecer, consulta la documentación de la LCA de Valkey.
Inhabilita un comando de secuencias de comandos para un usuario
Puedes segmentar comandos específicos para inhabilitarlos para un usuario. Por ejemplo, puedes permitir que el usuario ejecute todos los comandos de secuencias de comandos, excepto el comando SCRIPT FLUSH. Para inhabilitar un comando de secuencias de comandos para un usuario, crea una política de LCA y asígnala a una instancia, o bien modifica una política de LCA que esté asignada a una instancia.
Puedes inhabilitar cualquier comando de secuencias de comandos. En los ejemplos de esta sección, inhabilitarás el comando SCRIPT FLUSH para el usuario. Para obtener una lista de los comandos de secuencias de comandos, consulta Cómo inhabilitar los comandos de secuencias de comandos para los usuarios.
Crear una política
Para crear una política de ACL que inhabilite el comando de secuencias de comandos SCRIPT FLUSH para lucian, usa el comando gcloud memorystore acl-policies create.
gcloud memorystore acl-policies create POLICY_NAME \ --location=REGION \ --rules=rule="on ~* -script|flush",username=lucian
Realiza los siguientes reemplazos:
- POLICY_NAME: Es el nombre de la política de ACL.
- REGION: Es la región en la que deseas que se ubique la política de ACL.
Después de crear la política, debes asignarla a una instancia nueva o existente.
Modifica una política
Para modificar una política de ACL y, así, inhabilitar todos los comandos de secuencias de comandos para lucian, usa el comando gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update POLICY_NAME \ --location=REGION \ --rules=rule="on ~* -script|flush",username=lucian
Realiza los siguientes reemplazos:
- POLICY_NAME: Es el nombre de la política de ACL.
- REGION: Es la región en la que se encuentra la política de ACL.
Si solo deseas otorgar permisos específicos que necesita un usuario, cambia el valor de +@all. Por ejemplo, si quieres que el usuario solo tenga acceso a comandos de solo lectura, cambia +@all a +@read. Para obtener más información sobre los permisos de usuario que puedes establecer, consulta la documentación de la LCA de Valkey.
Protege al usuario predeterminado
Para inhabilitar los permisos de secuencias de comandos para el superusuario default, crea una política de LCA y asígnala a una instancia, o bien modifica una política de LCA que esté asignada a una instancia.
Crear una política
Para crear una política de LCA que inhabilite todos los comandos de secuencias de comandos para el usuario default, usa el comando gcloud memorystore acl-policies create.
gcloud memorystore acl-policies create POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all -@scripting",username=default
Realiza los siguientes reemplazos:
- POLICY_NAME: Es el nombre de la política de ACL.
- REGION: Es la región en la que deseas que se ubique la política de ACL.
Después de crear la política, debes asignarla a una instancia nueva o existente.
Modifica una política
Para modificar una política de LCA y, así, inhabilitar todos los comandos de secuencias de comandos para el usuario default, usa el comando gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all -@scripting",username=default
Realiza los siguientes reemplazos:
- POLICY_NAME: Es el nombre de la política de ACL.
- REGION: Es la región en la que se encuentra la política de ACL.
Si solo deseas otorgar permisos específicos que necesita el usuario default, cambia el valor de +@all. Por ejemplo, si quieres que este usuario solo tenga acceso a comandos de solo lectura, cambia +@all por +@read. Para obtener más información sobre los permisos de usuario que puedes configurar, consulta la documentación de la LCA de Valkey.
Solucionar problemas
En esta sección, se enumeran los mensajes de error que puedes recibir cuando usas políticas de LCA, los motivos de estos mensajes y sugerencias para solucionar los problemas relacionados con ellos.
| Mensaje de error | Causa | Solucionar problemas |
|---|---|---|
username cannot be empty |
Estableces una cadena vacía o una cadena que solo contiene espacios en blanco para un nombre de usuario en una política de LCA. | Usa un nombre de usuario que tenga caracteres alfanuméricos o especiales. Luego, vuelve a crear la política de ACL. |
duplicate username found in ACL policy |
Tienes nombres de usuario duplicados en una política de ACL. | Usa los registros de errores para encontrar el nombre de usuario duplicado. Modifica la solicitud de creación de la política de ACL para especificar exactamente una regla para el nombre de usuario. Luego, vuelve a crear la política de ACL. |
ACL rule token cannot contain token. use either
IAM or Basic Auth features to enable authentication
|
No puedes usar caracteres de contraseña (por ejemplo, <, >, # y !) ni comandos relacionados (por ejemplo, nopass, resetpass y reset) en una política de LCA. |
Quita todos los caracteres de contraseña y los comandos relacionados de las reglas de la política de ACL. Luego, vuelve a crear la política de ACL. Para configurar la autenticación, habilita la autenticación básica o la autenticación basada en IAM. |
passwords not allowed in ACL rules (token starts with
char). use either IAM or Basic Auth features to
enable authentication |
No puedes usar caracteres de contraseña (por ejemplo, <, >, # y !) ni comandos relacionados (por ejemplo, nopass, resetpass y reset) en una política de LCA. |
Quita todos los caracteres de contraseña y los comandos relacionados de las reglas de la política de ACL. Luego, vuelve a crear la política de ACL. Para configurar la autenticación, habilita la autenticación básica o la autenticación basada en IAM. |
invalid ACL rule syntax |
No formateaste correctamente una cadena de acceso en una o más reglas de la política de ACL. | Da formato a la cadena de acceso correctamente. |
ACL policy is in DELETING state and cannot be used |
Intentas asignar una política de ACL a una instancia, pero la política tiene el estado DELETING. |
Asigna una política de ACL diferente a la instancia. |
ACL_POLICY_IN_USE: ACL policy is in use by 1 or more instances
|
Estás intentando borrar una política de ACL que está asignada a al menos una instancia. | Antes de borrar una política de LCA, debes quitarla de todas las instancias a las que esté asignada. Para determinar qué instancias se asignan a una política, consulta Cómo ver información sobre las políticas de LCA. |
fast-failing the workflow as the resource is in DELETING
state |
Estás intentando modificar una política de ACL que tiene el estado DELETING. |
Si una política de LCA tiene el estado DELETING, no podrás modificarla. |