Sécurisation d'Object Storage
Cette rubrique fournit des informations et des recommandations de sécurité pour Object Storage.
Le service Object Storage est une plate-forme de stockage hautes performances qui offre une durabilité fiable et rentable en matière de données. Vous pouvez stocker une quantité illimitée de données non structurées de tout type de contenu, y compris des données analytiques et du contenu riche, comme des images et des vidéos.
Responsabilités en matière de sécurité
Pour utiliser Object Storage en toute sécurité, découvrez vos responsabilités en matière de sécurité et de conformité.
Oracle est responsable des exigences de sécurité suivantes :
- Sécurité physique : Oracle est en charge de la protection de l'infrastructure globale qui exécute tous les services offerts par Oracle Cloud Infrastructure. Cette infrastructure comprend le matériel, les logiciels, les fonctions de réseau et les installations qui exécutent les services Oracle Cloud Infrastructure.
Vos responsabilités en matière de sécurité sont décrites sur cette page et englobent les domaines suivants :
- Contrôle d'accès : limitez au maximum les privilèges. Les utilisateurs doivent disposer uniquement des droits d'accès nécessaires pour faire leur travail.
- Cryptage et confidentialité : utilisez des clés de cryptage et des clés secrètes pour protéger vos données et vous connecter à des ressources sécurisées. Faites pivoter ces clés régulièrement.
Tâches initiales liées à la sécurité
Utilisez cette liste de contrôle afin d'identifier les tâches que vous effectuez pour sécuriser Object Storage dans une nouvelle location Oracle Cloud Infrastructure.
| Tâche | Informations supplémentaires |
|---|---|
| Employer des stratégies IAM pour accorder l'accès aux utilisateurs et aux ressources | Stratégies IAM |
| Crypter les ressources à l'aide d'une clé personnalisée | Cryptage des données |
| Accès réseau sécurisé aux ressources | Sécurité réseau |
| Activation et configuration de Cloud Guard (facultatif) | Cloud Guard |
| Création d'une zone de sécurité (facultatif) | Security Zones |
Tâches de routine liées à la sécurité
Après vous être familiarisé avec Object Storage, utilisez cette liste de contrôle afin d'identifier les tâches de sécurité que nous vous recommandons d'effectuer régulièrement.
| Tâche | Informations supplémentaires |
|---|---|
| Effectuer une rotation des clés de cryptage | Cryptage des données |
| Répondre aux problèmes détectés dans Cloud Guard | Cloud Guard |
| Réalisation de sauvegardes régulières | Durabilité des données |
| Assurer l'intégrité de vos données lorsqu'elles sont déplacées ou copiées vers d'autres emplacements | Checksums pour la sécurité des données |
| Réalisation d'un audit de sécurité | Audit en cours |
Stratégies IAM
Utilisez des stratégies pour limiter l'accès à Object Storage.
Une stratégie précise qui peut accéder aux ressources Oracle Cloud Infrastructure et comment. Pour plus d'informations, reportez-vous à Fonctionnement des stratégies.
Affectez à un groupe les privilèges minimaux qui sont requis pour assumer ses responsabilités. Chaque stratégie comporte un verbe décrivant les actions que le groupe est autorisé à effectuer. Les verbes disponibles sont les suivants, de l'accès le plus restreint à l'accès le plus étendu : inspect, read, use et manage.
Affectez l'accès avec le moindre privilège aux types de ressource dans object-family (buckets et objets). Par exemple, le verbe inspect vous permet de vérifier si un bucket existe (HeadBucket) et de répertorier les buckets dans un compartiment (ListBucket). Le verbe manage accorde tous les droits d'accès sur la ressource.
Nous vous recommandons d'accorder les droits d'accès DELETE à un ensemble minimal d'utilisateurs et de groupes IAM. Cette pratique minimise la perte de données due à des suppressions involontaires par des utilisateurs autorisés ou par des acteurs malveillants. Accordez le droit d'accès DELETE uniquement aux administrateurs de location et de compartiment.
Dans les exemples suivants, les stratégies portent sur une location. Cependant, elles peuvent porter sur un compartiment spécifique dans une location en indiquant le nom du compartiment.
Vous pouvez autoriser l'accès de n'importe quel utilisateur à un dossier spécifique dans un bucket à l'aide d'une combinaison de nom de bucket spécifique (target.bucket.name) et de modèle d'objet spécifique (target.object.name). Vous pouvez utiliser un astérisque ("*") comme caractère générique pour mettre en correspondance n'importe quelle séquence de caractères de chaîne (/*name/, /name*/,/*name*/). La restriction de l'accès à un dossier par modèle d'objet n'empêche pas de répertorier tous les objets du bucket conteneur.
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'}Vous pouvez limiter l'accès d'un groupe à un bucket spécifique à l'aide du nom de bucket spécifique (target.bucket.name), des balises définies (target.tag.definition.name), ou vous pouvez utiliser un astérisque comme caractère générique pour mettre en correspondance n'importe quelle séquence de caractères de chaîne (/*name/, /name*/, /*name*/).
L'exemple suivant permet de limiter l'accès des utilisateurs du groupe BucketUsers à un bucket spécifique.
Allow group BucketUsers to use buckets in tenancy
where target.bucket.name='BucketFoo'Vous pouvez modifier cette stratégie de sorte à limiter l'accès des utilisateurs du groupe BucketUsers à tous les buckets dont le nom comporte le préfixe ProjectA_.
Allow group BucketUsers to use buckets in tenancy
where target.bucket.name=/ProjectA_*/Vous pouvez également mettre en correspondance la post-correction (/*_ProjectA/) ou la sous-chaîne (/*ProjectA*/).
L'exemple suivant permet au groupe BucketUsers de répertorier et de lire les objets à partir d'un bucket spécifique nommé 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 stratégie ci-dessous modifie la stratégie précédente pour permettre de répertorier et d'écrire des objets dans 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'}}Vous pouvez restreindre cette stratégie à l'accès en lecture ou en écriture à un ensemble de buckets plutôt qu'à un bucket spécifique à l'aide d'expressions régulières ou de balises.
L'exemple suivant permet de répertorier et de lire des objets par groupe BucketUsers à partir de tous les buckets avec la balise définie "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 stratégie suivante modifie la stratégie précédente afin d'autoriser la création de listes et l'écriture d'objets sur tous les buckets pour lesquels la balise définie sur le bucket correspond à la balise définie sur le groupe auquel l'utilisateur appartient.
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'}}Vous pouvez limiter l'accès aux ressources Object Storage à un utilisateur spécifique en ajoutant une condition à la stratégie qui spécifie l'OCID de l'utilisateur dans une variable.
La stratégie suivante restreint l'accès aux ressources dans le compartiment ObjectStorage à l'OCID utilisateur indiqué :
Allow any-user to read object-family in compartment ObjectStorage where request.user.id ='ocid1.user.oc1..<user_OCID>'
Vous ne pouvez restreindre l'accès qu'aux demandes provenant d'une adresse IP autorisée. Commencez par créer une source réseau afin d'indiquer les adresses IP autorisées, puis ajoutez une condition à votre stratégie pour restreindre l'accès aux adresses IP de cette source réseau.
La stratégie suivante restreint l'accès aux adresses IP uniquement dans une source réseau corpnet qui définit les adresses IP autorisées :
Allow group CorporateUsers to manage object-family in tenancy where request.networkSource.name='corpnet'
Pour plus d'informations sur la création des sources réseau et leur utilisation dans des stratégies, reportez-vous à Gestion des sources réseau.
Dans l'exemple suivant, le groupe BucketUsers peut effectuer toutes les actions sur les buckets et les objets, à l'exception de la suppression.
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'L'exemple suivant restreint la suppression d'objets sur un bucket spécifique (BucketFoo).
Allow group BucketUsers to manage objects in tenancy
where any {target.bucket.name!='BucketFoo',
all {target.bucket.name='BucketFoo',
request.permission!='OBJECT_DELETE'}}Utilisez des règles de conservation pour respecter les exigences de conformité WORM. Les règles de conservation sont configurées au niveau du bucket et sont appliquées à tous les objets qu'il contient. Vous ne pouvez pas mettre à jour, écraser ou supprimer des objets ou des métadonnées d'objet tant que la règle de conservation n'est pas supprimée (règle indéfinie) ou la durée spécifiée écoulée (règle liée au temps).
Les stratégies suivantes permettent à BucketUsers de gérer les buckets et les objets de la location, et autorisent BucketUsers à créer, à gérer et à supprimer des règles de conservation. Ces stratégies permettent également à BucketUsers de verrouiller les règles de conservation pendant une période donnée.
Allow group BucketUsers to manage buckets in tenancy
Allow group BucketUsers to manage objects in tenancyLes stratégies suivantes, plus restrictives, permettent à BucketUsers d'effectuer toutes les actions sur les buckets et les objets, à l'exception du verrouillage des règles de conservation.
Allow group BucketUsers to manage buckets in tenancy
where request.permission!='RETENTION_RULE_LOCK'
Allow group BucketUsers to manage objects in tenancy
Les droits d'accès BUCKET_CREATE et BUCKET_UDPATE sont requis pour créer des buckets ou rendre publics des buckets privés existants. En enlevant ces droits d'accès, vous empêchez les utilisateurs de créer des buckets ou de rendre publics les buckets existants.
Allow group BucketUsers to manage buckets in tenancy
where any {request.permission='BUCKET_INSPECT',
request.permission='BUCKET_READ',
request.permission='PAR_MANAGE'}Pour plus d'informations sur les stratégies Object Storage et pour consulter d'autres exemples, reportez-vous à Détails d'Object Storage, d'Archive Storage et de Transfert de données.
Contrôle d'accès
Outre la création de stratégies IAM, verrouillez l'accès à Object Storage à l'aide de fonctionnalités telles que les demandes pré-authentifiées.
Buckets publics
Un bucket public autorise les lectures anonymes et non authentifiées sur tous les objets dans le bucket. Avant d'activer les buckets publics, évaluez avec précaution le cas d'utilisation prévu.
Nous vous recommandons d'utiliser des demandes pré-authentifiées pour accorder aux utilisateurs sans informations d'identification IAM un accès aux buckets ou aux objets. Par défaut, les buckets sont créés sans accès public (le type d'accès est défini sur NoPublicAccess).
Vous pouvez rendre les buckets existants publics en mettant à jour le type d'accès aux buckets sur ObjectRead ou ObjectReadWithoutList. Pour minimiser la possibilité de rendre les buckets existants publics par inadvertance ou par malveillance, limitez le droit d'accès BUCKET_UPDATE à un ensemble minimal de groupes IAM.
La commande d'interface de ligne de commande suivante renvoie la valeur public-access-type affectée à un bucket.
oci os bucket get -ns <your_namespace> --bucket-name <bucket_name> | grep "public-access-type"Si l'attribut public-access-type a la valeur NoPublicAccess, le bucket est privé. Toute autre valeur telle que ObjectRead indique un bucket public.
Demandes pré-authentifiées
Pour les utilisateurs sans informations d'identification IAM, nous vous recommandons d'utiliser des demandes pré-authentifiées pour accorder un accès temporaire aux objets ou aux buckets.
Dans une demande pré-authentifiée, un utilisateur IAM disposant des privilèges appropriés pour accéder aux objets peut créer des URL spéciales qui accordent un accès limité dans le temps à ces objets. Pour plus d'informations, reportez-vous à Utilisation de demandes pré-authentifiées.
Le créateur d'une demande pré-authentifiée doit disposer du droit d'accès PAR_MANAGE et des droits d'accès IAM appropriés pour le type d'accès que vous accordez. Vous pouvez créer une demande pré-authentifiée qui accorde un accès en lecture, en écriture ou en lecture/écriture à l'un des éléments suivants :
- Tous les objets du bucket.
- Un objet particulier du bucket.
- Tous les objets du bucket comportant un préfixe indiqué.
Pour les demandes qui s'appliquent à plusieurs objets, vous pouvez également décider de permettre aux utilisateurs de répertorier ces objets.
Les accès aux demandes pré-authentifiées à un bucket sont signés dans des journaux d'audit. Les accès de demande pré-authentifiée à un objet sont consignés dans les journaux de service.
L'URL unique fournie par le système lors de la création d'une demande pré-authentifiée est la seule façon dont un utilisateur peut accéder à la cible de la demande. Copiez l'URL vers un emplacement de stockage durable. L'URL est affichée uniquement lors de la création. Elle n'est pas stockée dans Object Storage et ne peut pas être extraite ultérieurement.
La commande d'interface de ligne de commande suivante renvoie la liste des PAR d'objet dans un bucket.
oci os preauth-request list -ns <your_namespace> -bn <bucket_name>
Cloud Guard
Activez Cloud Guard et utilisez-le pour détecter et résoudre les problèmes de sécurité dans Object Storage.
Lors de la détection d'un problème, Cloud Guard suggère des actions correctives. Vous pouvez également configurer Cloud Guard pour qu'il effectue automatiquement certaines actions. Cloud Guard inclut les règles de détecteur suivantes pour Object Storage.
- Le bucket est public
- Le bucket Object Storage est crypté avec une clé gérée par Oracle
- clés client IAM créées
Pour obtenir la liste de toutes les règles de détecteur disponibles dans Cloud Guard, reportez-vous à Référence de recette de détecteur.
Si vous ne l'avez pas encore fait, activez Cloud Guard et configurez-le pour surveiller les compartiments qui contiennent vos ressources. Vous pouvez configurer des cibles Cloud Guard pour examiner l'ensemble de votre location (compartiment racine et tous les sous-compartiments) ou pour vérifier uniquement des compartiments spécifiques. Reportez-vous à Introduction à Cloud Guard.
Après avoir activé Cloud Guard, vous pouvez visualiser et résoudre les problèmes de sécurité détectés. Reportez-vous à la section Processing Reported Problems.
Security Zones
L'utilisation de Security Zones garantit que vos ressources dans Object Storage sont conformes aux meilleures pratiques de sécurité.
Une zone de sécurité est associée à des compartiments et à une recette de zone de sécurité. Lorsque vous créez et mettez à jour des ressources dans le compartiment d'une zone de sécurité, Oracle Cloud Infrastructure valide ces opérations par rapport à la liste des stratégies de zone de sécurité dans la recette. Si une stratégie de la recette est violée, l'opération est refusée. Les stratégies de zone de sécurité suivantes sont disponibles pour les ressources dans Object Storage.
-
deny public_buckets -
deny buckets_without_vault_key
Pour obtenir la liste de toutes les stratégies de zone de sécurité, reportez-vous à Stratégies de zone de sécurité.
Pour déplacer des ressources existantes vers un compartiment se trouvant dans une zone de sécurité, les ressources doivent respecter toutes les stratégies de zone de sécurité de la recette de la zone. De même, les ressources d'une zone de sécurité ne peuvent pas être déplacées vers un compartiment en dehors de la zone car il peut être moins sécurisé. Reportez-vous à la section Managing Security Zones.
Cryptage des données
Créez et effectuez une rotation des clés de cryptage dans le service Vault pour protéger vos ressources dans Object Storage.
Toutes les données dans Object Storage sont cryptées avec l'algorithme AES-256 lorsqu'elles sont inactives. Le cryptage est activé par défaut et ne peut pas être désactivé. Chaque objet est crypté à l'aide de sa clé de cryptage. Les clés de cryptage d'objet sont cryptées à l'aide d'une clé de cryptage maître.
Un coffre est une entité logique qui stocke les clés de cryptage que vous utilisez pour protéger vos données. Selon le mode de protection, les clés sont stockées sur le serveur ou sur des modules de sécurité HSM hautement disponibles et durables. Nos HSM respectent la certification de sécurité de niveau 3 FIPS (Federal Information Processing Standards) 140-2. Reportez-vous à Gestion des coffres et à Gestion des clés.
Bien que les clés de cryptage par défaut puissent être générées automatiquement lorsque vous créez certaines ressources Oracle Cloud Infrastructure, nous vous recommandons de créer et de gérer vos propres clés de cryptage personnalisées dans le service Vault.
Pour affecter une clé de cryptage personnalisée à un nouveau bucket ou à un bucket existant, reportez-vous aux sections suivantes :
- Création d'un bucket Object Storage
- Affectation d'une clé à un bucket Object Storage
- Recryptage des clés de cryptage de données d'un bucket Object Storage
- Recryptage d'un objet Object Storage
Une version de clé est automatiquement affectée à chaque clé de cryptage maître. Lorsque vous effectuez une rotation de clé, le service Vault génère une nouvelle version de clé. La rotation périodique des clés limite la quantité de données cryptées ou signées par une version de clé. Si une clé est incluse, la rotation des clés réduit les risques pour vos données. Reportez-vous à Gestion des clés.
Nous vous recommandons d'utiliser des stratégies IAM pour limiter strictement la création, la rotation et la suppression des clés de cryptage. Reportez-vous à Détails du service Vault.
Vous pouvez également utiliser le cryptage côté client pour crypter les objets avec leurs clés de cryptage avant de les stocker dans des buckets Object Storage. Une option possible pour les clients consiste à utiliser l'API de compatibilité Amazon S3, ainsi que la prise en charge du cryptage d'objet côté client disponible dans le kit SDK AWS pour Java. Pour plus d'informations sur ce kit SDK, reportez-vous à API de compatibilité Amazon S3 .
Durabilité des données
Effectuez des sauvegardes régulières de vos données dans Object Storage.
- Utilisez la gestion des versions d'objet pour créer automatiquement une version d'objet à chaque fois qu'un nouvel objet est téléchargé, qu'un objet existant est écrasé ou qu'un objet est supprimé.
- Accordez les droits d'accès
BUCKET_DELETEetOBJECT_DELETEà un ensemble minimal d'utilisateurs et de groupes IAM. Accordez des droits d'accès en suppression uniquement aux administrateurs de location et de compartiment.
La conformité WORM (Write Once, Read Many) exige que les objets ne puissent pas être supprimés ou modifiés. Utilisez des règles de conservation pour respecter les exigences de conformité WORM. Les règles de conservation sont configurées au niveau du bucket et sont appliquées à tous les objets qu'il contient. Vous ne pouvez pas mettre à jour, écraser ou supprimer des objets ou des métadonnées d'objet tant que la règle de conservation n'est pas supprimée (règle indéfinie) ou la durée spécifiée écoulée (règle liée au temps).
Pour obtenir une évaluation indépendante de la capacité de la fonctionnalité des règles de conservation Object Storage à répondre aux exigences réglementaires en matière de gestion et de conservation des enregistrements, reportez-vous à l'évaluation de conformité SEC 17a-4(f), FINRA 4511(c), CFTC 1.31(c)-(d) et MiFID II de Cohasset Associate.
Checksums pour la sécurité des données
Pour vérifier l'intégrité des données d'objet, une somme de contrôle MD5 est fournie pour tous les objets téléchargés vers Object Storage. En outre, vous pouvez appliquer l'une des sommes de contrôle facultatives suivantes aux objets téléchargés vers Object Storage :
-
SHA256
-
SHA384
-
CRC32C
Utilisation du checksum MD5
Nous vous recommandons de vérifier que la somme de contrôle MD5 hors ligne d'un objet correspond à la valeur de somme de contrôle renvoyée par la console ou l'API après le téléchargement. Oracle Cloud Infrastructure fournit la valeur de somme de contrôle d'objet avec un encodage base64. Pour convertir la valeur de somme de contrôle encodée par base64 en valeur hexadécimale, utilisez la commande suivante :
python -c 'print "BASE64-ENCODED-MD5-VALUE".decode("base64").encode("hex")'
Linux fournit un utilitaire de ligne de commande md5sum pour calculer la valeur de somme de contrôle MD5 d'un objet au format hexadécimal.
Utilisation du checksum MD5 avec les téléchargements multipart
Object Storage prend en charge les téléchargements multipart afin d'être plus efficaces et résilients, notamment pour les objets volumineux. Lors d'un téléchargement multipart, un objet volumineux est divisé en petites parties en indiquant la taille des parties en MiB. Chaque partie est téléchargée séparément. Object Storage combine ensuite toutes les parties pour créer l'objet d'origine. En cas d'échec du téléchargement de certaines parties, seules ces parties doivent être téléchargées à nouveau, et non l'ensemble de l'objet.
Dans un téléchargement multipart, les valeurs de somme de contrôle MD5 sont calculées pour chaque partie et une somme de contrôle MD5 est calculée sur toutes les valeurs de somme de contrôle individuelles pour obtenir la valeur MD5 de sortie. Pour vérifier la valeur MD5 renvoyée lors d'un téléchargement multipart, suivez le même processus de calcul de la somme de contrôle MD5 hors ligne. Un exemple de script pour le calcul hors ligne d'une valeur de somme de contrôle MD5 d'un téléchargement multipart vers Object Storage est disponible ici : https://gist.github.com/itemir/f5bc9fded6483cd79c89ebf4ca1cfd30.
Utilisation de la somme de contrôle SHA256 ou SHA384
Certains secteurs ont des exigences réglementaires pour utiliser une méthode de somme de contrôle qui est considérée comme plus forte que MD5. Ces exigences exigent souvent explicitement SHA256 ou SHA384. Vous pouvez sélectionner l'algorithme requis par leur régime de conformité. Notez que la présence de MD5 n'est pas considérée comme non sécurisée ou non conforme, l'ajout d'une autre méthode de somme de contrôle fournit une vérification d'intégrité supplémentaire. L'ajout d'un des types de somme de contrôle SHA devrait répondre à ces exigences.
~ echo "Test" | openssl dgst -sha256 -binary | base64
ydBMlWX8ZlyAaB+x2CmTgCaHH2bhT1AeCFMd9mk4p4k=
~ echo "Test" | openssl dgst -sha384 -binary | base64
B6T9J1V45Pkr3wb9V8ioT3u/WNk2zCkY4lAKZ3wYXfDUe2ImwIpVK8O42uUOANY2
Utilisation du checksum CRC32C
Vous pouvez comparer la somme de contrôle calculée sur un système de stockage local à celles calculées par Object Storage. Cela est difficile avec les téléchargements multipart, car la somme de contrôle calculée dépend de la taille exacte de chaque partie, qui peut être différente selon les systèmes (ou selon les paramètres de téléchargement).
Le type de somme de contrôle CRC32C est conçu pour renvoyer la même somme de contrôle pour le même objet, quelle que soit la façon dont il est téléchargé. Les clients peuvent ainsi comparer la somme de contrôle CRC32C calculée par Object Storage à la somme de contrôle CRC32C calculée par le stockage local ou d'autres clouds, quels que soient les paramètres de téléchargement multipart.
Utiliser des types de checksum supplémentaires
Vous ne pouvez utiliser qu'un seul type de somme de contrôle supplémentaire par objet téléchargé. Les sommes de contrôle MD5 sont toujours calculées sur chaque objet. Lorsque vous utilisez un type de somme de contrôle supplémentaire, les commandes GET et PUT peuvent subir une latence légèrement plus longue à terminer, par rapport à une commande GET ou PUT sur le même objet sans le type de somme de contrôle supplémentaire.
Sécurité réseau
Sécurisez l'accès réseau à vos ressources dans Object Storage.
Données en transit entre les clients (par exemple, les kits SDK et les CLI) et les adresses publiques Object Storage sont cryptées avec TLS 1.2 par défaut. L'appairage public FastConnect autorise un accès sur site à Object Storage sur un réseau privé, plutôt que sur le réseau Internet public. Reportez-vous à Accès au réseau sur site.
Audit en cours
Localisez les journaux d'accès et d'autres données de sécurité pour Object Storage.
Le service Audit enregistre automatiquement tous les appels d'API vers les ressources Oracle Cloud Infrastructure. Vous pouvez atteindre vos objectifs de sécurité et de conformité en utilisant le service Audit pour surveiller l'ensemble de l'activité utilisateur dans votre location. Comme tous les appels de la console, du kit SDK et de l'interface de ligne de commande passent par nos API, toutes les activités de ces sources sont incluses. Les enregistrements d'audit sont disponibles via une API de requête filtrable authentifiée, ou ils peuvent être extraits en tant que fichiers en batch à partir d'Object Storage. Le contenu du journal d'audit inclut l'activité survenue, l'utilisateur qui l'a lancée, la date et l'heure de la demande, ainsi que l'adresse IP source, l'agent utilisateur et les en-têtes HTTP de la demande. Reportez-vous à Visualisation des événements de journal d'audit.
{
"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 vous avez activé Cloud Guard dans votre location, il signale toutes les activités utilisateur susceptibles de poser des problèmes de sécurité. Lors de la détection d'un problème, Cloud Guard suggère des actions correctives. Vous pouvez également configurer Cloud Guard pour qu'il effectue automatiquement certaines actions. Reportez-vous à Introduction à Cloud Guard et à Traitement des problèmes signalés.