¿Por qué no se han entregado mis registros de acceso al servidor de Amazon S3 en mi bucket?

4 minutos de lectura
0

He configurado el registro de acceso al servidor de Amazon Simple Storage Service (Amazon S3). Sin embargo, Amazon S3 no ha entregado los registros de acceso al servidor al bucket de destino de Amazon S3.

Descripción corta

Cuando activas el registro de acceso al servidor por primera vez o cambias el bucket de destino de los registros, los cambios tardan en implementarse. Es posible que Amazon S3 no registre las solicitudes de entrega durante la primera hora después de que hayas activado el registro. Además, Amazon S3 puede entregar los registros al bucket de destino anterior dentro de la primera hora después de cambiar el bucket de destino.

Después de cambiar la configuración de registro, espera al menos 1 hora antes de verificar los registros. Para obtener más información, consulta Entrega de registros del servidor Best-effort.

Asegúrate de que los buckets de origen y destino estén en la misma región de AWS y de que los buckets sean propiedad de la misma cuenta de AWS. Además, si has activado el Pago por solicitante para el bucket de destino, desactívalo.

Si sigues sin ver los registros en el bucket de destino, utiliza la siguiente solución de problemas para resolver el problema.

Resolución

Comprobar si el grupo de entrega de registros tiene acceso al bucket de destino

Amazon S3 usa un grupo de entrega de registros para entregar los registros de acceso al servidor al bucket de destino. Para recibir los registros de acceso al servidor, debes conceder a la entidad principal del servicio de registro acceso a tu bucket de destino.

Para conceder acceso al bucket de destino, crea una política de bucket de S3. Puedes usar una lista de control de acceso (ACL) para conceder acceso al bucket de destino. Sin embargo, se recomienda usar las ACL solo cuando debas controlar individualmente el acceso a cada objeto.

Concesión de acceso mediante una política de bucket

Actualiza la política de bucket para conceder el permiso s3:PutObject a la entidad principal del servicio de registro.

Ejemplo de política:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "S3ServerAccessLogsPolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "logging.s3.amazonaws.com"
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/EXAMPLE-LOGGING-PREFIX*",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET"
                },
                "StringEquals": {
                    "aws:SourceAccount": "SOURCE-ACCOUNT-ID"
                }
            }
        }
    ]
}

Concesión de acceso a través de una ACL de bucket

Agrega una entrada de concesión a la ACL del bucket que conceda permisos de escritura al grupo de entrega de registros de S3.

Para modificar la ACL del bucket de destino, sigue estos pasos:

  1. Abre la consola de Amazon S3.
  2. En la lista de buckets, selecciona el bucket de destino.
  3. Selecciona la pestaña Permisos.
  4. En la sección Lista de control de acceso (ACL), elige Editar.
  5. En el grupo de entrega de registros de S3, selecciona Objetos: escribir.
  6. En el grupo de entrega de registros de S3, selecciona ACL del bucket: escribir.
  7. Selecciona Guardar cambios.

Comprobar que la política del bucket de destino no deniegue el acceso a los registros

Consulta la política de bucket de destino para ver las instrucciones que contengan "Effect": "Deny". Si la política tiene instrucciones Deny, verifica que no impidan el acceso de escritura al bucket.****

Nota: Se recomienda utilizar un bucket independiente para los registros de acceso al servidor. De forma predeterminada, los buckets son privados, por lo que no es necesario utilizar una instrucción Deny en la política de bucket para evitar el acceso no autorizado al bucket.

Confirmar que se ha desactivado Object Lock de Amazon S3 para el bucket de destino

Asegúrate de haber desactivado Object Lock para el bucket de destino. Al activar Object Lock, Amazon S3 no puede entregar los registros de acceso al servidor.

Comprobar que se ha seleccionado SSE-S3 como clave de cifrado

Si utilizas el cifrado predeterminado en el bucket de destino, confirma que has seleccionado el cifrado del lado del servidor con claves administradas de Amazon S3 (SSE-S3) para el cifrado. La entrega de registros del servidor no admite el cifrado del lado del servidor con claves de AWS Key Management Service (AWS KMS). Para configurar el cifrado predeterminado, consulta Configuración del cifrado predeterminado.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 meses