Protege el acceso a tus clústeres con políticas de ACL

Con las políticas de listas de control de acceso (LCA) en Memorystore para Redis Cluster, puedes proteger el acceso a tus clústeres. Puedes habilitar la seguridad detallada restringiendo el acceso de los usuarios y servicios a claves, comandos y canales de Pub/Sub específicos.

A continuación, se incluyen ejemplos de casos de uso para usar políticas de ACL y proteger el acceso a los clústeres:

  • Proporciona control de acceso basado en roles (RBAC): Crea perfiles de usuario distintos para 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, FLUSHDB o CONFIG, solo a los administradores de alto nivel. Esto protege la integridad de los datos contra errores de software o manuales.
  • Proporciona seguridad para aplicaciones multiusuario: Usa usuarios de ACL separados para diferentes microservicios o socios externos. Esto garantiza que los usuarios de un servicio no puedan leer ni modificar las claves que pertenecen a otro servicio.

    Memorystore for Redis Cluster no ofrece multiusuario a nivel de recurso. 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 pueda usar solo GET o cualquier otro comando de solo lectura (por ejemplo, SCAN o TYPE) para motores de análisis o aplicaciones de panel. Esto evita escrituras o eliminaciones de datos accidentales.

  • Protege las claves de la base de datos: Restringe las aplicaciones para que interactúen solo con claves que coincidan con patrones específicos (por ejemplo, app1:*). Esto proporciona la separación lógica de los datos dentro de un clúster.

  • Inhabilita las secuencias de comandos de Lua: Usa políticas de LCA para administrar las capacidades de secuencias de comandos de Lua de tus clústeres. Inhabilitar o restringir los secuencias de comandos de Lua puede ser útil para ajustar el rendimiento, simplificar la funcionalidad de tus clústeres 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:

  1. 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 creados durante este procedimiento, crea un proyecto en lugar de seleccionar un proyecto existente. Cuando termines, puedes borrar el proyecto y quitar todos los recursos asociados con él.


    Ir al selector de proyectos
  2. 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.
  3. Instala y, luego, inicializa Google Cloud CLI.

    Nota: Si ya instalaste gcloud CLI, ejecuta gcloud components update para asegurarte de tener la versión más reciente. Necesitas al menos la versión 440.0.0 de gcloud CLI para acceder a los comandos de gcloud CLI de Memorystore for Redis Cluster.

  4. Habilita la API de Memorystore para Redis.
    Memorystore para Redis
  5. Habilita la API de Network Connectivity.
    API de Network Connectivity
  6. Habilita la API de Service Consumer Management.
    API de Service Consumer Management

Asigna roles de Memorystore for Redis Cluster

Asegúrate de que tú o la cuenta de usuario que usas tengan los permisos necesarios para las acciones que debes realizar.

Para realizar todas las operaciones de políticas de LCA, usa los roles de administrador de Redis (roles/redis.admin) y editor de Redis (roles/redis.editor). Para ver solo las políticas de ACL, usa el rol Visualizador de Redis (roles/redis.viewer).

Asigna permisos de Memorystore for Redis Cluster

Además de los roles de administrador, editor y visualizador de Redis, para usar las políticas de ACL en Memorystore para Redis Cluster, necesitas los siguientes permisos:

Acción Permiso
Crea una política de ACL redis.aclPolicies.create
Asigna una política de LCA a un clúster redis.clusters.update
Visualiza información sobre las políticas de ACL redis.aclPolicies.list
Visualiza información sobre una política de ACL redis.aclPolicies.get
Visualiza información sobre las revisiones de la política de ACL redis.aclPolicyRevisions.list
Visualiza información sobre la revisión de una política de ACL redis.aclPolicyRevisions.get
Modifica una política de ACL redis.aclPolicies.update
Quita una política de ACL de un clúster redis.clusters.update
Borra una política de ACL redis.aclPolicies.delete

Crea una política de LCA

Cuando creas políticas de LCA en Memorystore para Redis Cluster, mejoras la seguridad de tus clústeres, 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

  1. En la consola de Google Cloud , ve a la página Memorystore para Redis Cluster.

    Memorystore for Redis Cluster

  2. En el panel de navegación lateral, haz clic en Políticas de ACL.

  3. En la página Políticas de ACL, haz clic en Crear política.

  4. En la ventana Crear política, haz lo siguiente:

    1. 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. También debe comenzar con una letra y ser único en su región.

    2. En el menú Región, selecciona la región en la que deseas que Memorystore for Redis Cluster cree la política de ACL.

    3. Haz clic en Agregar regla.

    4. En el campo ID de usuario, ingresa el nombre del usuario al que se aplicará la política de ACL.

    5. En el campo Cadena de acceso, ingresa la cadena de acceso de la política. La cadena de acceso es una regla legible por humanos que define los permisos específicos del usuario.

      Por ejemplo, si deseas otorgar al superusuario default permisos de lectura y escritura para todas las claves de LCA del clúster, completa los campos ID de usuario y Cadena de acceso de la siguiente manera:

      ID de usuario Cadena de acceso
      default on ~* &* +@all

      Esta regla otorga los siguientes permisos al usuario 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 Redis.

    6. Repite los pasos del c al e para las reglas de ACL adicionales que quieras crear para la política.

    7. Haz clic en Crear.

gcloud

Para crear una política de ACL, usa el comando gcloud redis acl-policies create.

gcloud redis acl-policies create ACL_POLICY_NAME \
--region=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. También 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 lucian el permiso ~* +@all. Este permiso permite que el usuario acceda a todas las claves y ejecute todos los comandos.
  • La segunda regla otorga el permiso get a taylor. Este permiso permite que el usuario recupere los valores asociados con las claves. Restringe el acceso del usuario a las operaciones de datos de solo lectura y evita que el usuario modifique las claves.

Para crear reglas de 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 redis acl-policies create ACL_POLICY_NAME \
--region=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 ACL que no usa autenticación, el usuario debe ser el usuario default.

gcloud redis acl-policies create ACL_POLICY_NAME \
--region=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 Accede de forma segura a tus clústeres 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 Redis.

Asigna una política de ACL a un clúster

Cuando asignas una política de ACL a un clúster o reemplazas una política asignada, habilitas Memorystore for Redis Cluster para que aplique las reglas de la política al clúster. 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 un clúster con laGoogle Cloud consola o la CLI de gcloud.

Asigna una política a un clúster nuevo

Para crear un clúster y asignarle una política de LCA, consulta Crea instancias.

Asigna una política a un clúster existente

Para aumentar la seguridad de un clúster existente, puedes asignarle una política de ACL.

Console

  1. En la consola de Google Cloud , ve a la página Memorystore para Redis Cluster.

    Memorystore for Redis Cluster

  2. Haz clic en el ID del clúster al que deseas asignar una política de LCA.

  3. En la página Resumen del clúster, desplázate hasta la tarjeta Seguridad.

  4. Junto al campo Política de ACL, haz clic en Editar ().

  5. En la ventana Editar política de ACL, haz lo siguiente:

    1. En el menú Política, selecciona la política que deseas asignar al clúster.

    2. Haz clic en Actualizar clúster.

gcloud

Para asignar una política de ACL a un clúster existente, usa el comando gcloud redis clusters update.

gcloud redis clusters update CLUSTER_ID \
--update_mask=acl_policy \
--acl-policy=ACL_POLICY_NAME \
--region=REGION

Realiza los siguientes reemplazos:

  • CLUSTER_ID: Es el ID del clúster al 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 el clúster.

Consulta información sobre las políticas de ACL

Ver información sobre las políticas de ACL en Memorystore for Redis Cluster 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

  1. En la consola de Google Cloud , ve a la página Memorystore para Redis Cluster.

    Memorystore for Redis Cluster

  2. 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 la 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: Es la fecha y hora en que se creó la política.
    • Fecha de actualización: Es 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.
    • Usado por clústeres: Los clústeres que se asignan a la política

gcloud

Para ver información sobre las políticas de ACL, usa el comando gcloud redis acl-policies list.

gcloud redis acl-policies list
--region=REGION

Reemplaza REGION por la región en la que se encuentra la política de ACL.

Visualiza información sobre una política de ACL

Cuando ves información sobre una política de LCA en Memorystore para Redis Cluster, 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 ACL con la gcloud CLI. Para ver esta información, usa el comando gcloud redis acl-policies describe.

gcloud redis acl-policies describe ACL_POLICY_NAME \
--region=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.

Visualiza información sobre las revisiones de la política de ACL

Cuando crea una política de ACL, Memorystore for Redis Cluster crea una versión (revisión) de la política. Cada vez que modificas la política, Memorystore para Redis Cluster crea una revisión posterior de la política.

Dado que Memorystore for Redis Cluster genera estas revisiones automáticamente, puedes usarlas para fines internos de seguimiento y auditoría. 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 la política de ACL, puedes hacer un seguimiento de qué clústeres usan qué revisión de una política. Esto te ayuda a mantener la visibilidad y garantizar que los clústeres tengan la versión correcta durante los períodos de coherencia eventual después de una actualización de la política.

Puedes ver información sobre las revisiones de las políticas de ACL con la consola deGoogle Cloud o la gcloud CLI.

Console

  1. En la consola de Google Cloud , ve a la página Memorystore para Redis Cluster.

    Memorystore for Redis Cluster

  2. En el panel de navegación lateral, haz clic en Políticas de ACL.

  3. 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 ACL.
    • Fecha de creación: Fecha y hora en que se creó cada revisión de la política de ACL
    • Clústeres conectados: Son los clústeres 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 ACL

gcloud

Para ver información sobre las revisiones de la política de ACL, usa el comando gcloud redis acl-policies revisions list.

gcloud redis acl-policies revisions list \
--acl-policy=ACL_POLICY_NAME \
--region=REGION

Realiza los siguientes reemplazos:

  • ACL_POLICY_NAME: Es el nombre de la política de ACL 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, anota 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 LCA te permite ver sus reglas, metadatos y una lista de todos los clústeres adjuntos. Puedes ver información sobre una revisión de la política de LCA con la Google Cloud consola o lagcloud CLI.

Console

  1. En la consola de Google Cloud , ve a la página Memorystore para Redis Cluster.

    Memorystore for Redis Cluster

  2. En el panel de navegación lateral, haz clic en Políticas de ACL.

  3. En la página Políticas de ACL, haz clic en el ID de la política de ACL que tiene una revisión que deseas ver.

  4. 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 redis acl-policies revisions describe.

gcloud redis acl-policies revisions describe ACL_POLICY_REVISION_ID \
--acl-policy=ACL_POLICY_NAME \
--region=REGION

Realiza los siguientes reemplazos:

  • ACL_POLICY_REVISION_ID: Es el ID de la revisión de la política de 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.

Modifica una política de ACL

Si modificas una política de LCA en Memorystore para Redis Cluster, puedes mejorar la seguridad, aplicar el acceso con privilegios mínimos 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 ACL

Para aumentar la seguridad de una política de ACL, agrégale una regla.

Console

  1. En la consola de Google Cloud , ve a la página Memorystore para Redis Cluster.

    Memorystore for Redis Cluster

  2. En el panel de navegación lateral, haz clic en Políticas de ACL.

  3. Junto a la política de ACL a la que deseas agregar una regla, haz clic en Más acciones () y, luego, selecciona Editar.

  4. En la ventana Editar política, haz clic en Agregar regla.

  5. En el campo ID de usuario, ingresa el nombre del usuario al que se aplicará la política de ACL.

  6. 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 de las políticas de ACL, consulta Crea una política de ACL.

  7. Repite los pasos del 4 al 6 para agregar reglas de ACL adicionales a la política.

  8. Haz clic en Guardar.

gcloud

Para agregar una regla a una política de ACL, usa el comando gcloud redis acl-policies update.

gcloud redis acl-policies update ACL_POLICY_NAME \
--region=REGION \
--add-rules=rule="on ~list:*",username="lucian"

Realiza los siguientes reemplazos:

  • ACL_POLICY_NAME: Es el nombre de la política de ACL a la que deseas agregar una regla de ACL.
  • REGION: 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:.

Modifica una regla para una política de ACL

Modificar una regla de ACL para una política de ACL proporciona una seguridad más estricta, una mayor seguridad operativa y un control de acceso de usuarios más detallado. Por ejemplo, puedes revocar permisos durante una respuesta ante incidentes o habilitar el acceso temporal con fines de depuración.

Console

  1. En la consola de Google Cloud , ve a la página Memorystore para Redis Cluster.

    Memorystore for Redis Cluster

  2. En el panel de navegación lateral, haz clic en Políticas de ACL.

  3. Junto a la política de ACL para la que deseas modificar una regla, haz clic en Más acciones () y, luego, selecciona Editar.

  4. En la ventana Editar política, haz clic en Agregar regla.

  5. 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 de las políticas de ACL, consulta Crea una política de ACL.

  6. Repite los pasos 4 y 5 para las reglas de LCA adicionales que quieras modificar para la política.

  7. Haz clic en Guardar.

Reemplaza las reglas de una política de ACL

Al igual que cuando se modifica una regla para una política, reemplazar las reglas de una política proporciona una seguridad más estricta, una mayor seguridad operativa y un control de acceso de los usuarios más detallado.

gcloud

Para reemplazar las reglas de una política de ACL, usa el comando gcloud redis acl-policies update.

gcloud redis acl-policies update ACL_POLICY_NAME \
--region=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: 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

  1. En la consola de Google Cloud , ve a la página Memorystore para Redis Cluster.

    Memorystore for Redis Cluster

  2. En el panel de navegación lateral, haz clic en Políticas de ACL.

  3. Junto a la política de ACL de la que deseas quitar una regla, haz clic en Más acciones () y, luego, selecciona Editar.

  4. En la ventana Editar política, junto a la regla que deseas quitar de la política, haz clic en Borrar regla ().

  5. Repite el paso 4 para las reglas de ACL adicionales que quieras quitar de la política.

  6. Haz clic en Guardar.

gcloud

Para quitar una regla de una política de ACL, usa el comando gcloud redis acl-policies update.

gcloud redis acl-policies update ACL_POLICY_NAME \
--region=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 al clúster, lucian ahora debe conectarse como el usuario default y está sujeto a los permisos de ese usuario.

Quita una política de ACL de un clúster

Si una política de LCA ya no se aplica a un clúster en Memorystore para Redis Cluster, puedes quitarla. Puedes quitar una política con la consola deGoogle Cloud o la gcloud CLI.

Console

  1. En la consola de Google Cloud , ve a la página Memorystore para Redis Cluster.

    Memorystore for Redis Cluster

  2. Haz clic en el ID del clúster del que deseas quitar una política de ACL.

  3. En la página Resumen del clúster, desplázate hasta la tarjeta Seguridad.

  4. Junto al campo Política de ACL, haz clic en Editar ().

  5. En la ventana Editar política de ACL, haz lo siguiente:

    1. En el menú Política, selecciona Sin política.

    2. Haz clic en Actualizar clúster.

gcloud

Para quitar una política de ACL de un clúster, usa el comando gcloud redis clusters update.

gcloud redis clusters update CLUSTER_ID \
--acl-policy="" \
--region=REGION

Realiza los siguientes reemplazos:

  • CLUSTER_ID: Es el ID del clúster del que quitarás la política de ACL.
  • REGION: Es la región en la que se encuentra el clúster.

El valor "" del parámetro acl-policy es una cadena vacía. Esto indica que deseas quitar la política de ACL del clúster.

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

  1. En la consola de Google Cloud , ve a la página Memorystore para Redis Cluster.

    Memorystore for Redis Cluster

  2. En el panel de navegación lateral, haz clic en Políticas de ACL.

  3. Junto a la política de ACL que deseas borrar, haz clic en Más acciones () y, luego, selecciona Borrar.

    Si el elemento de menú Borrar está desactivado, significa que la política está asignada a clústeres. Antes de borrar la política, debes quitarla de cada clúster.

  4. En la ventana Borrar política, haz lo siguiente:

    1. En el campo de texto, ingresa el nombre de la política.

    2. Haz clic en Borrar.

gcloud

Para borrar una política de ACL, usa el comando gcloud redis acl-policies delete.

gcloud redis acl-policies delete ACL_POLICY_NAME \
--region=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 clústeres. Inhabilitar o restringir las secuencias de comandos de Lua puede ser útil para ajustar el rendimiento, simplificar la funcionalidad de tus clústeres 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.

Redis clasifica los comandos en grupos. Las secuencias de comandos de Lua se incluyen en la categoría @scripting. Los comandos principales para los que debes quitar los permisos del usuario son los siguientes:

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.

Inhabilitar 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 un clúster, o bien modifica una política de ACL que esté asignada a un clúster.

Crear una política

Para crear una política de ACL que inhabilite todos los comandos de escritura de secuencias de comandos para un nombre de usuario llamado lucian, usa el comando gcloud redis acl-policies create.

gcloud redis acl-policies create POLICY_NAME \
--region=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 un clúster nuevo 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 redis acl-policies update.

gcloud redis acl-policies update POLICY_NAME \
--region=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 deseas otorgar solo los permisos específicos que necesita un usuario, cambia el valor de +@all. Por ejemplo, si deseas que el usuario tenga acceso solo a los comandos de solo lectura, cambia +@all a +@read. Para obtener más información sobre los permisos de usuario que puedes configurar, consulta la documentación de la ACL de Redis.

Inhabilitar un comando de secuencias de comandos para un usuario

Puedes inhabilitar comandos específicos 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 un clúster o modifica una política de LCA que esté asignada a un clúster.

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 redis acl-policies create.

gcloud redis acl-policies create POLICY_NAME \
--region=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 un clúster nuevo 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 redis acl-policies update.

gcloud redis acl-policies update POLICY_NAME \
--region=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 quieres otorgar permisos específicos que un usuario necesita, 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 configurar, consulta la documentación de la ACL de Redis.

Protege al usuario predeterminado

Para inhabilitar los permisos de secuencias de comandos del superusuario default, crea una política de LCA y asígnala a un clúster o modifica una política de LCA que esté asignada a un clúster.

Crear una política

Para crear una política de ACL que inhabilite todos los comandos de secuencias de comandos para el usuario default, usa el comando gcloud redis acl-policies create.

gcloud redis acl-policies create POLICY_NAME \
--region=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 un clúster nuevo o existente.

Modifica una política

Para modificar una política de ACL y, así, inhabilitar todos los comandos de escritura de secuencias de comandos para el usuario default, usa el comando gcloud redis acl-policies update.

gcloud redis acl-policies update POLICY_NAME \
--region=REGION \
--rules=rule="on ~* +@all -@scripting",username=default

Realiza los siguientes reemplazos:

  • POLICY_NAME: Es el nombre de la política de ACL.
  • REGION: la región en la que se encuentra la política de ACL

Si deseas otorgar solo los permisos específicos que necesita el usuario default, cambia el valor de +@all. Por ejemplo, si deseas que este usuario tenga acceso solo a los 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 ACL de Redis.

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 ACL. Quita todos los caracteres de contraseña y los comandos relacionados de las reglas de la política de LCA. 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 ACL. Quita todos los caracteres de contraseña y los comandos relacionados de las reglas de la política de LCA. 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 de las 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 un clúster, pero la política tiene el estado DELETING. Asigna una política de ACL diferente al clúster.
ACL_POLICY_IN_USE: ACL policy is in use by 1 or more clusters Estás intentando borrar una política de ACL que está asignada a, al menos, un clúster. Antes de borrar una política de ACL, debes quitarla de todos los clústeres a los que esté asignada. Para determinar qué clústeres se asignan a una política, consulta Visualiza información sobre las políticas de ACL.
fast-failing the workflow as the resource is in DELETING state Estás intentando modificar una política de ACL que tiene un estado DELETING. Si una política de LCA tiene el estado DELETING, no puedes modificarla.