Suivi des événements sur vos compartiments IBM Cloud Object Storage
IBM Cloud offre des services de journalisation centralisés pour le suivi des événements effectués sur vos ressources. Vous pouvez utiliser ces services pour enquêter sur les activités anormales et les actions critiques et vous conformer aux exigences réglementaires en matière d'audit.
Utilisez ces services pour suivre les événements sur vos compartiments IBM Cloud® Object Storage afin de fournir un enregistrement de ce qui se passe avec vos données. Activez ces services sur votre compartiment pour recevoir des journaux détaillés sur les événements d'accès aux données et de configuration de compartiment.
Utilisez IBM Cloud Activity Tracker Event Routing pour gérer les événements d'audit au niveau du compte en configurant des cibles et des itinéraires qui définissent où les données d'audit sont acheminées.
Cette fonction n'est actuellement pas prise en charge dans Object Storage for Satellite.
Cette fonction prend en charge la surveillance SCC.
Utilisation de IBM Cloud Activity Tracker pour suivre les événements de compartiment
À partir du 28 mars 2024, les services IBM Log Analysis et IBM Cloud Activity Tracker sont obsolètes et ne seront plus pris en charge à partir du 30 mars 2025. Les clients devront migrer vers IBM Cloud Logs, qui remplace ces deux services, avant le 30 mars 2025.
Le suivi des événements Object Storage avec IBM Cloud® Activity Tracker fournit un enregistrement de ce qui se passe avec vos données. Le service IBM Cloud Activity Tracker fournit le cadre et la fonctionnalité permettant de contrôler les appels API aux services sur le site IBM Cloud et de produire les preuves nécessaires pour se conformer aux politiques de l'entreprise et aux réglementations spécifiques à l'industrie du marché.
Pour en savoir plus, reportez-vous à la section Démarrer avec IBM Cloud Activity Tracker pour en savoir plus. Migrer de IBM Cloud Activity Tracker à IBM Cloud Logs pour éviter toute interruption dans le suivi des événements.
Utilisation de IBM Cloud Logs pour suivre les événements liés aux seaux
IBM Cloud Logs vous offre une grande flexibilité dans la manière dont vos données sont traitées pour obtenir des informations et des tendances, et où les données sont stockées pour une recherche rapide et une analyse des tendances à long terme. Il fournit les outils permettant de maximiser la valeur obtenue tout en maintenant le contrôle sur le coût total.
Pour suivre les événements des seaux en utilisant IBM Cloud Logs comme cible pour Activity Tracker Event Routing, suivez les étapes de la section Configuration d'une instance IBM Cloud Logs comme cible pour provisionner une instance IBM Cloud Logs, configurer l'autorisation de service à service, créer une cible et créer une route. Lors de la création d'un itinéraire, sélectionnez l'emplacement qui correspond à la région où se trouvent vos
seaux, par exemple us-south. Une fois la configuration terminée, tous les journaux de demandes Object Storage de la région sélectionnée sont transmis à l'instance IBM Cloud Logs. Pour afficher les journaux, lancez l'interface utilisateur IBM Cloud Logs.
En option, vous pouvez utiliser l'Optimiseur TCO pour filtrer les journaux afin d'afficher les informations relatives à une instance spécifique de Object Storage. Par défaut, Activity Tracker Event Routing saisit des données pour tous les services de la région sélectionnée. Pour limiter les journaux à une instance particulière de Object Storage, suivez les étapes de la section Création d'une politique pour ajouter et appliquer une nouvelle politique TCO Optimizer avec ces paramètres :
- Application =
ibm-audit-event - Sous-système = CRN pour l'instance spécifique Object Storage,
CRNserviceName:instanceID
Acheminer les journaux avec le routage d'événement IBM Cloud Activity Tracker
Commencez avec IBM Cloud Activity Tracker Event Routing pour configurer le routage de vos événements d'audit IBM Cloud Object Storage. Vous pouvez utiliser Activity Tracker Event Routing, un service de plateforme, pour gérer les événements d'audit au niveau du compte en configurant des cibles et des itinéraires qui définissent où les données d'audit sont acheminées.
Activity Tracker Event Routing prend en charge le routage des journaux de compartiment IBM COS vers les cibles suivantes
Configurer les événements de suivi d'activité sur votre IBM Cloud Object Storage Bucket (Recommandé)
Le suivi d'événements peut être activé sur votre godet IBM Cloud Object Storage au moment du provisionnement du godet, ou en mettant à jour la configuration du godet après la création du godet. Le suivi des événements ne s'applique qu'aux demandes COS effectuées après l'activation.
Par défaut, les événements COS qui font état d'actions globales, telles que la création de seaux, sont collectés automatiquement. Vous pouvez suivre les actions globales par l'intermédiaire de l'instance Activity Tracker située sur le site de Francfort.
IBM COS prend également en charge le suivi des types d'événement suivants:
- Evénements de gestion-Demandes liées à la gestion de la configuration de compartiment et d'objet
- Evénements de lecture de données-Demandes liées à la liste d'objets et demandes de lecture
- Evénements d'écriture de données-Il s'agit de tous les événements liés à l'écriture et à la suppression d'objets
Reportez-vous aux événements de l'API COS pour voir la liste complète des actions de gestion, de lecture de données et d'écriture de données qui génèrent des événements.
Utilisez l'API de configuration de ressource COS pour configurer le suivi de ces événements sur votre compartiment
Lorsque le suivi des événements est activé, tous les événements sont envoyés à l'emplacement de réception par défaut de IBM Cloud Activity Tracker Event Router, qui est basé sur l'emplacement du seau. Reportez-vous à IBM COS Service Integration pour voir ce mappage par défaut. Utilisez les règles de Activity Tracker Event Router pour acheminer les événements vers un autre emplacement ou un autre service cible. Pour en savoir plus, voir Gestion des règles.
Comment configurer IBM Cloud Activity Tracker sur votre compartiment (recommandé)
Sélectionnez l'interface utilisateur, l'API ou l'onglet Terraform en haut de cette rubrique pour afficher les exemples qui montrent comment activer le suivi des événements de gestion, de lecture de données et d'écriture de données dans votre compartiment.
Exemple d'interface utilisateur pour activer le suivi des événements dans votre compartiment
- Dans la liste de ressources de la console IBM Cloud, sélectionnez l'instance de service qui contient le compartiment que vous souhaitez ajouter au suivi des événements. Vous accédez ainsi à la console Object Storage
- Choisissez le seau pour lequel vous souhaitez activer le suivi des événements.
- Naviguez jusqu'à l'onglet de configuration.
- Faites défiler vers le bas jusqu'à la section de configuration avancée et basculez sur les événements que vous souhaitez suivre pour ce compartiment.
- Après quelques minutes, toute activité sera visible dans l'interface web Activity Tracker.
Exemples
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()
.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 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)
Exemple de logiciel SDK 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{
ReadDataEvents: core.BoolPtr(true),
WriteDataEvents: core.BoolPtr(true),
ManagementEvents: core.BoolPtr(true)
}
updateBucketConfigOptions := &rc.UpdateBucketConfigOptions{
Bucket: core.StringPtr(bucketName),
BucketPatch: patchNameMap,
}
rcClient.UpdateBucketConfig(updateBucketConfigOptions)
Exemple
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
}
}
Configurer les événements de suivi d'activité sur votre IBM Cloud Object Storage Bucket (Legacy)
Activez IBM Activity Tracking sur votre compartiment COS en spécifiant le CRN cible de l'instance Activity Tracker dans l'API de configuration des ressources COS. Indiquez le nom de ressource de cloud pour définir la route pour les événements COS.
Les événements de gestion sont toujours activés lorsqu'un CRN est défini dans la configuration Activity Tracking
Le modèle existant prend également en charge l'activation facultative du suivi sur les types d'événement suivants:
- Evénements de lecture de données-Demandes liées à la liste d'objets et demandes de lecture
- Evénements d'écriture de données-Il s'agit de tous les événements liés à l'écriture et à la suppression d'objets
Les services de routage d'observabilité IBM Cloud sont le moyen standardisé pour les clients de gérer le routage des données d'observabilité de plateforme. Les configurations de routage spécifiques aux services, telles que COS, sont obsolètes.
Il est recommandé aux clients de supprimer ces configurations de routage existantes qui utilisent des noms CRN et d'utiliser à la place le service de routage d'événement IBM Activity Tracker pour acheminer les événements vers d'autres emplacements.
IBM COS continuera à prendre en charge les configurations existantes dans lesquelles un nom de ressource de cloud différent de l'emplacement par défaut a été spécifié.
Mise à niveau de l'existant vers le suivi des événements recommandé sur votre compartiment COS
Pour effectuer une mise à niveau à partir de la configuration existante à l'aide de l'API de configuration des ressources, supprimez le CRN de l'instance Activity Tracker cible. Les événements sont désormais acheminés vers l'emplacement de réception Activity Tracker Event Router par défaut, comme décrit dans la rubrique Intégration de service COS. Mettez à disposition une instance de la recherche d'événements hébergée par Activity Tracker à cet emplacement ou définissez une règle de routage avant la mise à niveau pour vous assurer qu'il n'y a pas d'interruption dans la consignation des événements.
Exemple de correctif pour la transition de la configuration de suivi des événements existante à recommandée sur votre compartiment COS
Sélectionnez l'onglet Interface utilisateur, API ou Terraform dans la partie supérieure de cette rubrique pour afficher des exemples de correctifs.
Exemple de correctif d'interface utilisateur pour la transition de la configuration de suivi des événements existante à recommandée sur votre compartiment COS
- Dans la liste de ressources de la console IBM Cloud, sélectionnez l'instance de service qui contient le compartiment que vous souhaitez mettre à niveau vers la configuration de suivi des événements recommandée. Vous accédez ainsi à la console Object Storage.
- Choisissez le godet pour lequel vous souhaitez effectuer une mise à niveau.
- Naviguez jusqu'à l'onglet de configuration.
- Faites défiler la page jusqu'à la section de configuration avancée et localisez le panneau de configuration de Activity Tracker.
- Cliquez sur le coin supérieur droit du panneau et sélectionnez la mise à niveau.
- Confirmez que vous souhaitez mettre à niveau le suivi des événements pour ce compartiment.
Exemples
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()
SDK 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 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)
Exemple
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::”
}
}