Cómo configurar los registros de acceso del servidor en S3

Cómo configurar los registros de acceso del servidor en S3
Cada vez que alguien en un servidor inicia una operación, se genera una solicitud en el backend para cumplir con esa operación. Las operaciones realizadas en los servidores suelen ser operaciones CRUD (crear, leer, actualizar, eliminar). Las solicitudes generadas para las operaciones pueden ser registradas o almacenadas por el servidor, y las llamamos registros de acceso o registros de acceso del servidor.

Estos registros se pueden usar para monitorear el rendimiento, volver sobre los puntos de falla, mejorar la seguridad, analizar los costos y muchos otros propósitos. Inicialmente, los registros se generan en formato de texto, pero podemos ejecutar el análisis de datos sobre él utilizando diferentes herramientas y software para obtener la información requerida de ellos.

AWS le permite habilitar registros de acceso para cubos S3, proporcionándole los detalles sobre las operaciones y acciones realizadas en ese cubo S3. Solo necesita habilitar el registro en el cubo y proporcionar una ubicación donde se almacenarán estos registros, generalmente otro cubo S3. El proceso no es en tiempo real, ya que estos registros se actualizan en una o dos horas.

En este artículo, veremos cómo podemos habilitar fácilmente los registros de acceso del servidor para cubos S3 en nuestras cuentas de AWS.

Creando un cubo S3

Para comenzar, necesitamos crear dos cubos S3; Uno será el cubo real que queremos usar para nuestros datos, y el otro se utilizará para almacenar los registros de nuestro cubo de datos. Simplemente inicie sesión en su cuenta de AWS y busque el servicio S3 utilizando la barra de búsqueda disponible en la parte superior de su consola de administración.

Ahora en la consola S3, haga clic en Crear cubo.

En la sección de creación de deseos, debe proporcionar un nombre de cubo; El nombre del cubo debe ser universalmente único y no debe existir en ninguna otra cuenta de AWS. A continuación, debe especificar la región de AWS donde desea que se coloque su cubo S3; Aunque S3 es un servicio global, lo que significa que puede ser accesible en cualquier región, aún debe definir en qué región se almacenarán sus datos. Puede administrar muchas otras configuraciones como versiones, cifrado, acceso público, etc., pero simplemente puedes dejarlos como predeterminado.

Ahora desplácese hacia abajo y haga clic en el cubo de creación en la esquina inferior derecha para finalizar el proceso de creación de cubos.

Del mismo modo, cree otro cubo S3 como cubo de destino para los registros de acceso al servidor.

Por lo tanto, hemos creado con éxito nuestros cubos S3 para cargar datos y almacenar registros.

Habilitando registros de acceso utilizando la consola AWS

Ahora en la lista de deseos S3, seleccione el cubo para el que desea habilitar los registros de acceso al servidor.

Vaya a la pestaña Propiedades desde la barra de menú superior.

En la sección Propiedades de S3, desplácese hacia abajo a la sección de registro de acceso al servidor y haga clic en la opción Editar.

Aquí seleccione la opción Habilitar; Esto actualizará automáticamente la lista de control de acceso (ACL) de su cubo S3, por lo que no debe administrar los permisos usted mismo.

Ahora debe proporcionar el cubo de destino donde se almacenarán sus registros; Simplemente haga clic en Browse S3.

Seleccione el cubo que desea configurar para los registros de acceso y haga clic en Seleccione la ruta botón.

NOTA: Nunca use el mismo cubo para guardar los registros de acceso al servidor que cada registro, cuando se agregue en el cubo, activará otro registro, y generará un bucle de registro infinito que hará que el tamaño del cubo S3 aumente para siempre, y terminará con un Gran cantidad de factura en su cuenta de AWS.

Una vez que se elige el cubo de destino, haga clic en Guardar cambios en la esquina inferior derecha para completar el proceso.

Los registros de acceso ahora están habilitados, y podemos verlos en el cubo que hemos configurado como cubo de destino. Puede descargar y ver estos archivos de registros en formato de texto.

Por lo tanto, hemos habilitado con éxito los registros de acceso del servidor en nuestro cubo S3. Ahora, cada vez que se realiza una operación en el cubo, se registrará en el cubo de destino S3.

Habilitando registros de acceso con CLI

Estábamos tratando con la consola de administración de AWS para realizar nuestra tarea hasta ahora. Lo hemos hecho con éxito, pero AWS también proporciona a los usuarios otra forma de administrar los servicios y recursos en la cuenta utilizando la interfaz de línea de comandos. Algunas personas que tienen poca experiencia en usar CLI pueden encontrarlo un poco complicado y complejo, pero una vez que continúe con ella, lo preferirá sobre la consola de gestión, al igual que la mayoría de los profesionales. La interfaz de línea de comandos de AWS se puede configurar para cualquier entorno, ya sea Windows, Mac o Linux, y también puede simplemente abrir el shell de AWS Cloud en su navegador.

El primer paso es simplemente crear los cubos en nuestra cuenta AWS, para los cuales simplemente necesitamos usar el siguiente comando.

$: AWS S3API Create-Bucket-Bucket --región

Un cubo será nuestro cubo de datos real donde pondremos nuestros archivos, y necesitamos habilitar registros en este cubo.

A continuación, necesitamos otro cubo donde los registros de acceso del servidor se almacenen.

Para ver los cubos S3 disponibles en su cuenta, puede usar el siguiente comando.

$: AWS S3API List-Buckets

Cuando habilitamos el registro usando la consola, AWS en sí mismo asigna permiso al mecanismo de registro para colocar objetos en el cubo de destino. Pero para CLI, debe adjuntar la política usted mismo. Necesitamos crear un archivo JSON y agregarle la siguiente política.

Reemplace la Data_bucket_name y Fuente_account_id con el nombre del cubo S3 para el cual se están configurando los registros de acceso del servidor y la ID de cuenta de AWS en la que existe el cubo S3 de origen S3.


"Versión": "2012-10-17",
"Declaración": [

"Sid": "S3ServerAccessLogSpolicy",
"Efecto": "Permitir",
"Principal": "Servicio": "Registro.s3.amazonaws.com ",
"Acción": "S3: Putobject",
"Resource": "ARN: AWS: S3 ::: data_bucket_name/*",
"Condición":
"Arnlike": "AWS: SourCearn": "ARN: AWS: S3 ::: data_bucket_name",
"StringEquals": "AWS: SourceAcCount": "Source_Account_id"


]

Necesitamos adjuntar esta política a nuestro cubo de Target S3 en el que se guardarán los registros de acceso del servidor. Ejecute el siguiente comando AWS CLI para configurar la política con el cubo de destino S3.

$: AWS S3API PUT-BUCKET-POLICY-Bucket --archivo de política: // s3_logging_policy.json

Nuestra política se adjunta a la cubierta de destino, lo que permite que el depósito de datos coloque los registros de acceso del servidor.

Después de adjuntar la política al cubo de destino S3, ahora habilite los registros de acceso del servidor en el cubo S3 de origen (datos). Para esto, primero, cree un archivo JSON con el siguiente contenido.


"LoggingEnabled":
"TargetBucket": "Target_S3_Bucket",
"TargetPrefix": "Target_prefix"

Finalmente, para habilitar el registro de acceso al servidor S3 para nuestro cubo original, simplemente ejecute el siguiente comando.

$: AWS S3API PUT-Bucket-logging-Bucket --Archivo de Bucket-Logging-Status: // enable_logging.json

Por lo tanto, hemos habilitado correctamente los registros de acceso del servidor en nuestro cubo S3 utilizando la interfaz de línea de comandos AWS.

Conclusión

AWS le proporciona la facilidad para habilitar fácilmente los registros de acceso del servidor en sus cubos S3. Los registros proporcionan la IP del usuario que inició esa solicitud de operación en particular, la fecha y la hora de la solicitud, el tipo de operación realizada y si esa solicitud fue exitosa. La salida de datos está en forma sin procesar en el archivo de texto, pero también puede ejecutar el análisis sobre él utilizando herramientas avanzadas como AWS Athena para obtener resultados más maduros de estos datos.