Permisos y seguridad en Azure Chaos Studio
Azure Chaos Studio permite mejorar la resistencia del servicio mediante la inserción sistemática de errores en los recursos de Azure. La inserción de errores es una forma eficaz de mejorar la resistencia del servicio, pero también puede resultar peligrosa. Causar errores en la aplicación puede tener un mayor impacto de lo previsto originalmente y dar a actores malintencionados la oportunidad de infiltrarse.
Chaos Studio cuenta con modelo de permisos sólido que impide que los errores se ejecuten de forma involuntaria o por un actor malintencionado. En este artículo, aprenderá a proteger los recursos destinados a la inserción de errores a través de Chaos Studio.
¿Cómo puedo restringir la capacidad de insertar errores con Chaos Studio?
Chaos Studio tiene tres niveles de seguridad para ayudarle a controlar cómo y cuándo se puede producir la inyección de errores en un recurso:
En primer lugar, un experimento de caos es un recurso de Azure que se implementa en una región, un grupo de recursos y una suscripción. Los usuarios deben disponer de los permisos de Azure Resource Manager adecuados para crear, actualizar, iniciar, cancelar, eliminar o consultar un experimento.
Cada permiso es una operación de Resource Manager que se puede asignar pormenorizado a una identidad o asignarse como parte de un rol con permisos de carácter comodín. Por ejemplo, el rol Colaborador de Azure tiene el permiso
*/write
en el ámbito asignado, que incluye el permisoMicrosoft.Chaos/experiments/write
.Cuando intenta controlar la capacidad de insertar errores en un recurso, la operación más importante para restringir es
Microsoft.Chaos/experiments/start/action
. Esta operación inicia un experimento de caos que inserta errores.En segundo lugar, un experimento de caos tiene una identidad administrada asignada por el sistema o una identidad administrada asignada por el usuario que ejecuta errores en un recurso. Si decide usar una identidad administrada asignada por el sistema para el experimento, la identidad se crea en el momento de creación del experimento en el inquilino de Microsoft Entra. Las identidades administradas asignadas por el usuario se pueden usar en cualquier número de experimentos.
Dentro de un experimento de caos, puede optar por habilitar la asignación de roles personalizada en la selección de identidad administrada asignada por el sistema o asignada por el usuario. La habilitación de esta funcionalidad permite a Chaos Studio crear y asignar un rol personalizado que contenga las funcionalidades de acción de experimento necesarias a la identidad del experimento (que aún no existen en la selección de identidad). Si un experimento de caos usa una identidad administrada asignada por el usuario, los roles personalizados asignados a la identidad del experimento por Chaos Studio se conservarán después de la eliminación del experimento.
Si decide conceder manualmente los permisos del experimento, debe conceder sus permisos de identidad adecuados a todos los recursos de destino. Si la identidad del experimento no tiene el permiso adecuado para un recurso, no puede ejecutar un error en ese recurso.
En tercer lugar, cada recurso debe incorporarse a Chaos Studio como un destino con las funcionalidades correspondientes habilitadas. Si no existe un destino o la funcionalidad para el error que se está ejecutando, se produce un error en el experimento sin afectar al recurso.
Identidad administrada asignada por el usuario
Un experimento de caos puede usar una identidad administrada asignada por el usuario para obtener permisos suficientes para insertar errores en los recursos de destino del experimento. Por otra parte, las identidades administradas asignadas por el usuario se pueden usar en cualquier número de experimentos en Chaos Studio. Para usar esta funcionalidad, debe:
- En primer lugar, cree una identidad administrada asignada por el usuario en el servicio Identidades administradas. Puede asignar permisos necesarios a la identidad administrada asignada por el usuario para ejecutar los experimentos de caos en este momento.
- En segundo lugar, al crear el experimento de caos, seleccione una identidad administrada asignada por el usuario de la suscripción. Puede optar por habilitar la asignación de roles personalizada en este paso. Al habilitar esta funcionalidad, se concedería a la selección de identidad los permisos necesarios que pueda necesitar en función de los errores contenidos en el experimento.
- En tercer lugar, después de agregar todos los errores al experimento de caos, revise si la configuración de identidad contiene todas las acciones necesarias para que el experimento de caos se ejecute correctamente. En caso contrario, póngase en contacto con el administrador del sistema para obtener acceso o edite las selecciones de errores de su experimento.
Autenticación del agente
Al ejecutar errores basados en agente, debe instalar el agente de Chaos Studio en la máquina virtual (VM) o en el conjunto de escalado de máquinas virtuales. El agente usa una identidad administrada asignada por el usuario para autenticarse en Chaos Studio y un perfil de agente para establecer una relación con un recurso de máquina virtual específico.
Al incorporar una máquina virtual o un conjunto de escalado de máquinas virtuales para errores basados en agente, primero se crea un destino de agente. El destino del agente debe tener una referencia a la identidad administrada asignada por el usuario que se usa para la autenticación. El destino del agente contiene un Identificador de perfil de agente, que se proporciona como configuración al instalar el agente. Los perfiles de agente son únicos para cada destino, mientras que los destinos son únicos para recurso.
Operaciones y roles de Azure Resource Manager
Chaos Studio permite realizar las operaciones siguientes:
Operación | Descripción |
---|---|
Microsoft.Chaos/targets/[Read,Write,Delete] | Obtenga, cree, actualice o elimine un destino. |
Microsoft.Chaos/targets/capabilities/[Read,Write,Delete] | Obtenga, cree, actualice o elimine una capacidad. |
Microsoft.Chaos/locations/targetTypes/Read | Obtenga todos los tipos de destino. |
Microsoft.Chaos/locations/targetTypes/capabilityTypes/Read | Obtenga todos los tipos de capacidad. |
Microsoft.Chaos/experiments/[Read,Write,Delete] | Obtenga, cree, actualice o elimine un experimento de caos. |
Microsoft.Chaos/experiments/start/action | Inicie un experimento de caos. |
Microsoft.Chaos/experiments/cancel/action | Detenga un experimento de caos. |
Microsoft.Chaos/experiments/executions/Read | Obtenga el estado de una ejecución de un experimento de caos. |
Microsoft.Chaos/experiments/executions/getExecutionDetails/action | Obtenga los detalles (estado y errores de cada acción) de una ejecución de un experimento de caos. |
Para asignar estos permisos de forma granular, puede crear un rol personalizado.
Seguridad de red
Todas las interacciones del usuario con Chaos Studio tienen lugar en Azure Resource Manager. Si un usuario inicia un experimento, el experimento podría interactuar con puntos de conexión distintos de Resource Manager, en función del error:
- Errores directos del servicio: la mayoría de los errores directos del servicio se ejecutan a través de Azure Resource Manager y no requieren ningún punto de conexión de red permitido.
- Errores de Chaos Mesh de AKS directo del servicio: errores directos del servicio para Azure Kubernetes Service que usan Chaos Mesh requieren acceso al servidor de API de Kubernetes del clúster de AKS.
- Aprenda a limitar el acceso de red de AKS a un conjunto de intervalos IP aquí. Puede obtener los intervalos IP de Chaos Studio consultando la etiqueta de servicio
ChaosStudio
con la API de detección de etiquetas de servicio o archivos JSON descargables. - Actualmente, Chaos Studio no puede ejecutar errores de Chaos Mesh si el clúster de AKS tiene deshabilitadas las cuentas locales.
- Aprenda a limitar el acceso de red de AKS a un conjunto de intervalos IP aquí. Puede obtener los intervalos IP de Chaos Studio consultando la etiqueta de servicio
- Errores basados en agente: para usar errores basados en agente, el agente necesita acceso al servicio del agente de Chaos Studio. Una máquina virtual o un conjunto de escalado de máquinas virtuales debe tener acceso saliente al punto de conexión de servicio del agente para que el agente se conecte correctamente. El punto de conexión de servicio del agente es
https://acs-prod-<region>.chaosagent.trafficmanager.net
. Debe reemplazar el marcador de posición<region>
por la región donde se implementa la máquina virtual. Un ejemplo eshttps://acs-prod-eastus.chaosagent.trafficmanager.net
para una máquina virtual en este de EE. UU. - Redes privadas basadas en agente: el agente de Chaos Studio ahora admite redes privadas. Consulte Redes privadas para Chaos Agent.
Etiquetas de servicio
Una etiqueta de servicio es un grupo de prefijos de dirección IP que se pueden asignar a reglas de entrada y salida para grupos de seguridad de red. Controla automáticamente las actualizaciones del grupo de prefijos de dirección IP sin intervención alguna. Dado que las etiquetas de servicio habilitan principalmente el filtrado de direcciones IP, las etiquetas de servicio por sí solas no son suficientes para proteger el tráfico.
Puede usar etiquetas de servicio para permitir explícitamente el tráfico entrante desde Chaos Studio sin necesidad de conocer las direcciones IP de la plataforma. La etiqueta de servicio de Chaos Studio es ChaosStudio
.
Una limitación de las etiquetas de servicio es que solo se pueden usar con aplicaciones que tienen una dirección IP pública. Si un recurso solo tiene una dirección IP privada, las etiquetas de servicio no pueden enrutar el tráfico a él.
Casos de uso
Chaos Studio usa etiquetas de servicio para varios casos de uso.
- Para usar errores basados en agente, el agente de Chaos Studio que se ejecuta dentro de las máquinas virtuales del cliente debe comunicarse con el servicio back-end de Chaos Studio. La etiqueta de servicio permite a los clientes enumerar el tráfico de la máquina virtual al servicio Chaos Studio.
- Para usar determinados errores que requieren comunicación fuera del espacio de nombres de
management.azure.com
, como errores de Chaos Mesh para Azure Kubernetes Service, el tráfico procede del servicio de Chaos Studio al recurso del cliente. La etiqueta de servicio permite a los clientes enumerar el tráfico del servicio de Chaos Studio al recurso de destino. - Los clientes pueden usar otras etiquetas de servicio como parte del error reglas del grupo de seguridad de red para afectar al tráfico hacia y desde determinados servicios de Azure.
Al especificar la etiqueta de servicio ChaosStudio
en las reglas de seguridad, se puede permitir o denegar el tráfico para el servicio Chaos Studio sin necesidad de especificar direcciones IP individuales.
Consideraciones sobre la seguridad
Al evaluar y usar etiquetas de servicio, es importante tener en cuenta que no proporcionan control pormenorizado sobre direcciones IP individuales y que no se deben confiar en él como único método para proteger una red. No son un reemplazo de las medidas de seguridad de red adecuadas.
Cifrado de datos
Chaos Studio cifra todos los datos de manera predeterminada. Chaos Studio solo acepta entradas para propiedades del sistema, como identificadores de objeto de identidad administrada, nombres de experimentos, pasos y ramas, y parámetros de error. Un ejemplo es el intervalo de puertos de red que se va a bloquear en un error de desconexión de red.
Estas propiedades no deben usarse para almacenar datos confidenciales, como información de pago o contraseñas. Para más información sobre cómo Chaos Studio protege los datos, consulte Protección de datos de clientes de Azure.
Caja de seguridad del cliente
La caja de seguridad le proporciona el control para aprobar o rechazar la solicitud de ingeniero de Microsoft para acceder a los datos del experimento durante una solicitud de soporte técnico.
La caja de seguridad se puede habilitar para la información del experimento de caos y el cliente concede permiso para acceder a los datos en el nivel de suscripción si está habilitada la caja de seguridad.
Más información sobre Caja de seguridad del cliente de Microsoft Azure
Pasos siguientes
Ahora que comprende cómo proteger el experimento de caos, está listo para: