Protección de Object Storage

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

El servicio Object Storage es una plataforma de almacenamiento de alto rendimiento que ofrece una 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, infórmese sobre sus responsabilidades de seguridad y conformidad.

En general, Oracle proporciona seguridad en la infraestructura y las operaciones en la nube, como controles de acceso de operadores en la nube y aplicación de parches de seguridad de la infraestructura. Usted 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 los 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 claves y secretos de cifrado para proteger los datos y conectarse a recursos protegidos. Gire estas claves regularmente.

Tareas de seguridad iniciales

Utilice esta lista de control para identificar las tareas que debe realizar para proteger Object Storage en un nuevo arrendamiento de Oracle Cloud Infrastructure.

Tarea Más información
Utilice políticas de IAM para otorgar acceso a usuarios y recursos Políticas de IAM
Cifrar recursos mediante una clave personalizada Cifrado de datos
Acceso de red seguro a los recursos Seguridad de red
Activación y configuración de Cloud Guard (opcional) Cloud Guard
Crear una zona de seguridad (opcional) Security Zones

Tareas de seguridad rutinarias

Después de empezar a utilizar Object Storage, utilice esta lista de control para identificar las tareas de seguridad que recomienda que realice con regularidad.

Tarea Más información
Rotar claves de cifrado Cifrado de datos
Responder a los problemas detectados en Cloud Guard Cloud Guard
Haga copias de seguridad periódicas Durabilidad de los datos
Asegurar la integridad de sus datos cuando se trasladen o copian en diferentes ubicaciones Totales de control en seguridad de datos
Realice 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 Funcionamiento de las políticas.

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

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

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 parte de usuarios autorizados o de 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 un nombre de cubo específico (target.bucket.name) y un 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*/). La restricción del acceso a una carpeta por patrón de objeto no impide mostrar todos los objetos del cubo que lo contiene.

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 de un 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 los usuarios del grupo BucketUsers a un cubo específico.

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

Puede cambiar 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 coincidir con post-fix (/*_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.

Restricción de acceso de grupo a la lectura o escritura de 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 la enumeración y escritura de 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 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 las 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 involuntaria o maliciosamente, restrinja el permiso BUCKET_UPDATE a un mínimo de grupos de IAM.

El siguiente comando de la CLI devuelve el 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 tenga los privilegios adecuados para acceder a objetos puede crear URL especiales que otorguen acceso de límite temporal 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.
  • Un objeto específico del cubo.
  • Todos los objetos del cubo que tienen un prefijo especificado.

En el caso de las solicitudes que se aplican a varios objetos, también puede decidir si desea permitir a los usuarios mostrar esos objetos.

Los accesos a solicitudes autenticadas 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

URL 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ícelo 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 está cifrado 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 receta de detector.

Si aún no lo ha hecho, active Cloud Guard y configúrelo para supervisar los compartimentos que contienen los 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.

Security Zones

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

Una zona de seguridad está asociada a 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 de la receta. Si se infringe cualquier política de la receta, se deniega la operación. Las siguientes políticas de zona de seguridad están disponibles para los recursos de Object Storage.

  • deny public_buckets
  • deny buckets_without_vault_key

Para obtener una lista de todas las políticas de zona de seguridad, consulte Políticas de zona de seguridad.

Para mover los recursos existentes a un compartimento que está en una zona de seguridad, los recursos deben cumplir con 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 utiliza para proteger los datos. Según el modo de protección, las claves se almacenan en el servidor o en módulos de seguridad de hardware (HSM) duraderos y de alta disponibilidad. Nuestros HSM cumplen con la certificación de seguridad de nivel 3 de seguridad de FIPS 140-2. 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 Vault.

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 en algún momento se incluye una clave, la rotación de claves reduce el riesgo para los datos. Consulte Gestión de claves.

Recomendamos utilizar 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 sus 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 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 obtener una evaluación independiente de la capacidad de la función de reglas de retención de Object Storage para cumplir los requisitos normativos de gestión y retención de registros, consulte la sección sobre evaluación de conformidad SEC 17a-4(f), FINRA 4511(c), CFTC 1.31(c)-(d) y MiFID II de Cohasset Associate.

Totales de control en seguridad de datos

Para verificar la integridad de los datos de objetos, se proporciona un total de control MD5 para todos los objetos cargados en Object Storage. Además, puede aplicar una de las siguientes sumas de comprobación opcionales a los objetos cargados en Object Storage:

  • SHA256

  • SHA384

  • CRC32C

Uso del total de control MD5

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 que devuelve la consola o la API después de la carga. Oracle Cloud Infrastructure proporciona el valor de total de control de objetos en la codificación base64. Para convertir el valor de total de control codificado 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.

Uso del total de control MD5 con cargas de varias partes

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 de 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 de salida MD5. Para verificar el valor 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.

Uso del total de control SHA256 o SHA384

Algunas industrias tienen requisitos regulatorios para usar un método de suma de comprobación que se considera más fuerte que MD5. Estos requisitos a menudo requieren explícitamente SHA256 o SHA384. Puede seleccionar el algoritmo requerido por su régimen de conformidad. Tenga en cuenta que la presencia de MD5 no se considera insegura o no cumple, la adición de otro método de total de control proporciona una comprobación de integridad adicional. Se espera que la adición de uno de los tipos de total de control SHA ayude a cumplir estos requisitos.

A continuación, se muestran ejemplos del uso de los totales de control SHA256 o SHA384:
~ echo "Test" | openssl dgst -sha256 -binary | base64
ydBMlWX8ZlyAaB+x2CmTgCaHH2bhT1AeCFMd9mk4p4k=
~ echo "Test" | openssl dgst -sha384 -binary | base64
B6T9J1V45Pkr3wb9V8ioT3u/WNk2zCkY4lAKZ3wYXfDUe2ImwIpVK8O42uUOANY2

Uso del total de control CRC32C

Puede que desee comparar el total de control calculado en un sistema de almacenamiento local con los calculados por Object Storage. Esto es difícil de hacer con las cargas de varias partes, porque el total de control calculado depende del tamaño exacto de cada parte, que puede ser diferente en diferentes sistemas (o con diferentes valores de carga).

El tipo de total de control CRC32C está diseñado para devolver el mismo total de control para el mismo objeto independientemente de cómo se cargue. Esto permite a los clientes comparar el total de control CRC32C calculado por Object Storage con el total de control CRC32C calculado por el almacenamiento local u otras nubes, independientemente de la configuración de carga en varias partes.

Uso de tipos de totales de control adicionales

Solo puede utilizar un tipo de total de control adicional por objeto cargado. Los totales de control MD5 siempre se calculan en cada objeto. Al utilizar un tipo de total de control adicional, los comandos GET y PUT pueden incurrir en una latencia ligeramente más larga para completarse, en comparación con un comando GET o PUT en el mismo objeto sin el tipo de total de control adicional.

Seguridad de la red

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

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

Auditorías

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

El servicio Audit 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 Audit para supervisar toda la actividad de los usuarios dentro 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 se pueden recuperar como archivos por lotes de 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, informa de cualquier actividad de usuario que suponga posibles 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 notificados.