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.
Supervisión de los registros de auditoría en Amazon OpenSearch Service
Si tu dominio de Amazon OpenSearch Service utiliza un control de acceso detallado, puedes habilitar los registros de auditoría para tus datos. Los registros de auditoría son altamente personalizables y te permiten realizar un seguimiento de la actividad de los usuarios en tus OpenSearch clústeres, incluidas las autenticaciones correctas y fallidas, las solicitudes, los cambios de indexación y las consultas de búsqueda entrantes. OpenSearch La configuración predeterminada realiza un seguimiento de un conjunto común de acciones de usuario, pero recomendamos adaptar la configuración a las necesidades exactas.
Al igual que los registros de OpenSearch aplicaciones y los registros lentos, OpenSearch Service publica los registros de auditoría en CloudWatch Logs. Si está activado, se aplica el CloudWatch precio estándar
nota
Para habilitar los registros de auditoría, su rol de usuario debe estar asignado al security_manager
rol, lo que le da acceso a la API OpenSearch plugins/_security
REST. Para obtener más información, consulte Modificar el usuario maestro.
Temas
Limitaciones
Los registros de auditoría presentan las siguientes limitaciones:
-
Los registros de auditoría no incluyen peticiones de búsqueda entre clústeres rechazadas por la política de acceso al dominio de destino.
-
El tamaño máximo de cada mensaje de registro de auditoría es de 10 000 caracteres. El mensaje del registro de auditoría se trunca si se supera este límite.
Habilitación de los registros de auditoría
La habilitación de registros de auditoría es un proceso de dos pasos. En primer lugar, debe configurar su dominio para publicar los registros de auditoría en CloudWatch Logs. A continuación, habilita los registros de auditoría en los OpenSearch paneles de control y los configura para que se adapten a sus necesidades.
importante
Si encuentra un error al seguir estos pasos, consulte No se pueden habilitar los registros de auditoría para obtener información para la resolución de problemas.
Paso 1: Habilitar los registros de auditoría y configurar una política de acceso
En estos pasos se describe cómo habilitar los registros de auditoría con la consola. También puede habilitarlos mediante la AWS CLI API de servicio o la API de OpenSearch servicio.
Para habilitar los registros de auditoría para un dominio de OpenSearch servicio (consola)
-
Seleccione el dominio para abrir su configuración y, a continuación, vaya a la pestaña Registros.
-
Seleccione Registros de auditoría y, luego Habilitar.
-
Cree un grupo de CloudWatch registros o elija uno existente.
-
Seleccione una política de acceso que contenga los permisos adecuados o cree una política mediante el JSON que proporciona la consola:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": [ "logs:PutLogEvents", "logs:CreateLogStream" ], "Resource": "
cw_log_group_arn
" } ] }Le recomendamos que agregue las claves de condición
aws:SourceAccount
yaws:SourceArn
para protegerse contra la política problema del suplente confuso. La cuenta de origen es la propietaria del dominio y el ARN de origen es el ARN del dominio. Su dominio debe estar en el software de servicio R20211203 o posterior para agregar estas claves de condición.Por ejemplo, podría agregar el siguiente bloque de condición a la política:
"Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:es:region
:account-id
:domain/domain-name
" } } -
Seleccione Habilitar.
Paso 2: Activa los registros de auditoría en los OpenSearch paneles
Después de habilitar los registros de auditoría en la consola de OpenSearch servicio, también debe habilitarlos en los OpenSearch paneles y configurarlos para que se adapten a sus necesidades.
-
Abre los OpenSearch paneles y selecciona Seguridad en el menú de la izquierda.
-
Seleccione Registros de auditoría.
-
Seleccione Habilitar registro de auditoría.
La interfaz de usuario de Dashboards ofrece un control total de la configuración del registro de auditoría en Configuración general y en Configuración de la conformidad. Para obtener una descripción de todas las opciones de configuración, consulte Configuración del registro de auditoría.
Habilite el registro de auditorías mediante el AWS CLI
El siguiente AWS CLI comando habilita los registros de auditoría en un dominio existente:
aws opensearch update-domain-config --domain-name
my-domain
--log-publishing-options "AUDIT_LOGS={CloudWatchLogsLogGroupArn=arn:aws:logs:us-east-1:123456789012:log-group:my-log-group
,Enabled=true}"
También puede habilitar registros de auditoría al crear un dominio. Para obtener más información, consulte la Referencia de comandos de la AWS CLI.
Habilite el registro de auditoría con la API de configuración
La siguiente solicitud a la API de configuración habilita los registros de auditoría en un dominio existente:
POST https://es.us-east-1.amazonaws.com/2021-01-01/opensearch/domain/
my-domain
/config { "LogPublishingOptions": { "AUDIT_LOGS": { "CloudWatchLogsLogGroupArn":"arn:aws:logs:us-east-1
:123456789012
:log-group1:sample-domain", "Enabled":true } } }
Para obtener más información, consulta la referencia de la API OpenSearch de Amazon Service.
Categorías y capas de registro de auditoría
La comunicación del clúster se produce a través de dos capas independientes: la capa REST y la capa de transporte.
-
La capa REST cubre la comunicación con clientes HTTP como curl, Logstash, OpenSearch Dashboards, el cliente REST de alto nivel de Java y la biblioteca de solicitudes de Python, todas las solicitudes
HTTP que llegan al clúster. -
La capa de transporte se encarga de la comunicación entre nodos. Por ejemplo, después de que una petición de búsqueda llega al clúster (en la capa REST), el nodo de coordinación que se encarga de la solicitud envía la consulta a otros nodos, recibe sus respuestas, reúne los documentos necesarios y los reúne en la respuesta final. Las operaciones como la asignación de particiones y el reequilibrio también se producen en la capa de transporte.
Puede habilitar o deshabilitar los registros de auditoría para capas enteras, así como las categorías de auditoría individuales de una capa. La siguiente tabla contiene un resumen de las categorías de auditoría y las capas para las que están disponibles.
Categoría | Descripción | Disponible para REST | Disponible para transporte |
---|---|---|---|
FAILED_LOGIN |
Una solicitud contenía credenciales no válidas y la autenticación falló. | Sí | Sí |
MISSING_PRIVILEGES |
Un usuario no poseía los privilegios para realizar la solicitud. | Sí | Sí |
GRANTED_PRIVILEGES |
Un usuario poseía los privilegios para realizar la solicitud. | Sí | Sí |
OPENSEARCH_SECURITY_INDEX_ATTEMPT |
Una solicitud intentó modificar el índice .opendistro_security . |
No | Sí |
AUTHENTICATED |
Una solicitud contenía credenciales válidas y la autenticación se realizó correctamente. | Sí | Sí |
INDEX_EVENT |
Una solicitud realizó una operación administrativa con un índice, como crearlo, establecer un alias o realizar una combinación de fuerza. La lista completa de indices:admin/ acciones que incluye esta categoría está disponible en la documentación. OpenSearch |
No | Sí |
Además de estas categorías estándar, el control de acceso detallado ofrece varias categorías adicionales diseñadas para cumplir con los requisitos de conformidad de los datos.
Categoría | Descripción |
---|---|
COMPLIANCE_DOC_READ |
Una solicitud realizó un evento de lectura en un documento en un índice. |
COMPLIANCE_DOC_WRITE |
Una solicitud realizó un evento de escritura en un documento en un índice. |
COMPLIANCE_INTERNAL_CONFIG_READ |
Una solicitud realizó un evento de lectura en el índice |
COMPLIANCE_INTERNAL_CONFIG_WRITE |
Una solicitud realizó un evento de escritura en el índice |
Puede utilizar cualquier combinación de categorías y atributos de mensaje. Por ejemplo, si envía una solicitud REST para indexar un documento, podría ver las siguientes líneas en los registros de auditoría:
-
AUTHENTICATED en la capa REST (autenticación)
-
GRANTED_PRIVILEGE en la capa de transporte (autorización)
-
COMPLIANCE_DOC_WRITE (documento escrito en un índice)
Configuración de registros de auditoría
Los registros de auditoría cuentan con numerosas opciones de configuración.
Configuración general
La configuración general permite habilitar o deshabilitar categorías individuales o capas enteras. Recomendamos encarecidamente mantener GRANTED_PRIVILEGES y AUTHENTICATED como categorías excluidas. De lo contrario, estas categorías se registran en cada solicitud válida al clúster.
Nombre | Configuración del backend | Descripción |
---|---|---|
Capa REST |
enable_rest |
Habilite o deshabilite los eventos que se producen en la capa REST. |
Categorías REST deshabilitadas |
disabled_rest_categories |
Especifique las categorías de auditoría que se omitirán en la capa REST. La modificación de estas categorías puede aumentar drásticamente el tamaño de los registros de auditoría. |
Capa de transporte |
enable_transport |
Habilite o deshabilite eventos que ocurren en la capa de transporte. |
Categorías de transporte deshabilitadas |
disabled_transport_categories |
Especifique las categorías de auditoría que deben omitirse en la capa de transporte. La modificación de estas categorías puede aumentar drásticamente el tamaño de los registros de auditoría. |
La configuración de atributos permite personalizar la cantidad de detalles en cada línea de registro.
Nombre | Configuración del backend | Descripción |
---|---|---|
Solicitudes masivas |
resolve_bulk_requests |
Habilitar esta configuración genera un registro para cada documento de una solicitud masiva, lo que puede aumentar drásticamente el tamaño de los registros de auditoría. |
Cuerpo de la solicitud |
log_request_body |
Incluya el cuerpo de la solicitud de las solicitudes. |
Resolver índices |
resolve_indices |
Resolver alias a índices. |
Utilice la configuración de ignorar para excluir un conjunto de usuarios o rutas de API:
Nombre | Configuración del backend | Descripción |
---|---|---|
Usuarios ignorados |
ignore_users |
Especifique los usuarios que desea excluir. |
Solicitudes ignoradas |
ignore_requests |
Especifique los patrones de solicitud que desea excluir. |
Configuración de la conformidad
La configuración de la conformidad permite ajustar el acceso a nivel del índice, del documento o del campo.
Nombre | Configuración del backend | Descripción |
---|---|---|
Registro de conformidad |
enable_compliance |
Para habilitar o deshabilitar el registro de conformidad. |
Puede especificar la siguiente configuración para el registro de eventos de lectura y escritura.
Nombre | Configuración del backend | Descripción |
---|---|---|
Registro de configuración interno |
internal_config |
Habilite o deshabilite el registro de eventos en el índice |
Puede especificar la siguiente configuración para el registro de eventos de lectura.
Nombre | Configuración del backend | Descripción |
---|---|---|
Metadatos de lectura |
read_metadata_only |
Incluya solo metadatos para eventos de lectura. No incluya ningún campo de documento. |
Usuarios ignorados |
read_ignore_users |
No incluya ciertos usuarios para eventos de lectura. |
Campos observados |
read_watched_fields |
Especifique los índices y campos que se van a observar en busca de eventos de lectura. Agregar campos vigilados genera un registro por cada acceso a los documentos, lo que puede aumentar drásticamente el tamaño de los registros de auditoría. Los campos observados admiten patrones de índice y patrones de campo:
|
Puede especificar la siguiente configuración para eventos de escritura.
Nombre | Configuración del backend | Descripción |
---|---|---|
Metadatos de escritura |
write_metadata_only |
Incluya solo metadatos para eventos de escritura. No incluya ningún campo de documento. |
Diferencias de registro |
write_log_diffs |
Si write_metadata_only es falso, incluya solo las diferencias entre los eventos de escritura. |
Usuarios ignorados |
write_ignore_users |
No incluya ciertos usuarios para eventos de escritura. |
Índices de seguimiento |
write_watched_indices |
Especifique los índices o patrones de índice para observar los eventos de escritura. Agregar campos vigilados genera un registro por cada acceso a los documentos, lo que puede aumentar drásticamente el tamaño de los registros de auditoría. |
Ejemplo de registro de auditoría
Esta sección incluye un ejemplo de configuración, una petición de búsqueda y el registro de auditoría resultante para todos los eventos de lectura y escritura de un índice.
Paso 1: configurar los registros de auditoría
Después de habilitar la publicación de los registros de auditoría en un grupo de CloudWatch registros, vaya a la página de registro de auditorías del OpenSearch panel de control y seleccione Habilitar el registro de auditoría.
-
En Configuración general, seleccione Configurar y asegúrese de que la capa REST esté habilitada.
-
En Configuración de la conformidad, seleccione Configurar.
-
En Escritura, en Campos observados, agregue
accounts
para todos los eventos de escritura en este índice. -
En Lectura, en Campos observados, agregue los campos
ssn
yid-
del índiceaccounts
:{ "accounts-": [ "ssn", "id-" ] }
Paso 2: realizar eventos de lectura y escritura
-
Diríjase a OpenSearch los paneles, elija Herramientas de desarrollo e indexe un documento de muestra:
PUT accounts/_doc/0 { "ssn": "123", "id-": "456" }
-
Para probar un evento de lectura, envíe la siguiente solicitud:
GET accounts/_search { "query": { "match_all": {} } }
Paso 3: observar los registros
-
Abra la CloudWatch consola en. https://console.aws.amazon.com/cloudwatch/
-
En el panel de navegación, seleccione Grupos de registro.
-
Seleccione el grupo de registros que especificó al habilitar registros de auditoría. Dentro del grupo de registros, OpenSearch Service crea un flujo de registros para cada nodo de su dominio.
-
En Flujos de registros, seleccione Buscar todos.
-
Para los eventos de lectura y escritura, consulte los registros correspondientes. Puede existir una demora de 5 segundos antes de que aparezca el registro.
Ejemplo de registro de auditoría de escritura
{ "audit_compliance_operation": "CREATE", "audit_cluster_name": "824471164578:audit-test", "audit_node_name": "be217225a0b77c2bd76147d3ed3ff83c", "audit_category": "COMPLIANCE_DOC_WRITE", "audit_request_origin": "REST", "audit_compliance_doc_version": 1, "audit_node_id": "3xNJhm4XS_yTzEgDWcGRjA", "@timestamp": "2020-08-23T05:28:02.285+00:00", "audit_format_version": 4, "audit_request_remote_address": "3.236.145.227", "audit_trace_doc_id": "lxnJGXQBqZSlDB91r_uZ", "audit_request_effective_user": "admin", "audit_trace_shard_id": 8, "audit_trace_indices": [ "accounts" ], "audit_trace_resolved_indices": [ "accounts" ] }
Ejemplo de registro de auditoría de lectura
{ "audit_cluster_name": "824471164578:audit-docs", "audit_node_name": "806f6050cb45437e2401b07534a1452f", "audit_category": "COMPLIANCE_DOC_READ", "audit_request_origin": "REST", "audit_node_id": "saSevm9ASte0-pjAtYi2UA", "@timestamp": "2020-08-31T17:57:05.015+00:00", "audit_format_version": 4, "audit_request_remote_address": "54.240.197.228", "audit_trace_doc_id": "config:7.7.0", "audit_request_effective_user": "admin", "audit_trace_shard_id": 0, "audit_trace_indices": [ "accounts" ], "audit_trace_resolved_indices": [ "accounts" ] }
Para incluir el cuerpo de la solicitud, vuelva a la configuración de conformidad en los OpenSearch paneles y desactive Escribir metadatos. Para excluir eventos de un usuario específico, agregue el usuario a Usuarios ignorados.
Para obtener una descripción de cada campo de registro de auditoría, consulte la Referencia de campo del registro de auditoría
Configuración de registros de auditoría mediante la API REST
Recomendamos usar OpenSearch paneles de control para configurar los registros de auditoría, pero también puede usar la API REST de control de acceso detallada. Esta sección contiene una solicitud de ejemplo. La documentación completa sobre la API REST está disponible en la documentación. OpenSearch
PUT _opendistro/_security/api/audit/config { "enabled": true, "audit": { "enable_rest": true, "disabled_rest_categories": [ "GRANTED_PRIVILEGES", "AUTHENTICATED" ], "enable_transport": true, "disabled_transport_categories": [ "GRANTED_PRIVILEGES", "AUTHENTICATED" ], "resolve_bulk_requests": true, "log_request_body": true, "resolve_indices": true, "exclude_sensitive_headers": true, "ignore_users": [ "kibanaserver" ], "ignore_requests": [ "SearchRequest", "indices:data/read/*", "/_cluster/health" ] }, "compliance": { "enabled": true, "internal_config": true, "external_config": false, "read_metadata_only": true, "read_watched_fields": { "read-index-1": [ "field-1", "field-2" ], "read-index-2": [ "field-3" ] }, "read_ignore_users": [ "read-ignore-1" ], "write_metadata_only": true, "write_log_diffs": false, "write_watched_indices": [ "write-index-1", "write-index-2", "log-*", "*" ], "write_ignore_users": [ "write-ignore-1" ] } }