Seguimiento de sucesos en los grupos de IBM Cloud Object Storage
IBM Cloud ofrece servicios de registro centralizados para realizar un seguimiento de los sucesos realizados en los recursos. Puede utilizar estos servicios para investigar actividades anómalas y acciones críticas y cumplir los requisitos normativos de auditoría.
Utilice estos servicios para realizar un seguimiento de los sucesos en los grupos IBM Cloud® Object Storage para proporcionar un registro de lo que está sucediendo con los datos. Habilite estos servicios en el grupo para recibir registros detallados sobre los sucesos de acceso a datos y configuración de grupo.
Utilice IBM Cloud Activity Tracker Event Routing para gestionar los eventos de auditoría a nivel de cuenta mediante la configuración de objetivos y rutas que definen hacia dónde se dirigen los datos de auditoría.
Esta característica no está soportada actualmente en Object Storage para Satellite.
Esta característica da soporte a la supervisión de SCC.
Utilización de IBM Cloud Activity Tracker para realizar un seguimiento de los sucesos de grupo
A partir del 28 de marzo de 2024, los servicios IBM Log Analysis y IBM Cloud Activity Tracker quedarán obsoletos y dejarán de recibir soporte a partir del 30 de marzo de 2025. Los clientes deberán migrar a IBM Cloud Logs, que sustituye a estos dos servicios, antes del 30 de marzo de 2025.
El seguimiento de sucesos de Object Storage con IBM Cloud® Activity Tracker proporciona un registro de lo que está sucediendo con los datos. El servicio IBM Cloud Activity Tracker proporciona el marco y la funcionalidad para supervisar las llamadas API a los servicios en IBM Cloud y produce las pruebas necesarias para cumplir las políticas corporativas y las normativas específicas del sector del mercado.
Consulte Introducción a IBM Cloud Activity Tracker para obtener más información. Migre de IBM Cloud Activity Tracker a IBM Cloud Logs para evitar cualquier interrupción en el seguimiento de eventos.
Utilización de IBM Cloud Logs para realizar un seguimiento de los eventos del cubo
IBM Cloud Logs le ofrece flexibilidad a la hora de procesar sus datos para obtener información y tendencias, y de almacenar los datos para realizar búsquedas rápidas y análisis de tendencias a largo plazo. Proporciona las herramientas para maximizar el valor obtenido y mantener el control sobre el coste total.
Para realizar un seguimiento de los eventos de bucket utilizando IBM Cloud Logs como destino para Activity Tracker Event Routing, siga los pasos descritos en Configuración de una instancia de IBM Cloud Logs como destino para aprovisionar una instancia de IBM Cloud Logs, configurar la autorización de servicio a servicio, crear un destino y crear una ruta. Al crear una ruta, seleccione la ubicación que corresponda a la región donde se encuentran sus cubos,
por ejemplo, us-south. Una vez completada la configuración, todos los registros de solicitudes de Object Storage de la región seleccionada se reenvían a la instancia IBM Cloud Logs. Para ver los registros, inicie la interfaz IBM Cloud Logs UI.
Opcionalmente, puede utilizar el optimizador de TCO para filtrar los registros y mostrar información sólo de una instancia específica de Object Storage. Por defecto, Activity Tracker Event Routing captura los datos de todos los servicios de la región seleccionada. Para limitar los registros a una instancia concreta de Object Storage, siga los pasos descritos en Creación de una política para añadir y aplicar una nueva política del Optimizador de TCO con esta configuración:
- Aplicación
ibm-audit-event - Subsistema = CRN para la instancia Object Storage específica,
CRNserviceName:instanceID
Registros de ruta con direccionamiento de sucesos de IBM Cloud Activity Tracker
Empiece a utilizar IBM Cloud Activity Tracker Event Routing para configurar el enrutamiento de sus eventos de auditoría de IBM Cloud Object Storage. Puede utilizar Activity Tracker Event Routing, un servicio de plataforma, para gestionar los eventos de auditoría a nivel de cuenta mediante la configuración de objetivos y rutas que definen hacia dónde se dirigen los datos de auditoría.
El direccionamiento de sucesos de Activity Tracker da soporte al direccionamiento de registros de grupo de IBM COS a los destinos siguientes
Configure los eventos de seguimiento de actividad en su cubo IBM Cloud Object Storage (Recomendado)
El seguimiento de eventos puede habilitarse en su cubo IBM Cloud Object Storage en el momento del aprovisionamiento del cubo, o actualizando la configuración del cubo tras su creación. El seguimiento de sucesos sólo se aplicará a las solicitudes COS realizadas después de la habilitación.
Por defecto, los eventos COS que informan sobre acciones globales, como la creación de cubos, se recopilan automáticamente. Puede supervisar las acciones globales a través de la instancia Activity Tracker ubicada en la sede de Fráncfort.
IBM COS también soporta opcionalmente el seguimiento en estos tipos de sucesos:
- Sucesos de gestión-Solicitudes relacionadas con la gestión de la configuración de grupos y objetos
- Sucesos de datos de lectura-Solicitudes relacionadas con la lista de objetos y las solicitudes de lectura
- Sucesos de grabación de datos: son todos los sucesos relacionados con la grabación y supresión de objetos
Consulte los sucesos de API de COS para ver la lista completa de acciones de gestión, lectura de datos y escritura de datos que generan sucesos.
Utilice la API de configuración de recursos COS para configurar el seguimiento de estos sucesos en el grupo
Cuando el seguimiento de eventos está activado, todos los eventos se envían a la ubicación de recepción predeterminada para IBM Cloud Activity Tracker Event Router que se basan en la ubicación del cubo. Consulte IBM COS Service Integration para ver esta asignación predeterminada. Utilice las reglas de Activity Tracker Event Router para enrutar los eventos a una ubicación o servicio de destino alternativo. Consulte Gestión de reglas para obtener más información.
Cómo configurar IBM Cloud Activity Tracker en el grupo (recomendado)
Seleccione el separador IU, API o Terraform en la parte superior de este tema para visualizar los ejemplos que muestran cómo habilitar el seguimiento de sucesos de gestión, lectura de datos y grabación de datos en el grupo.
Ejemplo de interfaz de usuario para habilitar el seguimiento de sucesos en el grupo
- En la lista de recursos de la consola de IBM Cloud, seleccione la instancia de servicio que contiene el grupo que le interesa para añadir el seguimiento de sucesos. Accederá a la consola Object Storage
- Elija el cubo para el que desea activar el seguimiento de eventos.
- Vaya a la pestaña de configuración.
- Desplácese hacia abajo hasta la sección de configuración avanzada y active los sucesos de los que desea realizar un seguimiento para este grupo.
- Transcurridos unos minutos, cualquier actividad será visible en la interfaz de usuario web Activity Tracker.
Ejemplos
sdk de Java
import com.ibm.cloud.objectstorage.config.resource_configuration.v1.ResourceConfiguration;
import com.ibm.cloud.objectstorage.config.resource_configuration.v1.model.BucketPatch;
import com.ibm.cloud.sdk.core.security.IamAuthenticator;
public class ActivityTrackerExample {
private static final String BUCKET_NAME = <BUCKET_NAME>;
private static final String API_KEY = <API_KEY>;
public static void main(String[] args) {
IamAuthenticator authenticator = new IamAuthenticator.Builder()
.apiKey(API_KEY)
.build();
ResourceConfiguration RC_CLIENT = new ResourceConfiguration("resource-configuration", authenticator);
ActivityTracking activityTrackingConfig = new ActivityTracking().Builder()
.readDataEvents(true)
.writeDataEvents(true)
.managementEvents(true)
.build();
BucketPatch bucketPatch = new BucketPatch.Builder().activityTracking(activityTrackingConfig).build();
UpdateBucketConfigOptions update = new UpdateBucketConfigOptions
.Builder(BUCKET_NAME)
.bucketPatch(bucketPatch.asPatch())
.build();
RC_CLIENT.updateBucketConfig(update).execute();
GetBucketConfigOptions bucketOptions = new GetBucketConfigOptions.Builder(BUCKET_NAME).build();
Bucket bucket = RC_CLIENT.getBucketConfig(bucketOptions).execute().getResult();
ActivityTracking activityTrackingResponse = bucket.getActivityTracking();
System.out.println("Read Data Events : " + activityTrackingResponse.readDataEvents());
System.out.println("Write Data Events : " + activityTrackingResponse.writeDataEvents());
System.out.println("Management Events : " + activityTrackingResponse.managementEvents());
}
}
NodeJS SDK
const ResourceConfigurationV1 = require('ibm-cos-sdk-config/resource-configuration/v1');
IamAuthenticator = require('ibm-cos-sdk-config/auth');
var apiKey = "<API_KEY>"
var bucketName = "<BUCKET_NAME>"
authenticator = new IamAuthenticator({apikey: apiKey})
rcConfig = {authenticator: authenticator}
const client = new ResourceConfigurationV1(rcConfig);
function addAT() {
console.log('Updating bucket metadata...');
var params = {
bucket: bucketName,
activityTracking: {
"read_data_events": true,
"write_data_events": true,
"management_events": true
}
};
client.updateBucketConfig(params, function (err, response) {
if (err) {
console.log("ERROR: " + err);
} else {
console.log(response.result);
}
});
}
addAT()
SDK de Python
from ibm_cos_sdk_config.resource_configuration_v1 import ResourceConfigurationV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
api_key = "<API_KEY>"
bucket_name = "<BUCKET_NAME>"
authenticator = IAMAuthenticator(apikey=api_key)
client = ResourceConfigurationV1(authenticator=authenticator)
activity_tracking_config = {
'activity_tracking':
{
'read_data_events':True,
'write_data_events':True,
'management_events':True
}
}
client.update_bucket_config(bucket_name, bucket_patch=activity_tracking_config)
Ejemplo de SDK de VA
import (
"github.com/IBM/go-sdk-core/core"
rc "github.com/IBM/ibm-cos-sdk-go-config/v2/resourceconfigurationv1"
)
apiKey := "<ApiKey>"
bucketName := "<BucketName>"
authenticator := new(core.IamAuthenticator)
authenticator.ApiKey = apiKey
optionsRC := new(rc.ResourceConfigurationV1Options)
optionsRC.Authenticator = authenticator
rcClient, _ := rc.NewResourceConfigurationV1(optionsRC)
patchNameMap := make(map[string]interface{})
patchNameMap["activity_tracking"] = &rc.ActivityTracking{
ReadDataEvents: core.BoolPtr(true),
WriteDataEvents: core.BoolPtr(true),
ManagementEvents: core.BoolPtr(true)
}
updateBucketConfigOptions := &rc.UpdateBucketConfigOptions{
Bucket: core.StringPtr(bucketName),
BucketPatch: patchNameMap,
}
rcClient.UpdateBucketConfig(updateBucketConfigOptions)
Ejemplo
resource "ibm_resource_instance" "cos_instance" {
name = "cos-instance"
resource_group_id = data.ibm_resource_group.cos_group.id
service = "cloud-object-storage"
plan = "standard"
location = "global"
}
resource "ibm_cos_bucket" "activity_tracker_bucket" {
bucket_name = “Name-of-the-bucket”
resource_instance_id = ibm_resource_instance.cos_instance.id
region_location = “us-south”
storage_class = “standard”
activity_tracking {
read_data_events = true
write_data_events = true
management_events = true
}
}
Configuración de eventos de seguimiento de actividad en su cubo IBM Cloud Object Storage (heredado)
Habilite IBM Activity Tracking en el grupo de COS especificando el CRN de destino de la instancia de Activity Tracker en la API de configuración de recursos de COS. Especifique el CRN para definir la ruta para sucesos de COS.
Los sucesos de gestión siempre están habilitados cuando se establece un CRN en la configuración de Activity Tracking
El modelo heredado también da soporte de forma opcional a la habilitación del seguimiento en los siguientes tipos de sucesos:
- Sucesos de datos de lectura-Solicitudes relacionadas con la lista de objetos y las solicitudes de lectura
- Sucesos de grabación de datos: son todos los sucesos relacionados con la grabación y supresión de objetos
Los servicios de direccionamiento de observabilidad de IBM Cloud son la forma estandarizada para que los clientes gestionen el direccionamiento de los datos de observabilidad de la plataforma. Las configuraciones de direccionamiento específicas de servicio como COS están en desuso.
Se recomienda que los clientes eliminen estas configuraciones de direccionamiento heredadas que utilizan CRN y, en su lugar, utilicen el servicio de direccionamiento de sucesos de IBM Activity Tracker para direccionar sucesos a otras ubicaciones.
IBM COS seguirá dando soporte a configuraciones heredadas en las que se ha especificado un CRN que difiere de la ubicación predeterminada.
Actualización de Legacy a Recommended Event Tracking en el grupo de COS
Para actualizar desde la configuración heredada utilizando la API de configuración de recursos, elimine el CRN de instancia de Activity Tracker de destino. Los sucesos ahora se direccionarán a la ubicación de recepción del direccionador de sucesos de Activity Tracker predeterminada, tal como se describe en Integración de servicios COS. Suministre una instancia de búsqueda de sucesos alojada en Activity Tracker en esta ubicación o defina una regla de direccionamiento antes de actualizar para asegurarse de que no hay ninguna interrupción en el registro de sucesos.
Parche de ejemplo para la transición de la configuración de seguimiento de sucesos heredada a recomendada en el grupo de COS
Seleccione el separador UI, API o Terraform en la parte superior de este tema para ver ejemplos de parches.
Parche de ejemplo de interfaz de usuario para la transición de la configuración de seguimiento de sucesos heredada a recomendada en el grupo de COS
- En la lista de recursos de la consola de IBM Cloud, seleccione la instancia de servicio que contiene el grupo que desea actualizar a la configuración de seguimiento de sucesos recomendada. Accederá a la consola Object Storage.
- Elija el cubo que desea actualizar.
- Vaya a la pestaña de configuración.
- Desplácese hacia abajo hasta la sección de configuración avanzada y localice el panel de configuración para Activity Tracker.
- Haga clic en la esquina superior derecha del panel y seleccione actualizar.
- Confirme que desea actualizar el seguimiento de sucesos para este grupo.
Ejemplos
sdk de Java
import com.ibm.cloud.objectstorage.config.resource_configuration.v1.ResourceConfiguration;
import com.ibm.cloud.objectstorage.config.resource_configuration.v1.model.BucketPatch;
import com.ibm.cloud.sdk.core.security.IamAuthenticator;
public class ActivityTrackerExample {
private static final String BUCKET_NAME = <BUCKET_NAME>;
private static final String API_KEY = <API_KEY>;
public static void main(String[] args) {
IamAuthenticator authenticator = new IamAuthenticator.Builder()
.apiKey(API_KEY)
.build();
ResourceConfiguration RC_CLIENT = new ResourceConfiguration("resource-configuration", authenticator);
ActivityTracking activityTrackingConfig = new ActivityTracking().Builder()
.activityTrackerCrn(AT_CRN)
.readDataEvents(true)
.writeDataEvents(true)
.build();
BucketPatch bucketPatch = new BucketPatch.Builder().activityTracking(activityTrackingConfig).build();
UpdateBucketConfigOptions update = new UpdateBucketConfigOptions
.Builder(BUCKET_NAME)
.bucketPatch(bucketPatch.asPatch())
.build();
RC_CLIENT.updateBucketConfig(update).execute();
GetBucketConfigOptions bucketOptions = new GetBucketConfigOptions.Builder(BUCKET_NAME).build();
Bucket bucket = RC_CLIENT.getBucketConfig(bucketOptions).execute().getResult();
ActivityTracking activityTrackingResponse = bucket.getActivityTracking();
System.out.println("Read Data Events : " + activityTrackingResponse.readDataEvents());
System.out.println("Write Data Events : " + activityTrackingResponse.writeDataEvents());
System.out.println("Management Events : " + activityTrackingResponse.managementEvents());
}
}
NodeJS SDK
const ResourceConfigurationV1 = require('ibm-cos-sdk-config/resource-configuration/v1');
IamAuthenticator = require('ibm-cos-sdk-config/auth');
var apiKey = "<API_KEY>"
var bucketName = "<BUCKET_NAME>"
authenticator = new IamAuthenticator({apikey: apiKey})
rcConfig = {authenticator: authenticator}
const client = new ResourceConfigurationV1(rcConfig);
function addAT() {
console.log('Updating bucket metadata...');
};
var params = {
bucket: bucketName,
activityTracking: {
"activity_tracker_crn": at_crn,
"read_data_events": true,
"write_data_events": true
}
};
client.updateBucketConfig(params, function (err, response) {
if (err) {
console.log("ERROR: " + err);
} else {
console.log(response.result);
}
});
}
addAT()
SDK de Python
from ibm_cos_sdk_config.resource_configuration_v1 import ResourceConfigurationV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
api_key = "<API_KEY>"
bucket_name = "<BUCKET_NAME>"
authenticator = IAMAuthenticator(apikey=api_key)
client = ResourceConfigurationV1(authenticator=authenticator)
activity_tracking_config = {
'activity_tracking':
{
'activity_tracker_crn':at_crn,
'read_data_events':True,
'write_data_events':True,
}
}
client.update_bucket_config(bucket_name, bucket_patch=activity_tracking_config)
sdk de go
import (
"github.com/IBM/go-sdk-core/core"
rc "github.com/IBM/ibm-cos-sdk-go-config/v2/resourceconfigurationv1"
)
apiKey := "<ApiKey>"
bucketName := "<BucketName>"
authenticator := new(core.IamAuthenticator)
authenticator.ApiKey = apiKey
optionsRC := new(rc.ResourceConfigurationV1Options)
optionsRC.Authenticator = authenticator
rcClient, _ := rc.NewResourceConfigurationV1(optionsRC)
patchNameMap := make(map[string]interface{})
patchNameMap["activity_tracking"] = &rc.ActivityTracking{
ActivityTrackerCrn: core.StringPtr(activityTrackerCrn),
ReadDataEvents: core.BoolPtr(true),
WriteDataEvents: core.BoolPtr(true),
}
updateBucketConfigOptions := &rc.UpdateBucketConfigOptions{
Bucket: core.StringPtr(bucketName),
BucketPatch: patchNameMap,
}
rcClient.UpdateBucketConfig(updateBucketConfigOptions)
Ejemplo
resource "ibm_resource_instance" "cos_instance" {
name = "cos-instance"
resource_group_id = data.ibm_resource_group.cos_group.id
service = "cloud-object-storage"
plan = "standard"
location = "global"
}
resource "ibm_cos_bucket" "activity_tracker_bucket" {
bucket_name = “bucket_name”
resource_instance_id = ibm_resource_instance.cos_instance.id
region_location = “us-south”
storage_class = “standard”
activity_tracking {
read_data_events = true
write_data_events = true
activity_tracker_crn = “crn:v1:bluemix:public:logdnaat:us-south:a/2xxxxxxxxxxxxxxxxxxxxxxxxf:3xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxec::”
}
}