Détails relatifs à Object Storage, Archive Storage et Transfert de données

Cette rubrique traite des détails relatifs à l'écriture de stratégies visant à contrôler l'accès à Archive Storage, Object Storage et Transfert de données.

Conseil

La fonctionnalité de stratégies de cycle de vie des objets requiert que vous accordiez des droits d'accès au service Object Storage lui permettant d'archiver et de supprimer des objets en votre nom. Pour plus d'informations, reportez-vous à Utilisation des stratégies de cycle de vie des objets.

Types de ressource

Types individuels de ressource

objectstorage-namespaces

buckets

objects

Type agrégé de ressource

object-family

Une stratégie qui utilise <verb> object-family équivaut à écrire une stratégie avec une instruction <verb> <individual resource-type> distincte pour chaque type individuel de ressource.

Reportez-vous au tableau dans Détails des combinaisons de verbe et de type de ressource afin d'obtenir des détails sur les opérations d'API couvertes par chaque verbe, pour chaque type individuel de ressource inclus dans object-family.

Type individuel de ressource supplémentaire pour Transfert de données

data-transfer-jobs

Variables prises en charge

Object Storage prend en charge toutes les variables générales (reportez-vous à Variables générales pour toutes les demandes) ainsi que celles répertoriées ici :

Type de ressource pour les opérations Variable pouvant être utilisée Type de variable Commentaires
buckets et objects target.bucket.name Chaîne et modèles Utilisez cette variable pour contrôler l'accès à un bucket spécifique. Pour obtenir un exemple de stratégie, reportez-vous à Autoriser les utilisateurs à écrire des objets dans des buckets Object Storage. Important : la mise en correspondance de conditions ne tient pas compte de la casse. Si vous disposez d'un bucket nommé "BucketA" et d'un bucket nommé "bucketA", la condition where target.bucket.name="BucketA" s'applique aux deux. Afin d'éviter d'éventuels problèmes liés aux noms de ressource dans une stratégie, donnez à vos ressources des noms distincts.
buckets et objects target.bucket.tag.<TagNamespace>.<TagKeyDefinition> Chaîne Utilisez cette variable pour contrôler l'accès aux buckets avec une balise spécifique. Reportez-vous à Autoriser les utilisateurs à écrire des objets dans des buckets Object Storage. Important : vous ne pouvez pas utiliser cette variable pour les opérations CreateBucket et les opérations qui impliquent plusieurs buckets, comme ListBucket.
objects target.object.name Chaîne et motifs Utilisez cette variable pour contrôler l'accès à un objet ou à des modèles d'objet spécifiques.
Remarque

Les variables request.ipv4.ipaddress et request.vcn.id sont en phase d'abandon. Au lieu d'utiliser ces variables, créez une source réseau pour spécifier une plage d'adresses IP ou un ID de réseau cloud virtuel spécifique. Vous pouvez ensuite utiliser la source réseau dans votre stratégie pour limiter l'accès aux demandes provenant des réseaux autorisés uniquement. Pour plus d'informations, reportez-vous à Présentation des sources réseau.

Détails des combinaisons de verbe et de type de ressource

Les tableaux suivants indiquent les droits d'accès et les opérations d'API couverts par chaque verbe. Le niveau d'accès est cumulatif à mesure que vous passez d'un verbe à l'autre de la façon suivante :inspect > read > use > manage. La présence d'un signe plus (+) dans une cellule du tableau indique un accès incrémentiel par rapport à la cellule située directement au-dessus, tandis que la mention "aucun élément supplémentaire" indique l'absence d'accès incrémentiel.

Pour les types de ressource object-family

objectstorage-namespaces
Verbes Droits d'accès API complètement couvertes API partiellement couvertes
read

Aucun

GetNamespace

aucun

manage

OBJECTSTORAGE_NAMESPACE_READ

OBJECTSTORAGE_NAMESPACE_UPDATE

GetNamespace avec le paramètre compartmentId facultatif

GetNamespaceMetadata

UpdateNamespaceMetadata

aucun
buckets
Verbes Droits d'accès API complètement couvertes API partiellement couvertes
inspect

BUCKET_INSPECT

HeadBucket

ListBuckets

aucun

read

INSPECT +

BUCKET_READ

INSPECT +

GetBucket

ListMultipartUploads

GetObjectLifecyclePolicy

GetRetentionRule

ListRetentionRules

GetReplicationPolicy

ListReplicationPolicies

ListReplicationSources

aucun

use

READ +

BUCKET_UPDATE

READ +

UpdateBucket

DeleteObjectLifecyclePolicy

ReencryptBucket

PutObjectLifecyclePolicy
manage

USE +

BUCKET_CREATE

BUCKET_DELETE

PAR_MANAGE

RETENTION_RULE_MANAGE

RETENTION_RULE_LOCK (en cas d'utilisation d'un verrouillage de règle facultatif)

USE +

CreateBucket

DeleteBucket

CreatePreauthenticatedRequest

GetPreauthenticatedRequest

ListPreauthenticatedRequest

DeletePreauthenticatedRequest

CreateRetentionRule

UpdateRetentionRule

DeleteRetentionRule

CreateReplicationPolicy, DeleteReplicationPolicy, MakeBucketWritable (ces opérations requièrent également manage objects)

objects
Verbes Droits d'accès API complètement couvertes API partiellement couvertes
inspect

OBJECT_INSPECT

HeadObject

ListObjects

ListMultipartUploadParts

aucun

read

INSPECT +

OBJECT_READ

INSPECT +

GetObject

aucun

use

READ +

OBJECT_OVERWRITE

READ +

ReencryptObject

READ +

PutObject (USE permet à PutObject de remplacer des objets existants, mais la création d'un objet requiert également OBJECT_CREATE)

CreateMultipartUpload, UploadPart, CommitMultipartUpload (ces opérations requièrent également manage objects)

manage

USE +

OBJECT_CREATE

OBJECT_DELETE

OBJECT_VERSION_DELETE

OBJECT_RESTORE

OBJECT_UPDATE_TIER

USE +

CreateObject

RenameObject

RestoreObject

DeleteObject

DeleteObjectVersion

UpdateObjectStorageTier

CreateMultipartUpload

UploadPart

CommitMultipartUpload

AbortMultipartUpload

PutObjectLifecyclePolicy (requiert également manage objects)

CreateReplicationPolicy, DeleteReplicationPolicy, MakeBucketWritable (ces opérations requièrent également manage buckets)

 
data-transfer-jobs

Les stratégies pour les travaux de transfert de données requièrent également manage objects, ou manage objects et manage buckets. Pour plus d'informations, reportez-vous à Création des utilisateurs, des groupes et des stratégies IAM requis.

Verbes Droits d'accès API complètement couvertes API partiellement couvertes
inspect

TRANSFER_JOB_INSPECT

aucune API côté client

aucune API côté client

read

INSPECT +

TRANSFER_JOB_READ

INSPECT +

aucune API côté client

aucune API côté client

use

READ +

TRANSFER_JOB_UPDATE

READ +

aucune API côté client

READ +

aucune API côté client

manage

USE +

TRANSFER_JOB_CREATE

TRANSFER_JOB_DELETE

USE +

aucune API côté client

USE +

aucune API côté client

Droits d'accès requis pour chaque opération d'API

Le tableau suivant répertorie les opérations d'API dans un ordre logique, regroupées par type de ressource.

Pour plus d'informations sur les droits d'accès, reportez-vous à Droits d'accès.

Opération d'API Droits d'accès requis pour utiliser l'opération
GetNamespace

L'API ne requiert aucun droit d'accès et renvoie l'espace de noms de l'appelant. Utilisez l'API pour valider vos informations d'identification.

Le droit d'accès OBJECTSTORAGE_NAMESPACE_READ est requis si vous incluez le paramètre facultatif compartmentId. Le paramètre compartmentId permet de déterminer l'espace de noms d'une location tierce.

GetNamespaceMetadata OBJECTSTORAGE_NAMESPACE_READ
UpdateNamespaceMetadata OBJECTSTORAGE_NAMESPACE_UPDATE
CreateBucket BUCKET_CREATE
UpdateBucket BUCKET_UPDATE
GetBucket BUCKET_READ
HeadBucket BUCKET_INSPECT
ListBuckets BUCKET_INSPECT
DeleteBucket BUCKET_DELETE
ReencryptBucket BUCKET_UPDATE
PutObject

Le droit d'accès requis varie selon que l'objet existe déjà dans le bucket :

  • OBJECT_CREATE est requis lorsqu'aucun objet portant ce nom n'existe dans le bucket.
  • OBJECT_OVERWRITE est requis lorsqu'un objet portant ce nom existe déjà dans le bucket.
RenameObject OBJECT_CREATE et OBJECT_OVERWRITE
GetObject OBJECT_READ
HeadObject OBJECT_READ ou OBJECT_INSPECT
DeleteObject OBJECT_DELETE
DeleteObjectVersion OBJECT_VERSION_DELETE
ListObjects OBJECT_INSPECT
ReencryptObject OBJECT_READ et OBJECT_OVERWRITE
RestoreObjects OBJECT_RESTORE
UpdateObjectStorageTier OBJECT_UPDATE_TIER
CreateMultipartUpload OBJECT_CREATE et OBJECT_OVERWRITE
UploadPart OBJECT_CREATE et OBJECT_OVERWRITE
CommitMultipartUpload OBJECT_CREATE et OBJECT_OVERWRITE
ListMultipartUploadParts OBJECT_INSPECT
ListMultipartUploads BUCKET_READ
AbortMultipartUpload OBJECT_DELETE
CreatePreauthenticatedRequest PAR_MANAGE
GetPreauthenticatedRequest PAR_MANAGE ou BUCKET_READ
ListPreauthenticatedRequests PAR_MANAGE ou BUCKET_READ
DeletePreauthenticatedRequest PAR_MANAGE
PutObjectLifecyclePolicy BUCKET_UPDATE, OBJECT_CREATE et OBJECT_DELETE
GetObjectLifecyclePolicy BUCKET_READ
DeleteObjectLifecyclePolicy BUCKET_UPDATE
CreateRetentionRule BUCKET_UPDATE et RETENTION_RULE_MANAGE (et RETENTION_RULE_LOCK)
GetRetentionRule BUCKET_READ
ListRetentionRule BUCKET_READ
UpdateRetentionRule BUCKET_UPDATE et RETENTION_RULE_MANAGE (et RETENTION_RULE_LOCK)
DeleteRetentionRule BUCKET_UPDATE et RETENTION_RULE_MANAGE
CreateCopyRequest OBJECT_READ, OBJECT_CREATE, OBJECT_OVERWRITE et OBJECT_INSPECT
GetWorkRequest OBJECT_READ
ListWorkRequests OBJECT_INSPECT
CancelWorkRequest OBJECT_DELETE
CreateReplicationPolicy OBJECT_READ, OBJECT_CREATE, OBJECT_OVERWRITE, OBJECT_INSPECT, OBJECT_DELETE, OBJECT_RESTORE, BUCKET_READ et BUCKET_UPDATE
GetReplicationPolicy BUCKET_READ
DeleteReplicationPolicy OBJECT_READ, OBJECT_CREATE, OBJECT_OVERWRITE, OBJECT_INSPECT, OBJECT_DELETE, OBJECT_RESTORE, BUCKET_READ et BUCKET_UPDATE
ListReplicationPolicies BUCKET_READ
ListReplicationSources BUCKET_READ
MakeBucketWritable OBJECT_READ, OBJECT_CREATE, OBJECT_OVERWRITE, OBJECT_INSPECT, OBJECT_DELETE, BUCKET_READ et BUCKET_UPDATE