Rastreando eventos em seus depósitos do IBM Cloud Object Storage

IBM Cloud oferece serviços de criação de log centralizados para rastrear eventos executados em seus recursos. Você pode usar esses serviços para investigar atividades anormais e ações críticas e cumprir os requisitos de auditoria regulamentar.

Use esses serviços para rastrear eventos em seus depósitos do IBM Cloud® Object Storage para fornecer um registro do que está acontecendo com seus dados. Ative esses serviços em seu depósito para receber logs detalhados sobre o acesso a dados e os eventos de configuração do depósito

Use o IBM Cloud Activity Tracker Event Routing para gerenciar eventos de auditoria no nível da conta, configurando alvos e rotas que definem para onde os dados de auditoria são encaminhados.

Esse recurso não é suportado atualmente no Object Storage para o Satellite

Esse recurso suporta SCC Monitoring.

Usando o IBM Cloud Activity Tracker para rastrear eventos do depósito

A partir de 28 de março de 2024, os serviços IBM Log Analysis e IBM Cloud Activity Tracker serão descontinuados e não terão mais suporte a partir de 30 de março de 2025. Os clientes precisarão migrar para o IBM Cloud Logs, que substitui esses dois serviços, antes de 30 de março de 2025.

O rastreamento de eventos do Object Storage com IBM Cloud® Activity Tracker fornece um registro do que está acontecendo com seus dados. O serviço IBM Cloud Activity Tracker fornece a estrutura e a funcionalidade para monitorar as chamadas de API para serviços no site IBM Cloud e produz as evidências para cumprir as políticas corporativas e as regulamentações específicas do setor de mercado.

Consulte Introdução ao IBM Cloud Activity Tracker para saber mais. Migre de IBM Cloud Activity Tracker para IBM Cloud Logs para evitar qualquer interrupção no rastreamento de eventos.

Usando o site IBM Cloud Logs para rastrear eventos de balde

IBM Cloud Logs oferece flexibilidade na forma como seus dados são processados para obter insights e tendências, e onde os dados são armazenados para pesquisa em alta velocidade e análise de tendências de longo prazo. Ele fornece as ferramentas para você maximizar o valor obtido enquanto mantém o controle sobre o custo total.

Para rastrear eventos de bucket usando IBM Cloud Logs como destino para Activity Tracker Event Routing, siga as etapas em Configurar uma instância de registros IBM Cloud como destino para provisionar uma instância IBM Cloud Logs, configurar a autorização de serviço a serviço, criar um destino e criar uma rota. Ao criar uma rota, selecione o local que corresponde à região em que seus buckets estão localizados, por exemplo, us-south. Depois de concluir a configuração, todos os registros de solicitação do Object Storage da região selecionada são encaminhados para a instância do IBM Cloud Logs. Para visualizar os registros, abra a interface de usuário IBM Cloud Logs.

Opcionalmente, você pode usar o TCO Optimizer para filtrar os registros e exibir informações apenas de uma instância específica do Object Storage. Por padrão, o site Activity Tracker Event Routing captura dados de todos os serviços na região selecionada. Para limitar os registros a uma instância específica do Object Storage, siga as etapas em Criar uma política para adicionar e aplicar uma nova política do TCO Optimizer com essas configurações:

  • Aplicativo = ibm-audit-event
  • Subsistema = CRN para a instância específica de Object Storage, CRNserviceName:instanceID

Rotear logs com o roteamento de eventos do IBM Cloud Activity Tracker

Comece a usar o IBM Cloud Activity Tracker Event Routing para configurar o roteamento de seus eventos de auditoria do IBM Cloud Object Storage. Você pode usar o Activity Tracker Event Routing, um serviço de plataforma, para gerenciar eventos de auditoria no nível da conta, configurando destinos e rotas que definem para onde os dados de auditoria são roteados.

O Activity Tracker Event Routing suporta o roteamento de logs do depósito do IBM COS para os destinos a seguir

Configurar eventos de rastreamento de atividades em seu IBM Cloud Object Storage Bucket (recomendado)

O rastreamento de eventos pode ser ativado no seu bucket IBM Cloud Object Storage no momento do provisionamento do bucket ou atualizando a configuração do bucket após a criação do mesmo. O rastreamento de eventos se aplicará apenas às solicitações do COS feitas após a ativação

Por padrão, os eventos COS que informam sobre ações globais, como a criação de buckets, são coletados automaticamente. Você pode monitorar as ações globais por meio da instância Activity Tracker localizada em Frankfurt.

O IBM COS também suporta opcionalmente o rastreamento nesses tipos de eventos:

  • Eventos de Gerenciamento-Solicitações relacionadas ao gerenciamento de configuração de depósito e objeto
  • Eventos de dados de leitura-Solicitações relacionadas à lista de objetos e solicitações de leitura
  • Eventos de Dados de Gravação-Esses são todos os eventos relacionados à gravação e exclusão de objetos

Consulte os eventos da API do COS para ver a lista completa de ações de Gerenciamento, Dados de leitura e Dados de gravação que produzem eventos.

Use a API de configuração de recurso do COS para configurar o rastreamento desses eventos em seu depósito..

Quando o rastreamento de eventos está ativado, todos os eventos são enviados para o local de recebimento padrão do IBM Cloud Activity Tracker Event Router, que se baseia na localização do bucket. Consulte IBM COS Service Integration para ver esse mapeamento padrão. Use as regras do Activity Tracker Event Router para rotear eventos para um local ou serviço de destino alternativo. Consulte Gerenciando Regras para saber mais..

Configurar eventos de rastreamento de atividades em seu IBM Cloud Object Storage Bucket (legado)

Ative o IBM Activity Tracking em seu depósito do COS especificando o CRN de destino da instância do Activity Tracker na API de Configuração de Recurso do COS. Especifique o CRN para definir a rota para eventos COS.

Eventos de gerenciamento são sempre ativados quando um CRN é configurado na configuração do Activity Tracking

O modelo anterior também suporta opcionalmente a ativação do rastreamento nos seguintes tipos de eventos:

  • Eventos de dados de leitura-Solicitações relacionadas à lista de objetos e solicitações de leitura
  • Eventos de Dados de Gravação-Esses são todos os eventos relacionados à gravação e exclusão de objetos

Os serviços de roteamento de observabilidade do IBM Cloud são a maneira padronizada para os clientes gerenciarem o roteamento de dados de observabilidade da plataforma. As configurações de roteamento específicas do serviço, como o COS, estão sendo descontinuadas

É recomendado que os clientes removam essas configurações de roteamento anteriores que usam CRNs e, em vez disso, usem o serviço IBM Activity Tracker Event Routing para rotear eventos para outros locais.

O IBM COS continuará a suportar configurações anteriores nas quais foi especificado um CRN diferente do local padrão.

Fazendo upgrade do Legacy para o Recommended Event Tracking no depósito do COS

Para fazer upgrade da configuração anterior usando a API de Configuração de Recurso, remova o CRN da instância do Activity Tracker de destino. Os eventos agora serão roteados para o local de recebimento do roteador de eventos padrão do Activity Tracker, conforme descrito em Integração de serviço COS. Provisione uma instância de procura de eventos hospedados pelo Activity Tracker nesse local ou defina uma regra de roteamento antes de fazer upgrade para assegurar que não haja interrupção na criação de log de eventos

Exemplo de correção para transição da configuração de rastreamento de eventos anterior para recomendado em seu depósito do COS

Selecione a guia UI, API ou Terraform na parte superior deste tópico para ver exemplos de patchs.

Correção de exemplo de IU para transição da configuração de rastreamento de eventos anterior para recomendado em seu depósito do COS

  1. No IBM Cloud console lista de recursos, selecione a instância de serviço que contém o depósito que você deseja atualizar para a configuração de rastreamento de eventos recomendada. Isso o levará ao console Object Storage.
  2. Escolha o bucket para o qual você deseja fazer upgrade.
  3. Navegue até a guia de configuração.
  4. Role até a seção de configuração avançada e localize o painel de configuração para o Activity Tracker.
  5. Clique no canto superior direito do painel e selecione atualizar.
  6. Confirme que você gostaria de fazer upgrade do rastreamento de eventos para este depósito

Exemplos

sdk 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()

Python SDK

 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 do 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)

Exemplo

 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::”
       }
 }