Informations détaillées sur les services de stockage d'archives, de stockage d'objets et de transfert de données

Cette rubrique présente des informations détaillées sur l'écriture de politiques permettant de contrôler l'accès aux services Stockage d'archives, Stockage d'objets et Transfert de données.

Conseil

Les politiques de cycle de vie des objets exigent que vous accordiez des autorisations au service Stockage d'objets pour archiver et supprimer des objets en votre nom. Pour plus d'informations, voir Utilisation des politiques de cycle de vie des objets.

Types de ressource

Types de ressource individuels

objectstorage-namespaces

buckets

objects

Type de ressource agrégé

object-family

Une politique utilisant <verb> object-family équivaut à une politique ayant un énoncé <verb> <individual resource-type> distinct pour chacun des types de ressource individuels.

Voir le tableau sous Informations détaillées sur les combinaisons Verbe + Type de ressource pour plus de détails sur les opérations d'API couvertes par chaque verbe, pour chaque type de ressource individuel inclus dans object-family.

Type de ressource supplémentaire pour le service Transfert de données

data-transfer-jobs

Variables prises en charge

Le service Stockage d'objets prend en charge toutes les variables générales (voir Variables générales pour toutes les demandes), plus celles répertoriées ici :

Opérations pour ce type de ressource... Peut utiliser cette variable Type de variable Commentaires
buckets et objects target.bucket.name Chaîne Utilisez cette variable pour contrôler l'accès à un seau spécifique. Pour un exemple de politique, voir Permettre aux utilisateurs d'écrire des objets dans les seaux de stockage d'objets. Important : La correspondance des conditions n'est pas sensible à la casse. Si vous avez un seau nommé "BucketA" et un compartiment nommé "bucketA", la condition where target.bucket.name="BucketA" s'applique aux deux. Pour éviter les problèmes potentiels liés aux noms de ressource dans la politique, donnez des noms distincts aux ressources.
buckets et objects target.bucket.tag.<TagNamespace>.<TagKeyDefinition> Chaîne Utilisez cette variable pour contrôler l'accès aux seaux qui comportent le marqueur spécifique. Voir Permettre aux utilisateurs d'écrire des objets dans les seaux de stockage d'objets.

Important : Vous ne pouvez pas utiliser cette variable pour des opérations CreateBucket et des opérations impliquant plusieurs seaux tels que ListBucket.

Note

Les variables request.ipv4.ipaddress et request.vcn.id sont obsolètes. Au lieu d'utiliser ces variables, créez une source de réseau pour spécifier un intervalle d'adresses IP ou un ID réseau en nuage virtuel spécifique. Vous pouvez ensuite utiliser la source de réseau dans votre politique pour limiter l'accès uniquement aux demandes qui proviennent des réseaux autorisés. Pour plus d'informations, voir Aperçu des sources de réseau.

Informations détaillées sur les combinaisons Verbe + Type de ressource

Les tableaux suivants présentent les autorisations et les opérations d'API couvertes par chaque verbe. Le niveau d'accès est cumulatif depuis inspect > read > use > manage. Par exemple, un groupe qui peut utiliser une ressource peut également inspecter et lire cette ressource. Un signe plus (+) dans une cellule de tableau indique un accès incrémentiel comparé à la cellule directement au-dessus, alors que "aucun accès supplémentaire" indique qu'il n'y a aucun accès incrémentiel.

Pour les types de ressource object-family

espaces de nom de stockage d'objets
Verbes Autorisations API entièrement couvertes API partiellement couvertes
read

Aucune

GetNamespace

aucune

manage

OBJECTSTORAGE_NAMESPACE_READ

OBJECTSTORAGE_NAMESPACE_UPDATE

GetNamespace avec le paramètre facultatif compartmentId

GetNamespaceMetadata

UpdateNamespaceMetadata

aucune
seaux
Verbes Autorisations API entièrement couvertes API partiellement couvertes
inspect

BUCKET_INSPECT

HeadBucket

ListBuckets

aucune

read

INSPECT +

BUCKET_READ

INSPECT +

GetBucket

ListMultipartUploads

GetObjectLifecyclePolicy

GetRetentionRule

ListRetentionRules

GetReplicationPolicy

ListReplicationPolicies

ListReplicationSources

aucune

use

READ +

BUCKET_UPDATE

READ +

UpdateBucket

DeleteObjectLifecyclePolicy

ReencryptBucket

PutObjectLifecyclePolicy
manage

USE +

BUCKET_CREATE

BUCKET_DELETE

PAR_MANAGE

RETENTION_RULE_MANAGE

RETENTION_RULE_LOCK (si vous utilisez 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)

objets
Verbes Autorisations API entièrement couvertes API partiellement couvertes
inspect

OBJECT_INSPECT

HeadObject

ListObjects

ListMultipartUploadParts

aucune

read

INSPECT +

OBJECT_READ

INSPECT +

GetObject

aucune

use

READ +

OBJECT_OVERWRITE

READ +

ReencryptObject

READ +

PutObject (USE permet à PutObject de remplacer des objets existants, mais la création d'un nouvel 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 politiques relatives aux tâches de transfert de données requièrent également la gestion des objets ou la gestion des objets et des seaux. Voir Création des utilisateurs, groupes et politiques GIA requis pour plus de détails.

Verbes Autorisations API entièrement couvertes API partiellement couvertes
inspect

TRANSFER_JOB_INSPECT

aucune API destinée au client

aucune API destinée au client

read

INSPECT +

TRANSFER_JOB_READ

INSPECT +

aucune API destinée au client

aucune API destinée au client

use

READ +

TRANSFER_JOB_UPDATE

READ +

aucune API destinée au client

READ +

aucune API destinée au client

manage

USE +

TRANSFER_JOB_CREATE

TRANSFER_JOB_DELETE

USE +

aucune API destinée au client

USE +

aucune API destinée au client

Autorisations requises 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 autorisations, voir Autorisations.

Opération d'API Autorisations requises pour utiliser l'opération
GetNamespace

L'API ne requiert aucune autorisation et retourne l'espace de noms du programme d'appel. Utilisez l'API pour valider vos données d'identification.

L'autorisation OBJECTSTORAGE_NAMESPACE_READ est requise si vous incluez le paramètre facultatif compartmentId. Utilisez le paramètre compartmentId pour déterminer l'espace de noms d'une location de tierce partie.

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

L'autorisation requise est fonction de l'existence ou de l'absence de l'objet dans le seau :

  • OBJECT_CREATE est nécessaire lorsqu'un objet portant ce nom n'existe pas déjà dans le seau.
  • OBJECT_OVERWRITE est nécessaire lorsqu'un objet portant ce nom existe déjà dans le seau.
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 & 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 & RETENTION_RULE_MANAGE (& RETENTION_RULE_LOCK)
GetRetentionRule BUCKET_READ
ListRetentionRule BUCKET_READ
UpdateRetentionRule BUCKET_UPDATE & RETENTION_RULE_MANAGE (& RETENTION_RULE_LOCK)
DeleteRetentionRule BUCKET_UPDATE & 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