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.
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 motifs | 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 pour 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. |
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
. Par exemple, un groupe qui peut utiliser une ressource peut également inspecter et lire cette ressource. 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
Verbes | Droits d'accès | API complètement couvertes | API partiellement couvertes |
---|---|---|---|
read | Aucun |
GetNamespace
|
aucun |
manage | OBJECTSTORAGE_NAMESPACE_READ OBJECTSTORAGE_NAMESPACE_UPDATE |
|
aucun |
Verbes | Droits d'accès | API complètement couvertes | API partiellement couvertes |
---|---|---|---|
inspect | BUCKET_INSPECT |
|
aucun |
read | INSPECT + BUCKET_READ |
INSPECT +
|
aucun |
use | READ + BUCKET_UPDATE |
READ +
|
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 +
|
|
Verbes | Droits d'accès | API complètement couvertes | API partiellement couvertes |
---|---|---|---|
inspect | OBJECT_INSPECT |
|
aucun |
read | INSPECT + OBJECT_READ |
INSPECT +
|
aucun |
use | READ + OBJECT_OVERWRITE |
READ +
|
READ +
|
manage | USE + OBJECT_CREATE OBJECT_DELETE OBJECT_VERSION_DELETE OBJECT_RESTORE OBJECT_UPDATE_TIER |
USE +
|
|
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 |
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 :
|
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 |