Protección de Object Storage

En este tema, se proporciona información de seguridad y recomendaciones para Object Storage.

El servicio Object Storage es una plataforma de almacenamiento de alto rendimiento que ofrece durabilidad de datos fiable y rentable. Puede almacenar una cantidad ilimitada de datos no estructurados de cualquier tipo de contenido, incluidos los datos analíticos y el contenido enriquecido, como imágenes y vídeos.

Responsabilidades de seguridad

Para utilizar Object Storage de forma segura, obtenga información sobre sus responsabilidades de seguridad y conformidad.

En general, Oracle proporciona seguridad de la infraestructura y las operaciones en la nube, como los controles de acceso de los operadores de la nube y la aplicación de parches de seguridad de la infraestructura. Es responsable de configurar de forma segura sus recursos en la nube. La seguridad en la nube es una responsabilidad compartida entre usted y Oracle.

Oracle es responsable de los siguientes requisitos de seguridad:

  • Seguridad física: Oracle es responsable de proteger la infraestructura global que ejecuta todos los servicios ofrecidos en Oracle Cloud Infrastructure. Esta infraestructura consta del hardware, el software, la red y las instalaciones que ejecutan servicios de Oracle Cloud Infrastructure.

Las responsabilidades de seguridad se describen en esta página, que incluye las siguientes áreas:

  • Control de acceso: limite los privilegios lo máximo posible. A los usuarios solo se les debe otorgar el acceso necesario para realizar su trabajo.
  • Cifrado y confidencialidad: utilice secretos y claves de cifrado para proteger los datos y conectarse a los recursos protegidos. Rote estas claves regularmente.

Tareas de seguridad iniciales

Utilice esta lista de comprobación para identificar las tareas que realiza para proteger Object Storage en un nuevo arrendamiento de Oracle Cloud Infrastructure.

Tarea Más información
Utilizar políticas de IAM para otorgar acceso a usuarios y recursos Políticas de IAM
Cifrar recursos con una clave personalizada Cifrado de datos
Acceso de red seguro a los recursos Seguridad de red
Activar y configurar Cloud Guard (opcional) Cloud Guard
Crear una zona de seguridad (opcional) Zonas de seguridad

Tareas de Seguridad Rutina

Después de comenzar a utilizar Object Storage, utilice esta lista de comprobación para identificar las tareas de seguridad que le recomendamos que realice con regularidad.

Tarea Más información
Rotar claves de cifrado Cifrado de datos
Responda a los problemas detectados en Cloud Guard Cloud Guard
Realizar copias de seguridad periódicas Durabilidad de los datos
Garantice la integridad de los datos cuando se mueven o copian a diferentes ubicaciones Seguridad de datos
Realizar una auditoría de seguridad Auditoría

Políticas de IAM

Utilice políticas para limitar el acceso a Object Storage.

Una política especifica quién puede acceder a los recursos de Oracle Cloud Infrastructure y cómo. Para obtener más información, consulte Cómo funcionan las políticas.

Asigne a un grupo los privilegios mínimos necesarios para realizar sus responsabilidades. Cada política tiene un verbo que describe qué acciones puede realizar el grupo. Desde la menor cantidad de acceso hasta el máximo, los verbos disponibles son: inspect, read, use y manage.

Asigne acceso con el mínimo de privilegios a tipos de recursos en object-family (cubos y objetos). Por ejemplo, el verbo inspect permite comprobar si existe un cubo (HeadBucket) y mostrar los cubos en un compartimento (ListBucket). El verbo manage otorga todos los permisos en el recurso.

Le recomendamos que otorgue permisos DELETE a un juego mínimo de usuarios y grupos de IAM. Esta práctica minimiza la pérdida de datos de supresiones involuntarias por usuarios autorizados o por actores maliciosos. Otorgue permisos DELETE solo a los administradores de arrendamiento y compartimento.

En los siguientes ejemplos, las políticas están acotadas a un arrendamiento. Sin embargo, al especificar un nombre de compartimento, se acota a un compartimento específico en un arrendamiento.

Permitir acceso de usuario a una carpeta específica

Puede permitir el acceso a cualquier usuario a una carpeta específica de un cubo mediante una combinación de nombre de cubo específico (target.bucket.name) y patrón de objeto específico (target.object.name). Puede utilizar un asterisco como comodín para que coincida con cualquier secuencia de caracteres de cadena (/*name/, /name*/, /*name*/).

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 acceso de grupo a cubos específicos

Puede restringir el acceso por grupo a un cubo específico mediante el nombre de cubo específico (target.bucket.name), las etiquetas definidas (target.tag.definition.name) o puede utilizar un asterisco como comodín para que coincida con cualquier secuencia de caracteres de cadena (/*name/, /name*/, /*name*/).

En el siguiente ejemplo, se restringe el acceso a usuarios del grupo BucketUsers a un cubo específico.

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

Puede modificar esta política para restringir el acceso a los usuarios del grupo BucketUsers a todos los cubos cuyos nombres tengan el prefijo ProjectA_.

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

También puede hacer que coincida con post-fijo (/*_ProjectA/) o subcadena (/*ProjectA*/).

Restringir acceso de grupo a la lectura o escritura de objetos en un cubo específico

El siguiente ejemplo permite mostrar y leer objetos por grupo BucketUsers desde un cubo específico denominado 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'}}

La siguiente política modifica la política anterior para permitir mostrar y escribir objetos en 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'}}

Puede restringir esta política para el acceso de lectura o escritura a un conjunto de cubos mediante expresiones o etiquetas en lugar de un cubo específico.

Restringir acceso de grupo a leer o escribir en objetos según etiquetas de cubo

El siguiente ejemplo permite mostrar y leer objetos por grupo BucketUsers de todos los cubos con la etiqueta 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'}}

La siguiente política modifica la política anterior para permitir mostrar y escribir objetos en todos los cubos en los que la etiqueta definida en el cubo coincide con la etiqueta definida en el grupo al que pertenece el usuario.

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'}}
Restricción del acceso a los recursos a un usuario concreto

Puede restringir el acceso a los recursos de Object Storage a un usuario específico agregando una condición a la política que especifique el OCID del usuario en una variable.

La siguiente política restringe el acceso a los recursos del compartimento ObjectStorage al OCID de usuario especificado:

Allow any-user to read object-family in compartment ObjectStorage where request.user.id ='ocid1.user.oc1..<user_OCID>'
Restricción del acceso a las solicitudes que se originan desde una dirección IP permitida

Puede restringir el acceso solo a las solicitudes que se originan desde una dirección IP permitida. En primer lugar, cree un origen de red para especificar las direcciones IP permitidas y, a continuación, agregue una condición a la política para restringir el acceso a las direcciones IP en el origen de red.

La siguiente política restringe el acceso solo a las direcciones IP en un origen de red corpnet que define las direcciones IP permitidas:

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

Para obtener información sobre la creación de orígenes de red y su uso en una política, consulte Gestión de orígenes de red.

Evitar la supresión de cubos u objetos

En el siguiente ejemplo, el grupo BucketUsers puede realizar todas las acciones en cubos y objetos, excepto la supresión.

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'

El siguiente ejemplo restringe aún más la supresión de objetos del cubo 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 la conformidad WORM para objetos

Utilice reglas de retención para lograr el cumplimiento de WORM. Las reglas de retención se configuran en el nivel de cubo y se aplican a todos los objetos individuales del cubo. No puede actualizar, sobrescribir ni suprimir objetos o metadatos de objeto hasta que se suprima la regla de retención (regla indefinida) o durante el período de duración especificado (reglas de límite temporal).

Las siguientes políticas permiten a BucketUsers gestionar los cubos y objetos del arrendamiento, y permiten a BucketUsers crear, gestionar y suprimir reglas de retención. Estas políticas también permiten que BucketUsers bloquee las reglas de retención durante un tiempo especificado.

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

Las siguientes políticas más restrictivas permiten a BucketUsers realizar todas las acciones en cubos y objetos, excepto bloquear reglas de retención.

Allow group BucketUsers to manage buckets in tenancy
 where request.permission!='RETENTION_RULE_LOCK'
Allow group BucketUsers to manage objects in tenancy
Evitar la configuración de cubos públicos

Los permisos BUCKET_CREATE y BUCKET_UDPATE son necesarios para crear cubos o hacer que los cubos privados existentes sean públicos. La eliminación de estos permisos evita que los usuarios creen cubos o hagan que los cubos existentes sean públicos.

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

Para obtener más información sobre las políticas de Object Storage y ver más ejemplos, consulte Detalles de Object Storage, Archive Storage y Data Transfer.

Control de acceso

Además de crear políticas de IAM, bloquee el acceso a Object Storage mediante funciones como solicitudes autenticadas previamente.

Cubos públicos

Un cubo público permite lecturas no autenticadas y anónimas de todos los objetos del cubo. Evalúe detenidamente el caso de uso previsto de los cubos públicos antes de activarlos.

Recomendamos que utilice las solicitudes autenticadas previamente para proporcionar acceso de cubo u objeto a los usuarios sin credenciales de IAM. Por defecto, los cubos se crean sin acceso público (el tipo de acceso se define en NoPublicAccess).

Puede hacer que los cubos existentes sean públicos actualizando el tipo de acceso de cubo en ObjectRead o ObjectReadWithoutList. Para minimizar la posibilidad de que los cubos existentes se hagan públicos involuntariamente o sin autorización, restrinja el permiso BUCKET_UPDATE a un mínimo de grupos de IAM.

El siguiente comando de la CLI devuelve public-access-type asignado a un cubo.

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

Si el atributo public-access-type tiene el valor NoPublicAccess, el cubo es privado. Cualquier otro valor, como ObjectRead, indica un cubo público.

Solicitudes autenticadas previamente

Para los usuarios sin credenciales de IAM, recomendamos que utilice las solicitudes autenticadas previamente (PAR) para proporcionar acceso controlado por tiempo a los objetos o cubos.

En una solicitud autenticada previamente, un usuario de IAM que tiene los privilegios adecuados para acceder a objetos puede crear URL especiales que otorguen acceso controlado por tiempo a estos objetos. Para obtener más información, consulte Uso de solicitudes autenticadas previamente.

El creador de una solicitud autenticada previamente debe tener el permiso PAR_MANAGE y los permisos de IAM adecuados para el tipo de acceso que está otorgando. Puede crear una solicitud autenticada previamente que otorgue acceso de lectura, escritura o lectura/escritura a una de las siguientes opciones:

  • Todos los objetos del cubo.
  • Objeto específico del cubo.
  • Todos los objetos del cubo que tienen un prefijo especificado.

El creador de una solicitud autenticada previamente debe tener el permiso PAR_MANAGE y los permisos de IAM adecuados para el tipo de acceso que está otorgando. Puede crear una solicitud autenticada previamente que otorgue acceso de lectura, escritura o lectura/escritura a una de las siguientes opciones:

Para las solicitudes que se aplican a varios objetos, también puede decidir si desea permitir que los usuarios muestren esos objetos.

Los accesos de solicitud autenticados previamente a un cubo se registran en los logs de auditoría. Los accesos de solicitud autenticados previamente a un objeto se registran en los logs de servicio.

Importante

La URL única proporcionada por el sistema cuando crea una solicitud autenticada previamente es la única forma en la que un usuario puede acceder al destino de la solicitud. Copie la dirección URL en un espacio de almacenamiento duradero. La URL se muestra solo en el momento de la creación, no se almacena en Object Storage y no se puede recuperar posteriormente.

El siguiente comando de la CLI devuelve una lista de PAR de objeto en un cubo.

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

Cloud Guard

Active Cloud Guard y utilícela para detectar y responder a problemas de seguridad en Object Storage.

Al detectar un problema, Cloud Guard sugiere acciones correctivas. También puede configurar Cloud Guard para que realice automáticamente determinadas acciones. Cloud Guard incluye las siguientes reglas de detector para Object Storage.

  • El cubo es público
  • El cubo de Object Storage se cifra con una clave gestionada por Oracle
  • Claves de cliente de IAM creadas

Para obtener una lista de todas las reglas de detector disponibles en Cloud Guard, consulte Referencia de recetas de detector.

Si aún no lo ha hecho, active Cloud Guard y configúrelo para supervisar los compartimentos que contienen sus recursos. Puede configurar destinos de Cloud Guard para examinar todo el arrendamiento (compartimento raíz y todos los subcompartimentos) o para comprobar solo compartimentos específicos. Consulte Introducción a Cloud Guard.

Después de activar Cloud Guard, puede ver y resolver los problemas de seguridad detectados. Consulte Processing Reported Problems.

Zonas de seguridad

El uso de zonas de seguridad garantiza que los recursos de Object Storage cumplan con las mejores prácticas de seguridad.

Una zona de seguridad está asociada con uno o más compartimentos y una receta de zona de seguridad. Al crear y actualizar recursos en el compartimento de una zona de seguridad, Oracle Cloud Infrastructure valida estas operaciones con respecto a la lista de políticas de zona de seguridad en la receta. Si se viola alguna política de la receta, se deniega la operación. Las siguientes políticas de zona de seguridad están disponibles para los recursos en Object Storage.

  • deny public_buckets
  • deny buckets_without_vault_key

Para obtener una lista de todas las políticas de zonas de seguridad, consulte Security Zone Policies.

Para mover los recursos existentes a un compartimento que está en una zona de seguridad, los recursos deben cumplir todas las políticas de zona de seguridad de la receta de la zona. Del mismo modo, los recursos de una zona de seguridad no se pueden mover a un compartimento fuera de la zona de seguridad porque podría ser menos seguro. Consulte Gestión de zonas de seguridad.

Cifrado de datos

Cree y rote claves de cifrado en el servicio Vault para proteger sus recursos en Object Storage.

Todos los datos de Object Storage se cifran cuando están inactivos mediante AES-256. El cifrado está activado por defecto y no se puede desactivar. Cada objeto se cifra con su clave de cifrado y las claves de cifrado de objetos se cifran con una clave de cifrado maestra.

Un almacén es una entidad lógica que almacena las claves de cifrado que se utilizan para proteger los datos. Según el modo de protección, las claves se almacenan en el servidor o se almacenan en módulos de seguridad de hardware (HSM) duraderos y de alta disponibilidad. Nuestros HSM cumplen con la certificación de seguridad FIPS 140-2 Security Level 3. Consulte Gestión de almacenes y Gestión de claves.

Aunque las claves de cifrado por defecto se pueden generar automáticamente al crear determinados recursos de Oracle Cloud Infrastructure, recomendamos que cree y gestione sus propias claves de cifrado personalizadas en el servicio Almacén.

Para asignar una clave de cifrado personalizada a un nuevo cubo o a uno existente, consulte:

A cada clave de cifrado maestra se le asigna automáticamente una versión de clave. Al rotar una clave, el servicio Vault genera una nueva versión de clave. La rotación periódica de claves limita la cantidad de datos cifrados o firmados por una versión de clave. Si alguna vez se incluye una clave, la rotación de claves reduce el riesgo para los datos. Consulte Gestión de claves.

Recomendamos que utilice políticas de IAM para limitar estrictamente la creación, rotación y supresión de claves de cifrado. Consulte Detalles para el servicio Vault.

También puede utilizar el cifrado del cliente para cifrar objetos con sus claves de cifrado antes de almacenarlos en cubos de Object Storage. Una opción disponible para los clientes es utilizar la API de compatibilidad de Amazon S3 junto con el soporte de cifrado de objetos del cliente disponible en SDK de AWS para Java. Consulte API de compatibilidad de Amazon S3 para obtener más información sobre este SDK.

Durabilidad de los datos

Realice copias de seguridad periódicas de los datos en Object Storage.

Minimice la pérdida de datos debido a supresiones involuntarias por un usuario autorizado o supresiones maliciosas. Se recomienda lo siguiente:
  • Utilice el control de versiones de objeto para crear automáticamente una versión de objeto cada vez que se carga un nuevo objeto, se sobrescribe un objeto existente o se suprime un objeto.
  • Otorgue permisos BUCKET_DELETE y OBJECT_DELETE a un juego mínimo de usuarios y grupos de IAM. Otorgue permisos de supresión solo a los administradores de arrendamiento y compartimento.

La conformidad de "escritura única, lectura múltiple" (WORM) requiere que los objetos no se puedan suprimir ni modificar. Utilice reglas de retención para lograr el cumplimiento de WORM. Las reglas de retención se configuran en el nivel de cubo y se aplican a todos los objetos individuales del cubo. No puede actualizar, sobrescribir ni suprimir objetos o metadatos de objeto hasta que se suprima la regla de retención (regla indefinida) o durante el período de duración especificado (reglas de límite temporal).

Para una evaluación independiente de la capacidad de la función de retención de Object Storage para cumplir con los requisitos normativos de gestión y retención de registros, consulte SEC 17a-4(f), FINRA 4511(c), CFTC 1.31(c)-(d) y MiFID II Compliance Assessment de Cohasset Associate.

Seguridad de datos

Asegúrese de la integridad de los datos en Object Storage.

Para verificar la integridad de los datos de objetos, se proporciona un total de control MD5 para todos los objetos cargados en Object Storage. Le recomendamos que verifique que el total de control MD5 fuera de línea de un objeto coincide con el valor de total de control devuelto por la consola o la API después de la carga. Oracle Cloud Infrastructure proporciona el valor de total de control de objeto en la codificación base64. Para convertir el valor de suma de comprobación codificada en base64 a hexadecimal, utilice el siguiente comando:

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

Linux proporciona una utilidad de línea de comandos md5sum para calcular el valor de total de control MD5 de un objeto en formato hexadecimal.

Object Storage admite cargas de varias partes para cargas más eficaces y resistentes, especialmente para objetos grandes. En una carga de varias partes, un objeto grande se divide en partes más pequeñas especificando un tamaño de parte en MiB. Cada parte se carga por separado. Object Storage combina todas las partes para crear el objeto original. Si falla la carga de alguna de las partes, solo es necesario volver a cargar dichas partes, y no el objeto completo.

En una carga en varias partes, los valores de total de control MD5 se calculan para cada parte y un total de control MD5 se calcula para todos los valores de total de control individuales para obtener el valor MD5 de salida. Para verificar el valor de MD5 devuelto para una carga de varias partes, siga el mismo proceso que para el cálculo de total de control MD5 fuera de línea. Aquí está disponible un script de ejemplo para el cálculo fuera de línea de un valor de total de control MD5 para una carga de varias partes en Object Storage: https://gist.github.com/itemir/f5bc9fded6483cd79c89ebf4ca1cfd30.

Seguridad de red

Proteja el acceso de red a los recursos en Object Storage.

Los datos en tránsito entre clientes (por ejemplo, SDK y CLI) y los puntos finales públicos de Object Storage se cifran con TLS 1.2 por defecto. El intercambio de tráfico público de FastConnect permite el acceso local a Object Storage a través de una red privada, en lugar de la red pública de Internet. Consulte Acceso a la red local.

Auditoría

Localice los logs de acceso y otros datos de seguridad para Object Storage.

El servicio de auditoría registra automáticamente todas las llamadas de API a los recursos de Oracle Cloud Infrastructure. Puede lograr sus objetivos de seguridad y conformidad mediante el servicio de auditoría para supervisar toda la actividad de usuario de su arrendamiento. Dado que todas las llamadas a la consola, SDK y la línea de comandos (CLI) pasan por nuestras API, se incluye toda la actividad de esos orígenes. Los registros de auditoría están disponibles mediante una API de consulta autenticada y filtrable, o bien se pueden recuperar como archivos por lotes desde Object Storage. El contenido del log de auditoría incluye la actividad que se produjo, el usuario que la inició, la fecha y la hora de la solicitud, así como la IP de origen, el agente de usuario y las cabeceras HTTP de la solicitud. Consulte Visualización de eventos del log de auditoría.

Ejemplo de log de auditoría
{
  "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"
  }
}

Si ha activado Cloud Guard en su arrendamiento, notifica cualquier actividad de usuario que pueda tener problemas de seguridad. Al detectar un problema, Cloud Guard sugiere acciones correctivas. También puede configurar Cloud Guard para que realice automáticamente determinadas acciones. Consulte Introducción a Cloud Guard y Procesamiento de problemas informados.