Protegendo o Serviço Object Storage

Este tópico fornece informações e recomendações de segurança para o serviço Object Storage.

O serviço Object Storage é uma plataforma de armazenamento de alto desempenho que oferece durabilidade de dados confiável e econômica. Você pode armazenar uma quantidade ilimitada de dados não estruturados de qualquer tipo de conteúdo, incluindo dados analíticos e conteúdo avançado, como imagens e vídeos.

Responsabilidades de Segurança

Para usar o Object Storage com segurança, saiba mais sobre suas responsabilidades de segurança e conformidade.

Em geral, a Oracle fornece segurança de infraestrutura e operações na nuvem, como controles de acesso do operador de nuvem e aplicação de patch de segurança da infraestrutura. Você é responsável por configurar com segurança seus recursos de nuvem. A segurança na nuvem é uma responsabilidade compartilhada entre você e a Oracle.

A Oracle é responsável pelos seguintes requisitos de segurança:

  • Segurança Física: A Oracle é responsável por proteger a infraestrutura global que executa todos os serviços oferecidos no Oracle Cloud Infrastructure. Essa infraestrutura consiste em hardware, software, redes e equipamentos que executam os serviços do Oracle Cloud Infrastructure.

Suas responsabilidades de segurança estão descritas nesta página, que incluem as seguintes áreas:

  • Controle de Acesso: Limite os privilégios o máximo possível. Os usuários devem receber apenas o acesso necessário para executar seu trabalho.
  • Criptografia e Confidencialidade: Use chaves de criptografia e segredos para proteger seus dados e estabelecer conexão com recursos protegidos. Gire essas chaves regularmente.

Tarefas iniciais de segurança

Use esta lista de verificação para identificar as tarefas que você executa para proteger o Object Storage em uma nova tenancy do Oracle Cloud Infrastructure.

Tarefa Mais Informações
Usar políticas de IAM para conceder acesso a usuários e recursos Políticas do serviço IAM
Criptografar os recursos usando uma chave personalizada Criptografia de Dados
Proteger o acesso aos recursos via rede Segurança de Rede
Ativar e configurar o Cloud Guard (opcional) Cloud Guard
Criar uma zona de segurança (opcional) Security Zones

Tarefas de Segurança de Rotina

Depois de se familiarizar com o serviço Object Storage, use esta lista de verificação para identificar tarefas de segurança que recomendamos que você execute regularmente.

Tarefa Mais Informações
Rotacionar chaves de criptografia Criptografia de Dados
Responder aos problemas detectados no Cloud Guard Cloud Guard
Faça backups regulares Durabilidade dos Dados
Garantir a integridade dos seus dados quando estes forem movidos ou copiados para diferentes locais Somas de Verificação em Segurança de Dados
Execute uma auditoria de segurança Auditando

Políticas do Serviço IAM

Use políticas para limitar o acesso ao Object Storage.

Uma política especifica quem pode acessar os recursos do Oracle Cloud Infrastructure e como. Para obter mais informações, consulte Como as Políticas Funcionam.

Designe a um grupo o mínimo de privilégios necessários para executar suas responsabilidades. Cada política tem um verbo que descreve quais ações o grupo tem permissão para executar. Do menor acesso ao máximo, os verbos disponíveis são: inspect, read, use e manage.

Designe acesso menos privilegiado aos tipos de recursos em object-family (buckets e objetos). Por exemplo, o verbo inspect permite verificar se existe um bucket (HeadBucket) e listar os buckets em um compartimento (ListBucket). O verbo manage fornece todas as permissões no recurso.

Recomendamos que você conceda permissões DELETE a um conjunto mínimo de usuários e grupos do IAM. Esta prática minimiza a perda de dados de exclusões inadvertidas por usuários autorizados ou por agentes maliciosos. Só conceda permissões DELETE aos administradores de tenancies e compartimentos.

Nos exemplos a seguir, as políticas têm o escopo de uma tenancy. Porém, determinar um nome de compartimento reduz o escopo a um compartimento específico em uma tenancy.

Permitir acesso do usuário a uma pasta específica

Você pode permitir o acesso de qualquer usuário a uma pasta específica em um bucket usando uma combinação de nome de bucket específico (target.bucket.name) e padrão de objeto específico (target.object.name). Você pode usar um asterisco ("*") como curinga para corresponder a qualquer sequência de caracteres de string (/*name/, /name*/,/*name*/). Restringir o acesso a uma pasta por padrão de objeto não impede a listagem de todos os objetos no bucket contido.

ALLOW any-user TO manage objects IN TENANCY where all {target.bucket.name = 'test-bucket', target.object.name = 'prod/*', request.user.id='ocid1.user.oc1..exampleuniqueID'}
Restringir o Acesso do Grupo a Buckets Específicos

Você pode restringir o acesso de um grupo a um bucket específico usando o nome do bucket específico (target.bucket.name), tags definidas (target.tag.definition.name) ou pode usar asterisco como curinga para corresponder a qualquer sequência de caracteres de string (/*name/, /name*/, /*name*/).

O exemplo a seguir de restringir o acesso aos usuários do grupo BucketUsers a um bucket específico.

Allow group BucketUsers to use buckets in tenancy
 where target.bucket.name='BucketFoo'

Você pode alterar essa política para restringir o acesso aos usuários do grupo BucketUsers a todos os buckets cujos nomes são prefixados com ProjectA_.

Allow group BucketUsers to use buckets in tenancy
 where target.bucket.name=/ProjectA_*/

Você também pode estabelecer uma correspondência para pós-fixação (/*_ProjectA/) ou substring (/*ProjectA*/).

Restringir o Acesso ao Grupo para Ler ou Gravar em Objetos de um Bucket Específico

O exemplo a seguir permite listar e ler objetos com base no grupo BucketUsers por meio de um bucket específico chamado BucketFoo.

Allow group BucketUsers to read buckets in tenancy
Allow group BucketUsers to manage objects in tenancy
 where all {target.bucket.name='BucketFoo', 
            any {request.permission='OBJECT_INSPECT', 
                 request.permission='OBJECT_READ'}}

A política a seguir modifica a política anterior para permitir a listagem e a gravação de objetos em BucketFoo.

Allow group BucketUsers to read buckets in tenancy 
Allow group BucketUsers to manage objects in tenancy
 where all {target.bucket.name='BucketFoo', 
            any {request.permission='OBJECT_INSPECT', 
                 request.permission='OBJECT_CREATE'}}

Você pode restringir essa política ao acesso para leitura ou gravação a um conjunto de buckets usando expressões regulares ou tags em vez de um bucket específico.

Restringir o Acesso ao Grupo para Ler ou Gravar em Objetos com base nas Tags de Bucket

O exemplo a seguir permite listar e ler objetos por grupo BucketUsers de todos os buckets com a tag definida "MyTagNamespace.TagKey = MyTagValue".

Allow group BucketUsers to read buckets in tenancy
Allow group BucketUsers to manage objects in tenancy
 where all {target.bucket.tag.MyTagNamespace.TagKey='MyTagValue', 
            any {request.permission='OBJECT_INSPECT', 
                 request.permission='OBJECT_READ'}}

A política a seguir modifica a política anterior para permitir listar e gravar objetos em todos os buckets nos quais a tag definida no bucket corresponde à tag definida no grupo ao qual o usuário pertence.

Allow group BucketUsers to read buckets in tenancy 
Allow group BucketUsers to manage objects in tenancy
 where all {request.principal.group.tag.MyTagNamespace.TagKey=target.bucket.tag.MyTagNamespace.TagKey, 
            any {request.permission='OBJECT_INSPECT', 
                 request.permission='OBJECT_CREATE'}}
Restringir o Acesso de Recursos a um Usuário Específico

Você pode restringir o acesso aos recursos do serviço Object Storage a um usuário específico, adicionando uma condição à política que especifica o OCID do usuário em uma variável.

A política a seguir restringe o acesso aos recursos do compartimento ObjectStorage ao OCID do usuário especificado:

Allow any-user to read object-family in compartment ObjectStorage where request.user.id ='ocid1.user.oc1..<user_OCID>'
Restringir o Acesso a Solicitações Originadas de um Endereço IP Permitido

Você só pode restringir o acesso a solicitações originadas de um endereço IP permitido. Primeiro, crie uma origem de rede para especificar os endereços IP permitidos; em seguida, adicione uma condição à sua política para restringir o acesso aos endereços IP na origem de rede.

A política a seguir restringe o acesso a apenas endereços IP em uma origem de rede corpnet que define os endereços IP permitidos:

Allow group CorporateUsers to manage object-family in tenancy where request.networkSource.name='corpnet'

Para obter informações sobre como criar origens de rede e usá-las em uma política, consulte Gerenciando Origens de Rede.

Impedir a Exclusão de Buckets ou Objetos

No exemplo a seguir, o grupo BucketUsers pode executar todas as ações em buckets e objetos, exceto excluir.

Allow group BucketUsers to manage objects in tenancy
 where request.permission!='OBJECT_DELETE' 
Allow group BucketUsers to manage buckets in tenancy
 where request.permission!='BUCKET_DELETE'

O exemplo a seguir restringe ainda mais a exclusão de objetos do bucket específico (BucketFoo).

Allow group BucketUsers to manage objects in tenancy
  where any {target.bucket.name!='BucketFoo', 
             all {target.bucket.name='BucketFoo',
                  request.permission!='OBJECT_DELETE'}}
Permitir Conformidade com a Funcionalidade WORM para Objetos

Use regras de retenção para obter conformidade com WORM. As regras de retenção são configuradas no nível do bucket e são aplicadas a todos os objetos individuais no bucket. Não é possível atualizar, substituir ou excluir objetos ou metadados do objeto até que a regra de retenção seja excluída (regra indefinida) ou pela duração especificada (regras limitadas por tempo).

As políticas a seguir permitem que BucketUsers gerenciem os buckets e objetos na tenancy e permitem que BucketUsers criem, gerenciem e excluam regras de retenção. Essas políticas também permitem que BucketUsers bloqueiem regras de retenção por um tempo especificado.

Allow group BucketUsers to manage buckets in tenancy
Allow group BucketUsers to manage objects in tenancy

As políticas mais restritivas a seguir permitem que BucketUsers executem todas as ações em buckets e objetos, exceto bloquear regras de retenção.

Allow group BucketUsers to manage buckets in tenancy
 where request.permission!='RETENTION_RULE_LOCK'
Allow group BucketUsers to manage objects in tenancy
Impedir a Configuração de Buckets Públicos

As permissões BUCKET_CREATE e BUCKET_UDPATE são necessárias para criar buckets ou tornar públicos os buckets privados existentes. A remoção dessas permissões impede que os usuários criem buckets ou tornem públicos os buckets existentes.

Allow group BucketUsers to manage buckets in tenancy
 where any {request.permission='BUCKET_INSPECT', 
            request.permission='BUCKET_READ', 
            request.permission='PAR_MANAGE'}

Para obter mais informações sobre políticas do serviço Object Storage e para exibir mais exemplos, consulte Detalhes dos Serviços Object Storage, Archive Storage e Data Transfer.

Controle de Acesso

Além de criar políticas do serviço IAM, bloqueie o acesso ao Object Storage usando recursos como solicitações pré-autenticadas.

Buckets Públicos

Um bucket público permite leituras não autenticadas e anônimas em todos os objetos do bucket. Avalie com cuidado o caso do uso pretendido para buckets públicos antes de ativar buckets públicos.

É recomendável que você use solicitações pré-autenticadas para conceder acesso ao bucket ou ao objeto para os usuários sem credenciais do IAM. Por padrão, os buckets são criados sem acesso público (o tipo de acesso é definido como NoPublicAccess).

É possível tornar públicos os buckets existentes atualizando o tipo de acesso ao bucket para ObjectRead ou ObjectReadWithoutList. Para minimizar a possibilidade de os buckets existentes se tornarem públicos inadvertidamente ou maliciosamente, restrinja a permissão BUCKET_UPDATE a um conjunto mínimo de grupos do IAM.

O comando da CLI a seguir retorna o public-access-type designado a um bucket.

oci os bucket get -ns <your_namespace> --bucket-name <bucket_name> | grep "public-access-type"

Se o atributo public-access-type tiver o valor NoPublicAccess, o bucket será privado. Qualquer outro valor, como ObjectRead, indica um bucket público.

Solicitações Pré-autenticadas

Para usuários sem credenciais do IAM, recomendamos que você use solicitações pré-autenticadas (PARs) para dar acesso limitado por tempo a objetos ou buckets.

Em uma solicitação pré-autenticada, um usuário do IAM que tem privilégios apropriados para acessar objetos pode criar URLs especiais que concedem acesso limitado por tempo a esses objetos. Para obter mais informações, consulte Usando Solicitações Pré-autenticadas.

O criador de uma solicitação pré-autenticada deve ter a permissão PAR_MANAGE e as permissões apropriadas do serviço IAM para o tipo de acesso que você está concedendo. Você pode criar uma solicitação pré-autenticada que conceda acesso de leitura, gravação ou leitura/gravação a um dos seguintes itens:

  • Todos os objetos do bucket.
  • Um objeto específico no bucket.
  • Todos os objetos no bucket que têm um prefixo especificado.

Para solicitações que se aplicam a vários objetos, você também pode decidir se deseja permitir que os usuários listem esses objetos.

Os acessos de solicitação pré-autenticados a um bucket são assinados nos logs de Auditoria. Os acessos de solicitação pré-autenticados a um objeto são registrados nos logs de Serviço.

Importante

Copie o URL para o armazenamento durável. O URL é exibido somente no momento da criação, não é armazenado no Object Storage e não pode ser recuperado posteriormente.

O comando da CLI a seguir retorna uma lista de PARs de objetos em um bucket.

oci os preauth-request list -ns <your_namespace> -bn <bucket_name>

Cloud Guard

Ative o Cloud Guard e use-o para detectar e responder a problemas de segurança no Object Storage.

Ao detectar um problema, o Cloud Guard sugere ações corretivas. Você também pode configurar o Cloud Guard para executar automaticamente determinadas ações. O Cloud Guard inclui as seguintes regras do detector para o Object Storage.

  • O bucket é público
  • O bucket do serviço Object Storage é criptografado com chave gerenciada pela Oracle
  • Chaves de cliente do IAM criadas

Para obter uma lista de todas as regras do detector disponíveis no Cloud Guard, consulte Referência de Receita do Detector.

Se você ainda não tiver feito isso, ative o Cloud Guard e configure-o para monitorar os compartimentos que contêm seus recursos. Você pode configurar destinos do Cloud Guard para examinar toda a sua tenancy (compartimento raiz e todos os subcompartimentos) ou para verificar apenas compartimentos específicos. Consulte Conceitos Básicos do Cloud Guard.

Depois de ativar o Cloud Guard, você poderá exibir e resolver problemas de segurança detectados. Consulte Processando Problemas Reportados.

Zonas de Segurança

O uso de Zonas de Segurança garante que seus recursos no Object Storage estejam em conformidade com as melhores práticas de segurança.

Uma zona de segurança está associada a um ou mais compartimentos e a uma receita de zona de segurança. Quando você criar e atualizar recursos no compartimento de uma zona de segurança, o Oracle Cloud Infrastructure validará essas operações de acordo com a lista de políticas de zona de segurança na receita. Se qualquer política na receita for violada, a operação será negada. As políticas de zona de segurança a seguir estão disponíveis para recursos no Object Storage.

  • deny public_buckets
  • deny buckets_without_vault_key

Para obter uma lista de todas as políticas de zona de segurança, consulte Políticas de Zona de Segurança.

Para mover recursos existentes para um compartimento que esteja em uma zona de segurança, os recursos devem estar em conformidade com todas as políticas de zona de segurança na receita da zona. Da mesma forma, os recursos de uma zona de segurança não podem ser movidos para um compartimento fora da zona de segurança porque ele pode ser menos seguro. Consulte Gerenciando Zonas de Segurança.

Criptografia de Dados

Crie e rotacione chaves de criptografia no serviço Vault para proteger seus recursos no Object Storage.

Todos os dados no serviço Object Storage são criptografados em repouso por meio da utilização do padrão AES-256. Por padrão, a criptografia permanece ativada e não pode ser desativada. Cada objeto é criptografado com sua própria chave de criptografia, e as chaves de criptografia de objeto são criptografadas com uma chave de criptografia mestra.

Um vault é uma entidade lógica que armazena as chaves de criptografia usadas para proteger seus dados. Dependendo do modo de proteção, as chaves são armazenadas no servidor ou são armazenadas em HSMs (hardware security modules) de alta disponibilidade e durabilidade. Nossos HSMs atendem à certificação de segurança FIPS 140-2 Security Level 3. Consulte Gerenciando Vaults e Gerenciando Chaves.

Embora as chaves de criptografia padrão possam ser geradas automaticamente quando você cria determinados recursos do Oracle Cloud Infrastructure, recomendamos que você crie e gerencie suas próprias chaves de criptografia personalizadas no serviço Vault.

Para designar uma chave de criptografia personalizada a um novo bucket ou a um existente, consulte:

Cada chave mestra de criptografia recebe automaticamente uma versão de chave. Quando você rotaciona uma chave, o serviço Vault gera uma nova versão da chave. A rotação periódica de chaves limita o volume de dados criptografados ou assinados por uma versão de chave. Se uma chave for composta, a rotação de chave reduzirá o risco para seus dados. Consulte Gerenciando Chaves.

Recomendamos que você use políticas do IAM para limitar estritamente a criação, a rotação e a exclusão de chaves de criptografia. Consulte Detalhes do Serviço Vault.

Você também pode usar a criptografia do cliente para criptografar objetos com suas respectivas chaves de criptografia antes de armazená-los em buckets do serviço Object Storage. Uma opção disponível para clientes é usar a API de Compatibilidade com o Amazon S3 juntamente com o suporte de criptografia de objetos no cliente disponível no SDK AWS para Java. Consulte API de Compatibilidade com o Amazon S3 para obter mais detalhes sobre esse SDK.

Durabilidade dos Dados

Faça backups regulares de seus dados no Object Storage.

Minimize a perda de dados decorrente de exclusões inadvertidas por um usuário autorizado ou decorrente de exclusões maliciosas. Recomendamos o seguinte:
  • Use o controle de versão do objeto para criar automaticamente uma versão do objeto sempre que um novo objeto for submetido a upload, um objeto existente for substituído ou quando um objeto for excluído.
  • Conceda as permissões BUCKET_DELETE e OBJECT_DELETE a um conjunto mínimo de usuários e grupos do serviço IAM. Conceda permissões de exclusão somente aos administradores de tenancy e compartimento.

A conformidade com "Write once, read many" (WORM) requer que os objetos não possam ser excluídos ou modificados. Use regras de retenção para obter conformidade com WORM. As regras de retenção são configuradas no nível do bucket e são aplicadas a todos os objetos individuais no bucket. Não é possível atualizar, substituir ou excluir objetos ou metadados do objeto até que a regra de retenção seja excluída (regra indefinida) ou pela duração especificada (regras limitadas por tempo).

Para uma avaliação independente da capacidade do recurso de regras de retenção do serviço Object Storage para atender aos requisitos regulatórios de gerenciamento e retenção de registros, consulte SEC 17a-4(f), FINRA 4511(c), CFTC 1.31(c)-(d) e MiFID II Compliance Assessment da Cohasset Associates.

Somas de Verificação em Segurança de Dados

Para verificar a integridade dos dados do objeto, é fornecida uma soma de verificação MD5 para todos os objetos carregados por upload no Object Storage. Além disso, você pode aplicar uma das seguintes somas de verificação opcionais aos objetos submetidos a upload para o Object Storage:

  • SHA256

  • SHA384

  • CRC32C

Usando a Soma de Verificação MD5

Recomendamos que você verifique se a soma de verificação MD5 off-line de um objeto corresponde ao valor da soma de verificação retornado pela Console ou pela API após o upload. O Oracle Cloud Infrastructure fornece o valor da soma de verificação do objeto na codificação base64. Para ocultar o valor da soma de verificação codificada em base64 para o formato hexadecimal, use o seguinte comando:

python -c 'print "BASE64-ENCODED-MD5-VALUE".decode("base64").encode("hex")'

O Linux fornece um utilitário de linha de comando md5sum para calcular o valor de soma de verificação MD5 de um objeto em formato hexadecimal.

Usando a Soma de Verificação MD5 com Uploads Multiparte

O Object Storage suporta uploads multipartes para uploads mais eficientes e resilientes, especialmente para objetos grandes. Em um upload em várias partes, um objeto grande é dividido em partes menores, especificando-se um tamanho de parte em MiB. Cada parte é carregada por upload separadamente. Em seguida, o serviço Object Storage combina todas as partes para criar o objeto original. Se uma das partes falhar durante o upload, apenas essa parte precisará ser repetida para o upload, e não o objeto inteiro.

Em um upload em várias partes, os valores de soma de verificação MD5 são calculados para cada parte e uma soma de verificação MD5 calculada para todos os valores de soma de verificação individuais para obter o valor de saída MD5. Para verificar o valor MD5 retornado para um upload em várias partes, siga o mesmo processo para o cálculo da soma de verificação MD5 off-line. Um exemplo de script para o cálculo off-line de um valor de soma de verificação MD5 para um upload em várias partes no serviço Object Storage está disponível aqui: https://gist.github.com/itemir/f5bc9fded6483cd79c89ebf4ca1cfd30.

Usando a Soma de Verificação SHA256 ou SHA384

Alguns setores têm requisitos regulatórios para usar um método de soma de verificação que é considerado mais forte que MD5. Esses requisitos geralmente exigem explicitamente SHA256 ou SHA384. É possível selecionar o algoritmo exigido por seu regime de conformidade. Observe que a presença de MD5 não é considerada insegura ou fora de conformidade, a adição de outro método de soma de verificação fornece uma verificação de integridade extra. Espera-se que a adição de um dos tipos de soma de verificação SHA ajude a atender a esses requisitos.

Veja a seguir exemplos de uso das somas de verificação SHA256 ou SHA384:
~ echo "Test" | openssl dgst -sha256 -binary | base64
ydBMlWX8ZlyAaB+x2CmTgCaHH2bhT1AeCFMd9mk4p4k=
~ echo "Test" | openssl dgst -sha384 -binary | base64
B6T9J1V45Pkr3wb9V8ioT3u/WNk2zCkY4lAKZ3wYXfDUe2ImwIpVK8O42uUOANY2

Usando a Soma de Verificação CRC32C

Talvez você queira comparar a soma de verificação calculada em um sistema de armazenamento local com as calculadas pelo Object Storage. Isso é difícil com uploads multiparte, porque a soma de verificação calculada depende do tamanho exato de cada parte, que pode ser diferente em sistemas diferentes (ou com definições de upload diferentes).

O tipo de soma de verificação CRC32C foi projetado para retornar a mesma soma de verificação para o mesmo objeto, independentemente de como ele foi submetido a upload. Isso permite que os clientes comparem a soma de verificação CRC32C calculada pelo Object Storage com a soma de verificação CRC32C calculada pelo armazenamento local ou por outras nuvens, independentemente das definições de upload em várias partes.

Usando Tipos de Soma de Verificação Adicionais

Você só pode usar um tipo de soma de verificação adicional por objeto submetido a upload. As somas de verificação MD5 são sempre calculadas em cada objeto. Ao usar um tipo de soma de verificação adicional, os comandos GET e PUT podem gerar latência um pouco maior para serem concluídos, em comparação com um GET ou PUT no mesmo objeto sem o tipo de soma de verificação adicional.

Segurança de Rede

Proteja o acesso de rede aos seus recursos no Object Storage.

Por padrão, os dados em trânsito entre os clientes (por exemplo, SDKs e CLIs) e os pontos finais públicos do serviço Object Storage são criptografados com TLS 1.2. O pareamento público FastConnect permite que o acesso local ao serviço Object Storage por meio de uma rede privada, em vez de pela internet pública. Consulte Acesso a Sua Rede On-Premises.

Auditando

Localize logs de acesso e outros dados de segurança para o Object Storage.

O serviço Audit registra automaticamente todas as chamadas de API para recursos do Oracle Cloud Infrastructure. Você pode atingir suas metas de segurança e conformidade usando o serviço Audit para monitorar todas as atividades do usuário em sua tenancy. Como todas as chamadas da Console, SDK e CLI (linha de comando) passam por nossas APIs, todas as atividades dessas origens são incluídas. Os registros de auditoria estão disponíveis por meio de uma API de consulta filtrável autenticada ou podem ser recuperados como arquivos batch do serviço Object Storage. O conteúdo do log de auditoria inclui a atividade ocorrida, o usuário que a iniciou, a data e a hora da solicitação, bem como o IP de origem, o agente do usuário e cabeçalhos HTTP da solicitação. Consulte Exibindo Eventos de Log de Auditoria.

Exemplo de Log de Auditoria
{
  "datetime": 1642104527377,
  "logContent": {
    "data": {
      "additionalDetails": {
        "namespace": "mytenancy"
      },
      "availabilityDomain": "PHX-AD-1",
      "compartmentId": "ocid1.compartment.oc1..<unique_id>",
      "compartmentName": "mycompartment",
      "definedTags": null,
      "eventGroupingId": "<unique_id>",
      "eventName": "ListBuckets",
      "freeformTags": null,
      "identity": {
        "authType": null,
        "callerId": null,
        "callerName": null,
        "consoleSessionId": null,
        "credentials": "<key>",
        "ipAddress": "<ip_address>",
        "principalId": "<user_id>",
        "principalName": "<user_name>",
        "tenantId": "ocid1.tenancy.oc1..<unique_id>",
        "userAgent": "Oracle-JavaSDK/1.37.1 (Linux/4.14.35-2047.509.2.2.el7uek.x86_64; Java/1.8.0_301; Java HotSpot(TM) 64-Bit Server VM GraalVM EE 20.3.3/25.301-b09-jvmci-20.3-b18)"
      },
      "message": "List of buckets retrieved.",
      "request": {
        "action": "GET",
        "headers": {
          "Accept": [
            "application/json"
          ],
          "Connection": [
            "keep-alive"
          ],
          "User-Agent": [
            "Oracle-JavaSDK/1.37.1 (Linux/4.14.35-2047.509.2.2.el7uek.x86_64; Java/1.8.0_301; Java HotSpot(TM) 64-Bit Server VM GraalVM EE 20.3.3/25.301-b09-jvmci-20.3-b18)"
          ],
          "authorization": [
            "Signature headers=\"date (request-target) host\",keyId=\"<key>"
          ],
          "date": [
            "Thu, 13 Jan 2022 20:08:47 GMT"
          ],
          "opc-client-info": [
            "Oracle-JavaSDK/1.37.1"
          ],
          "opc-request-id": [
            "<unique_id>"
          ]
        },
        "id": "<unique_id>",
        "parameters": {
          "compartmentId": [
            "ocid1.compartment.oc1..<unique_id>"
          ],
          "fields": [
            "tags"
          ],
          "limit": [
            "1000"
          ],
          "param0": [
            "mytenancy"
          ]
        },
        "path": "/n/mytenancy/b?compartmentId=ocid1.compartment.oc1..<unique_id>&limit=1000&fields=tags"
      },
      "resourceId": "/n/mytenancy/b?compartmentId=ocid1.compartment.oc1..<unique_id>&limit=1000&fields=tags",
      "response": {
        "headers": {
          "Content-Length": [
            "2"
          ],
          "Content-Type": [
            "application/json"
          ],
          "access-control-allow-credentials": [
            "true"
          ],
          "access-control-allow-methods": [
            "POST,PUT,GET,HEAD,DELETE,OPTIONS"
          ],
          "access-control-allow-origin": [
            "*"
          ],
          "access-control-expose-headers": [
            "access-control-allow-credentials,access-control-allow-methods,access-control-allow-origin,content-length,content-type,date,opc-client-info,opc-request-id,x-api-id"
          ],
          "date": [
            "Thu, 13 Jan 2022 20:08:47 GMT"
          ],
          "opc-request-id": [
            "<unique_id>"
          ],
          "x-api-id": [
            "native"
          ]
        },
        "message": null,
        "payload": {
          "id": "/n/mytenancy/b?compartmentId=ocid1.compartment.oc1..<unique_id>&limit=1000&fields=tags",
          "resourceName": "/n/mytenancy/b?compartmentId=ocid1.compartment.oc1..<unique_id>&limit=1000&fields=tags"
        },
        "responseTime": "2022-01-13T20:08:47.377Z",
        "status": "200"
      },
      "stateChange": null
    },
    "dataschema": "2.0",
    "id": "<unique_id>",
    "oracle": {
      "compartmentid": "ocid1.compartment.oc1..<unique_id>",
      "ingestedtime": "2022-01-13T20:08:49.384Z",
      "loggroupid": "_Audit",
      "tenantid": "ocid1.tenancy.oc1..<unique_id>"
    },
    "source": "/n/mytenancy/b?compartmentId=ocid1.compartment.oc1..<unique_id>&limit=1000&fields=tags",
    "specversion": "1.0",
    "time": "2022-01-13T20:08:47.377Z",
    "type": "com.oraclecloud.objectstorage.listbuckets"
  }
}

Se você tiver ativado o Cloud Guard em sua tenancy, ele reportará quaisquer atividades do usuário que sejam possíveis preocupações de segurança. Ao detectar um problema, o Cloud Guard sugere ações corretivas. Você também pode configurar o Cloud Guard para executar automaticamente determinadas ações. Consulte Conceitos Básicos do Cloud Guard e Processando Problemas Relatados.