Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-09-18 GMT+08:00

Configuración del registro de un bucket

Funciones

Cuando se crea un bucket, la función de registro no está habilitada de forma predeterminada. Para generar las operaciones de registro de logs en los bucket, debe habilitar la función de registro para el bucket. Una vez activada la función de log, se genera un log para cada operación en un bucket y se empaquetan varios logs en un archivo de log. Al habilitar la función de log, debe especificar una ubicación donde se almacenan los archivos de log. Se pueden almacenar en el bucket para el que está habilitado el registro, o en otros los bucket para los que tenga los permisos necesarios. Sin embargo, el bucket donde se almacenan los archivos de log y el bucket para el que está habilitado el log deben estar en la misma región.

Los archivos de log son generados por OBS y cargados en el bucket donde se almacenan los logs. Por lo tanto, OBS necesita estar autorizado para cargar archivos de log generados. Antes de configurar la función de registro, debe crear una delegación para OBS en IAM, el nombre de la delegación se configura como un parámetro del bucket y la función de registro se debe configurar bajo la etiqueta LoggingEnabled en el archivo XML. Solo necesita autorizar a la delegación con los permisos de carga para el bucket de destino.

Ejemplo de permisos de delegación

{
    "Version": "1.1",
    "Statement": [
        {
            "Action": [
                "obs:object:PutObject"
            ],
            "Resource": [
                "OBS:*:*:object:mybucketlogs/*"
            ],
            "Effect": "Allow"
        }
    ]
}

Para desactivar la función de registro de bucket, suba un archivo de registro con una etiqueta BucketLoggingStatus vacía.

Los bucket de las clases de almacenamiento Infrequent Access y Archive no se pueden utilizar para almacenar archivos de log. Los archivos de log almacenados ocupan espacio de almacenamiento en un bucket. Por lo tanto, se cobra a los usuarios por el servicio de registro en función del precio del almacenamiento de datos.

Si el bucket de destino tiene la encriptación de KMS habilitada, conceda a la delegación acceso a KMS.

Sintaxis de solicitud

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
PUT /?logging HTTP/1.1 
Host: bucketname.obs.region.myhuaweicloud.com Date: date
Authorization: signatureValue
<?xml version="1.0" encoding="UTF-8"?>
<BucketLoggingStatus>
  <Agency>agency-name</Agency>
  <LoggingEnabled>
    <TargetBucket>mybucketlogs</TargetBucket>
    <TargetPrefix>mybucket-access_log-/</TargetPrefix>
    <TargetGrants>
      <Grant>
        <Grantee>
          <ID>domainID</ID>
        </Grantee>
        <Permission>READ</Permission>
      </Grant>
    </TargetGrants>
  </LoggingEnabled>
</BucketLoggingStatus>

Parámetros de solicitud

Esta solicitud no contiene parámetros de mensaje.

Encabezados de solicitud

Esta solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 3.

Elementos de solicitud

Tabla 1 Elementos de solicitud

Elemento

Descripción

Obligatorio

BucketLoggingStatus

Contenedor para registrar información de estado

Tipo: container

Agency

Nombre de la delegación de IAM creada por el propietario del bucket de destino en IAM.

Tipo: string

Debe establecer este parámetro al habilitar la función de registro. No establezca este parámetro cuando deshabilite la función de registro.

LoggingEnabled

Contenedor para la información de registro. Presente este elemento al habilitar la función de registro. De lo contrario, a falta de ello. Puede agregar información de registro específica en este elemento.

Tipo: container

Debe establecer este parámetro al habilitar la función de registro. No establezca este parámetro cuando deshabilite la función de registro.

Grant

Contenedor para el concesionario y los permisos de registro del concesionario. Describe quién tiene el permiso para acceder a los archivos de log generados.

Tipo: container

No

Grantee

Contenedor para el usuario al que se concede el permiso de registro.

Tipo: container

No

ID

ID de cuenta del usuario autorizado, que es globalmente único.

Tipo: string

No

Permission

Permisos del concesionario para los registros generados.

Tipo: string

Opciones de valor: FULL_CONTROL, READ, WRITE

No

TargetBucket

Al habilitar la función de log, el propietario del bucket que se está registrando puede especificar un bucket de destino para almacenar los archivos de log generados. Asegúrese de que el propietario del bucket que configura la función de log tenga el permiso FULL_CONTROL para el bucket que almacena los archivos de log. Los archivos de registro generados para varios bucket se pueden almacenar en el mismo bucket de destino. Si lo hace, debe especificar diferentes TargetPrefixes para clasificar los registros de diferentes los bucket.

Tipo: string

Debe establecer este parámetro al habilitar la función de registro. No establezca este parámetro cuando deshabilite la función de registro.

TargetPrefix

Puede especificar un prefijo utilizando este elemento para que los archivos de log se nombren con este prefijo.

Tipo: string

Debe establecer este parámetro al habilitar la función de registro. No establezca este parámetro cuando deshabilite la función de registro.

TargetGrants

Contenedor para la concesión de información.

Tipo: container

No

Reglas de denominación para los logs de acceso

1
<TargetPrefix>YYYY-mm-DD-HH-MM-SS-<UniqueString>
  • <TargetPrefix> es el prefijo de nombre de log especificado por el usuario.
  • AAAA-mm-DD-HH-MM-SS indica la fecha y la hora en que se genera el log.
  • <UniqueString> indica una string de caracteres generada por OBS.

A continuación se muestra un ejemplo de un nombre de archivo de log:

1
bucket-log2015-06-29-12-22-07-N7MXLAF1BDG7MPDV
  • bucket-log es el prefijo de destino especificado por el usuario.
  • 2015-06-29-12-22-07 indica la hora en que se genera el log.
  • N7MXLAF1BDG7MPDV es una string generada automáticamente por OBS

Formato de los logs de acceso al bucket

A continuación se muestra un log de acceso entregado al bucket de destino:

1
787f2f92b20943998a4fe2ab75eb09b8 bucket [13/Aug/2015:01:43:42 +0000] xx.xx.xx.xx 787f2f92b20943998a4fe2ab75eb09b8 281599BACAD9376ECE141B842B94535B  REST.GET.BUCKET.LOCATION - "GET /bucket?location HTTP/1.1" 200 - 211 - 6 6 "-"  "HttpClient" - -

Cada log de acceso contiene la siguiente información:

Tabla 2 Formato de los logs de acceso al bucket

Parámetro

Ejemplo

Descripción

BucketOwner

787f2f92b20943998a4fe2ab75eb09b8

ID del propietario del bucket

Bucket

bucket

Nombre del bucket

Time

[13/Aug/2015:14:43:42 +0000]

Solicitar marca de tiempo en formato [dd/MMM/aaaa:HH:mm:ss Z]

Remote IP

xx.xx.xx.xx

Solicitar la dirección IP

Requester

787f2f92b20943998a4fe2ab75eb09b8

ID del solicitante

  • Cuando una cuenta inicia una solicitud, este valor de parámetro es el ID de cuenta. Cuando un usuario de IAM inicia una solicitud, este valor de parámetro es el ID de la cuenta a la que pertenece el usuario de IAM.
  • Cuando un usuario anónimo inicia una solicitud, este valor de parámetro es Anonymous.

RequestID

281599BACAD9376ECE141B842B94535B

ID de solicitud

Operation

REST.GET.BUCKET.LOCATION

Operación

Key

-

Nombre del objeto

Request-URI

GET /bucket?location HTTP/1.1

URI de solicitud

HTTPStatus

200

Código de respuesta

ErrorCode

-

Código de error

BytesSent

211

Tamaño de la respuesta HTTP, expresado en bytes

ObjectSize

-

Tamaño del objeto

TotalTime

6

Tiempo de procesamiento en el servidor

Unidad: ms

Turn-AroundTime

6

Tiempo total de procesamiento de solicitudes

Unidad: ms

Referer

-

Consultar el encabezado de la solicitud

User-Agent

HttpClient

Encabezado User-Agent de la solicitud

VersionID

-

ID de versión contenido en una solicitud

STSLogUrn

-

Autenticación federada e información de delegación

StorageClass

STANDARD_IA

Clase de almacenamiento de objeto actual

TargetStorageClass

GLACIER

Clase de almacenamiento a la que se migrará el objeto

DentryName

12456/file.txt

  • Para un sistema de archivos paralelo, este campo indica un identificador interno de un archivo o directorio. Su valor consiste en un número de inode de directorio padre y un nombre de archivo o directorio.
  • Para un bucket, el valor de este campo es -.

Sintaxis de respuesta

1
2
3
HTTP/1.1 status_code
Date: date
Content-Length: length

Encabezados de respuesta

La respuesta a la solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 1.

Elementos de respuesta

Esta respuesta no contiene elementos.

Respuestas de error

No se devuelven respuestas de error especiales. Para obtener más información sobre las respuestas de error, consulte Tabla 2.

Modelo de solicitud

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
PUT /?logging HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 02:40:06 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:mCOjER/L4ZZUY9qr6AOnkEiwvVk=
Content-Length: 528

<?xml version="1.0" encoding="UTF-8"?>
<BucketLoggingStatus>
  <Agency>agencyGrantPutLogging</Agency>
  <LoggingEnabled>
    <TargetBucket>log-bucket</TargetBucket>
    <TargetPrefix>mybucket-access_log-/</TargetPrefix>
    <TargetGrants>
      <Grant>
        <Grantee>
          <ID>783fc6652cf246c096ea836694f71855</ID>
        </Grantee>
        <Permission>READ</Permission>
      </Grant>
    </TargetGrants>
  </LoggingEnabled>
</BucketLoggingStatus>

Modelo de respuesta

1
2
3
4
5
6
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF26000001643663CE53B6AF31C619FD
x-obs-id-2: 32AAAQAAEAABSAAkpAIAABAAAQAAEAABCT9CjuOx8cETSRbqkm35s1dL/tLhRNdZ
Date: WED, 01 Jul 2015 02:40:06 GMT
Content-Length: 0