Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2022-11-07 GMT+08:00

Configuração de registração para um bucket

Funções

Quando um bucket é criado, a função de registração não é ativada por padrão. Para gerar operações de registro de registrações em buckets, você precisa ativar a função de registro para o bucket. Depois que a função de registração é ativada, um registração é gerado para cada operação em um bucket e vários registrações são empacotados em um arquivo de registração. Ao ativar a função de registro, você precisa especificar um local onde os arquivos de registro são armazenados. Eles podem ser armazenados no bucket para o qual o registração está ativado ou em outros buckets que você tem as permissões necessárias. No entanto, o bucket onde os arquivos de registração são armazenados e o bucket para o qual o registro está ativado deve estar na mesma região.

Os arquivos de registração são gerados pelo OBS e carregados no bucket onde os registrações são armazenados. Portanto, o OBS precisa ser autorizado a carregar arquivos de registração gerados. Antes de configurar a função de registração, você precisa criar uma agência para o OBS no IAM, o nome da agência é configurado como um parâmetro do bucket e a função de registração deve ser configurada sob a tag LoggingEnabled no arquivo XML. Você só precisa autorizar a agência com as permissões de upload para o bucket de destino.

Exemplo de permissões de agência

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

Para desativar a função de registro de bucket, carregue um arquivo de registro com uma tag BucketLoggingStatus vazia.

Os buckets das classes de armazenamento Acesso infrequente e Arquivo não podem ser usados para armazenar arquivos de registração. Arquivos de registração armazenados ocupam espaço de armazenamento em um bucket. Portanto, os usuários são cobrados pelo serviço de registração com base no preço do armazenamento de dados.

Sintaxe da solicitação

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
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 solicitação

Esta solicitação não contém nenhum parâmetro.

Cabeçalhos de solicitação

Essa solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 3.

Elementos de solicitação

Tabela 1 Elementos de solicitação

Elemento

Descrição

Obrigatório

BucketLoggingStatus

Contêiner para registrar informações de status

Tipo: recipiente

Sim

Agency

Nome da agência do IAM criada pelo proprietário do bucket de destino no IAM.

Tipo: string

Você deve definir este parâmetro ao ativar a função de registro. Não defina este parâmetro ao desativar a função de registro.

LoggingEnabled

Container para informações de registro. Apresente este elemento ao ativar a função de registro. Caso contrário, ausente. Você pode adicionar informações de registro específicas neste elemento.

Tipo: recipiente

Você deve definir este parâmetro ao ativar a função de registro. Não defina este parâmetro ao desativar a função de registro.

Grant

Contêiner para as permissões de registro do beneficiário e do beneficiário. Ele descreve quem tem permissão para acessar os arquivos de registração gerados.

Tipo: recipiente

Não

Grantee

Contêiner para o usuário que é concedido com a permissão de registração.

Tipo: recipiente

Não

ID

ID da conta do usuário autorizado, que é globalmente exclusivo.

Tipo: string

Não

Permission

Permissões do beneficiário para os registrações gerados.

Tipo: string

Opções de valor: FULL_CONTROL | READ | WRITE

Não

TargetBucket

Ao ativar a função de registração, o proprietário do bucket que está sendo registrado pode especificar um bucket de destino para armazenar os arquivos de registração gerados. Certifique-se de que o proprietário do bucket que configura a função de registro tenha a permissão FULL_CONTROL para o bucket que armazena os arquivos de registro. Os arquivos de registração gerados para vários buckets podem ser armazenados no mesmo bucket de destino. Se você fizer isso, precisará especificar TargetPrefixes diferentes para classificar registrações para buckets diferentes.

Tipo: string

Você deve definir este parâmetro ao ativar a função de registro. Não defina este parâmetro ao desativar a função de registro.

TargetPrefix

Você pode especificar um prefixo usando este elemento para que os arquivos de registração sejam nomeados com este prefixo.

Tipo: string

Você deve definir este parâmetro ao ativar a função de registro. Não defina este parâmetro ao desativar a função de registro.

TargetGrants

Container para concessão de informações.

Tipo: recipiente

Não

Regras de nomenclatura para registrações de acesso

1
<TargetPrefix>YYYY-mm-DD-HH-MM-SS-<UniqueString>
  • <TargetPrefix> é o prefixo de nome de registração especificado pelo usuário.
  • YYYY-mm-DD-HH-MM-SS indica a data e a hora em que o registração é gerado.
  • <UniqueString> indica uma cadeia de caracteres gerada pelo OBS.

Segue-se um exemplo de um nome de ficheiro de registo:

1
bucket-log2015-06-29-12-22-07-N7MXLAF1BDG7MPDV
  • bucket-log é o prefixo de destino especificado pelo usuário.
  • 2015-06-29-12-22-07 indica a hora em que o registração é gerado.
  • N7MXLAF1BDG7MPDV é uma string gerada automaticamente pelo OBS

Formato dos registrações de acesso ao bucket

A seguir, mostra um registração de acesso entregue ao 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 registração de acesso contém as seguintes informações:

Tabela 2 Formato dos registrações de acesso ao bucket

Parâmetro

Exemplo

Descrição

BucketOwner

787f2f92b20943998a4fe2ab75eb09b8

ID do proprietário do bucket

Bucket

bucket

Nome do bucket

Time

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

Solicitação timestamp

Remote IP

xx.xx.xx.xx

Solicitar endereço IP

Requester

787f2f92b20943998a4fe2ab75eb09b8

ID do solicitante

RequestID

281599BACAD9376ECE141B842B94535B

ID de Solicitação

Operation

REST.GET.BUCKET.LOCATION

Operação

Key

-

Nome do Objeto

Request-URI

GET /bucket?location HTTP/1.1

URI de solicitação

HTTPStatus

200

Código de resposta

ErrorCode

-

Código de erro

BytesSent

211

Tamanho da resposta HTTP, expresso em bytes

ObjectSize

-

Tamanho do objeto

TotalTime

6

Tempo de processamento no servidor

Unidade: ms

Turn-AroundTime

6

Tempo total de processamento da solicitação

Unidade: ms

Referer

-

Cabeçalho de referência da solicitação

User-Agent

HttpClient

Cabeçalho User-Agent da solicitação

VersionID

-

ID de versão contida em uma solicitação

STSLogUrn

-

Autenticação federada e informações de agência

StorageClass

STANDARD_IA

Classe atual de armazenamento de objetos

TargetStorageClass

GLACIER

Classe de armazenamento para a qual o objeto será transferido

DentryName

12456/file.txt

  • Para um sistema de arquivos paralelo, este campo indica um identificador interno de um arquivo ou diretório. Seu valor consiste em um número de inode de diretório pai e um nome de arquivo ou diretório.
  • Para um bucket, o valor deste campo é -.

Sintaxe da resposta

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

Cabeçalhos de resposta

A resposta à solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 1.

Elementos de resposta

Esta resposta não envolve elementos.

Respostas de erro

Nenhuma resposta de erro especial está envolvida. Para obter detalhes sobre respostas de erro, consulte Tabela 2.

Solicitação de exemplo

 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>

Resposta de exemplo

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