Todos los productos
Search
Centro de documentos

Alibaba Cloud Service Mesh:Auditoría de operaciones KubeAPI

Última actualización: Sep 05, 2026

La función de auditoría de operaciones KubeAPI permite supervisar y auditar las operaciones de KubeAPI dentro de su Service Mesh mediante el registro y rastreo de actividades de usuarios. Puede consultar resúmenes de auditoría, detalles de operaciones por cuenta y listas de operaciones específicas por recurso para rastrear eventos clave, analizar estadísticas y mejorar la seguridad y trazabilidad de la malla.

Requisitos previos

Active Simple Log Service.

Contexto

  • En este tema, los recursos se refieren a recursos de Istio, incluidos VirtualService, Gateway, DestinationRule, EnvoyFilter, Sidecar y ServiceEntry.

  • Al habilitar la función de auditoría de malla, se le cobrarán los registros de auditoría generados. Para obtener más información sobre la facturación, consulte Pay-by-feature.

Paso 1: Habilitar la auditoría de operaciones KubeAPI

Nuevas instancias de ASM

  1. Inicie sesión en la consola de ASM. En el panel de navegación izquierdo, seleccione Service Mesh > Mesh Management.

  2. En la página Mesh Management, haga clic en Create ASM Instance. Seleccione Enable Mesh Audit, configure los demás parámetros y luego haga clic en Create Service Mesh.

    Para obtener más información sobre los parámetros, consulte Create an ASM instance.

    Nota

    De forma predeterminada, ASM crea un Project para registros de auditoría llamado mesh-log-${Mesh-ID} y un logstore llamado audit-${Mesh-ID} dentro de este Project para almacenar los registros.

Instancias de ASM existentes

  1. Inicie sesión en la consola de ASM. En el panel de navegación izquierdo, seleccione Service Mesh > Mesh Management.

  2. En la página Mesh Management, haga clic en el nombre de la instancia de ASM. En el panel de navegación izquierdo, seleccione Mesh Security Center > KubeAPI Operation Audit.

  3. En la página Mesh Audit, seleccione Enable Mesh Audit y luego haga clic en OK.

Paso 2: Consultar informes de auditoría de KubeAPI

  1. Inicie sesión en la consola de ASM. En el panel de navegación izquierdo, seleccione Service Mesh > Mesh Management.

  2. En la página Mesh Management, haga clic en el nombre de la instancia de ASM. En el panel de navegación izquierdo, seleccione Mesh Security Center > KubeAPI Operation Audit.

  3. En la página Mesh Audit, haga clic en la pestaña API Access Overview o Operation Details para ver los detalles del informe.

    • API Access Overview: Consulte información detallada sobre el comportamiento de acceso a KubeAPI de la instancia de malla.

      La página API Access Overview incluye el gráfico circular Access source distribution, el panel Unauthorized access attempts y la tabla Public network access list. La lista de acceso a red pública incluye columnas como Source IP address, Access count, Failure rate %, Unauthorized access attempts, High-risk IP, Country, Province, City e ISP.

    • Operation Details: Consulte una lista detallada de operaciones para un recurso específico en la instancia de malla.

      Seleccione o introduzca un tipo de recurso para realizar una consulta en tiempo real. Puede ver el recuento total de diversos eventos, la distribución por namespace, las tendencias de series temporales y una lista detallada de operaciones. La parte superior de la pestaña Resource operations ofrece filtros como Resource type, Namespace y Status code. El área de resumen muestra el número de operadores, namespaces, métodos de operación y la tasa de éxito. Debajo de esta área, encontrará paneles como la línea temporal Operation trace, Create event namespace distribution, Update event namespace distribution, Access event namespace distribution y Delete event namespace distribution.

Operaciones relacionadas

Registros detallados

Para ejecutar consultas personalizadas y analizar registros de auditoría, vaya a la consola de Simple Log Service y consulte los registros detallados.

  1. Inicie sesión en la consola de Simple Log Service.

  2. En la sección Projects, haga clic en el Project llamado mesh-log-${Mesh-ID}.

  3. Seleccione el logstore llamado audit-${Mesh-ID} y haga clic en Search & Analyze para ver los registros de auditoría correspondientes.AlertasRecreación de auditoría de malla

    Nota
    • Al habilitar la auditoría de malla, se agrega automáticamente un logstore llamado audit-${Mesh-ID} al Project generado.

    • El logstore para registros de auditoría tiene un índice configurado de forma predeterminada. No modifique el índice; de lo contrario, es posible que los informes no funcionen correctamente.

    • De forma predeterminada, Simple Log Service almacena los registros de auditoría del servidor API de ASM durante 30 días. Para cambiar el período de retención predeterminado, consulte Manage a Logstore.

    Las formas comunes de buscar registros de auditoría incluyen las siguientes:

    • Para consultar las operaciones realizadas por un usuario de RAM específico, introduzca el ID del usuario de RAM en el cuadro de búsqueda y haga clic en Search & Analyze.

    • Para consultar las operaciones sobre un recurso específico, introduzca el nombre del recurso en el cuadro de búsqueda y haga clic en Search & Analyze.

    • Para filtrar las operaciones realizadas por componentes del sistema, introduzca NOT user.username: node NOT user.username: serviceaccount NOT user.username: apiserver NOT user.username: kube-scheduler NOT user.username: kube-controller-manager en el cuadro de búsqueda y haga clic en Search & Analyze.

    Para obtener más información sobre los métodos de consulta y análisis, consulte Query overview.

    Para recibir alertas en tiempo real sobre operaciones en recursos específicos, utilice la función de alertas de Simple Log Service. Los canales de notificación compatibles incluyen SMS, chatbots de DingTalk, correo electrónico, webhooks personalizados y Notification Center. Para obtener más información, consulte Alerts.

    También puede utilizar las sentencias de consulta de los informes de auditoría para consultar registros de auditoría:

    • Ejemplo 1: Alerta sobre ejecución de comandos en contenedores

      Una empresa tiene restricciones estrictas sobre el uso de su instancia de malla y no permite a los usuarios iniciar sesión en contenedores ni ejecutar comandos. Si un usuario ejecuta un comando, se debe activar una alerta inmediatamente. La alerta debe incluir detalles como el contenedor específico, el comando ejecutado, el operador, el ID del evento, la hora y la dirección IP de origen.

      • Sentencia de consulta:

        verb : create and objectRef.subresource:exec and stage:  ResponseStarted | SELECT
          auditID as "event_id",
          date_format(from_unixtime(__time__), '%Y-%m-%d %T') as "event_time",
          regexp_extract("requestURI", '([^\?]*)/exec\?.*', 1) as "resource",
          regexp_extract("requestURI", '\?(.*)', 1) as "command",
          "responseStatus.code" as "status_code",
          CASE
            WHEN "user.username" != 'kubernetes-admin' THEN "user.username"
            WHEN "user.username" = 'kubernetes-admin' AND regexp_like("annotations.authorization.k8s.io/reason", 'RoleBinding')
              THEN regexp_extract("annotations.authorization.k8s.io/reason", ' to User "(\w+)"', 1)
            ELSE 'kubernetes-admin'
          END as "operator",
          CASE
            WHEN json_array_length(sourceIPs) = 1 THEN json_format(json_array_get(sourceIPs, 0))
            ELSE sourceIPs
          END as "source_ip"
        LIMIT 100
      • Expresión condicional:

        operation_event =~ ".*"
    • Ejemplo 2: Alerta sobre fallos de acceso público

      Una instancia de malla tiene habilitado el acceso público. Para prevenir ataques maliciosos, es necesario supervisar el número de intentos de acceso público y la tasa de fallos. Si el número de intentos de acceso desde una dirección IP alcanza un umbral (por ejemplo, 10) y la tasa de fallos supera un umbral (por ejemplo, 50%), se debe activar una alerta inmediatamente. La alerta debe incluir la región geográfica de la dirección IP del usuario, la dirección IP de origen y si se trata de una dirección IP de alto riesgo.

      • Sentencia de consulta:

        * | SELECT
            ip                                           AS "source_ip",
            total                                        AS "request_count",
            round(rate * 100, 2)                         AS "failure_rate_pct",
            failCount                                    AS "forbidden_count",
            CASE WHEN security_check_ip(ip) = 1 THEN 'yes' ELSE 'no' END
                                                         AS "is_high_risk_ip",
            ip_to_country(ip)                            AS "country",
            ip_to_province(ip)                           AS "province",
            ip_to_city(ip)                               AS "city",
            ip_to_provider(ip)                           AS "isp"
        FROM (
            SELECT
                CASE
                    WHEN json_array_length(sourceIPs) = 1
                        THEN json_format(json_array_get(sourceIPs, 0))
                    ELSE sourceIPs
                END                                       AS ip,
                count(1)                                  AS total,
                sum(CASE WHEN "responseStatus.code" < 400 THEN 0 ELSE 1 END) * 1.0
                    / count(1)                            AS rate,
                count_if("responseStatus.code" = 403)     AS failCount
            FROM log
            GROUP BY ip
            LIMIT 10000
        )
        WHERE ip_to_domain(ip) != 'intranet'
        HAVING "request_count" > 10
           AND "failure_rate_pct" > 50
        ORDER BY "request_count" DESC
        LIMIT 100
      • Expresión condicional:

        source_ip =~ ".*"

    Si elimina accidentalmente el Project de SLS para la auditoría de malla, debe recrearlo para continuar utilizando la función.

    1. Inicie sesión en la consola de ASM. En el panel de navegación izquierdo, seleccione Service Mesh > Mesh Management.

    2. En la página Mesh Management, haga clic en el nombre de la instancia de ASM. En el panel de navegación izquierdo, seleccione Mesh Security Center > KubeAPI Operation Audit.

    3. En la página Mesh Audit, en el cuadro de diálogo Rebuild Mesh Audit, haga clic en Recreate.

      El nombre del Project recreado es igual al nombre anterior con una marca de tiempo agregada al final.

Documentos relacionados

  • Para enviar notificaciones de alerta oportunas a los contactos cuando cambian recursos importantes, consulte Configure audit alerts for operations on mesh resources.

  • Puede configurar identidad de carga de trabajo, autenticación entre pares, autenticación de solicitudes y políticas de autorización en la malla para gestionar los recursos de la malla con mayor granularidad y mejorar su seguridad. Para obtener más información, consulte Overview of zero trust security.