Informations détaillées sur le stockage d'objets et le stockage d'archives
Cette rubrique présente des détails sur l'écriture de politiques permettant de contrôler l'accès au service de stockage d'archives et au service de stockage d'objets.
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
.
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înes et modèles | Utilisez cette variable pour contrôler l'accès à un seau spécifique. 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 . |
objects |
target.object.name |
Chaînes et modèles | 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 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
Verbes | Autorisations | API entièrement couvertes | API partiellement couvertes |
---|---|---|---|
read | OBJECTSTORAGE_NAMESPACE_READ | GetNamespace
|
aucune |
use | OBJECTSTORAGE_NAMESPACE_READ | GetNamespace |
aucune |
manage | OBJECTSTORAGE_NAMESPACE_READ OBJECTSTORAGE_NAMESPACE_UPDATE |
GetNamespace avec le paramètre facultatif compartmentId
|
aucune |
Verbes | Autorisations | API entièrement couvertes | API partiellement couvertes |
---|---|---|---|
inspect | BUCKET_INSPECT |
|
aucune |
read | INSPECT + BUCKET_READ |
INSPECT +
|
aucune |
use | READ + BUCKET_UPDATE |
READ +
|
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 +
|
|
Verbes | Autorisations | API entièrement couvertes | API partiellement couvertes |
---|---|---|---|
inspect | OBJECT_INSPECT |
|
aucune |
read | INSPECT + OBJECT_READ |
INSPECT +
|
aucune |
use | READ + OBJECT_OVERWRITE |
READ +
|
READ +
|
manage | USE + OBJECT_CREATE OBJECT_DELETE OBJECT_VERSION_DELETE OBJECT_RESTORE OBJECT_UPDATE_TIER |
USE +
|
|
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 |
GetNamespaceMetadata
|
OBJECTSTORAGE_NAMESPACE_READ |
UpdateNamespaceMetadata
|
OBJECTSTORAGE_NAMESPACE_UPDATE |
CreateBucket
|
BUCKET_CREATE Si l'ID clé KMS est fourni à l'opération, les autorisations supplémentaires suivantes sont requises :
|
UpdateBucket
|
BUCKET_UPDATE Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit également avoir : KEY_ENCRYPT et KEY_DECRYPT. |
GetBucket
|
BUCKET_READ Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit avoir KEY_DECRYPT. |
HeadBucket
|
BUCKET_INSPECT Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit avoir KEY_DECRYPT. |
ListBuckets
|
BUCKET_INSPECT |
DeleteBucket
|
BUCKET_DELETE |
ReencryptBucket
|
BUCKET_UPDATE Le sujet objectstorage-<location> doit également avoir : KEY_ENCRYPT et KEY_DECRYPT. |
PutObject
|
L'autorisation requise varie selon que l'objet existe déjà dans le seau :
Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit avoir KEY_ENCRYPT. |
RenameObject
|
OBJECT_CREATE et OBJECT_OVERWRITE |
GetObject
|
OBJECT_READ Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit avoir KEY_DECRYPT. |
HeadObject
|
OBJECT_READ ou OBJECT_INSPECT Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit avoir KEY_DECRYPT. |
DeleteObject
|
OBJECT_DELETE |
DeleteObjectVersion
|
OBJECT_VERSION_DELETE |
ListObjects
|
OBJECT_INSPECT |
ListObjectVersions |
OBJECT_INSPECT |
ReencryptObject
|
OBJECT_READ, OBJECT_OVERWRITE Pour un seau chiffré avec clé gérée par le client, les autorisations suivantes sont requises :
|
RestoreObjects
|
OBJECT_RESTORE |
UpdateObjectStorageTier |
OBJECT_UPDATE_TIER |
CreateMultipartUpload
|
OBJECT_CREATE et OBJECT_OVERWRITE Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit avoir KEY_ENCRYPT. |
UploadPart
|
OBJECT_CREATE et OBJECT_OVERWRITE Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit avoir KEY_ENCRYPT. |
CommitMultipartUpload
|
BUCKET_READ, OBJECT_CREATE, OBJECT_READ 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 En outre, le sujet objectstorage-<location> doit également avoir : BUCKET_INSPECT, BUCKET_READ, OBJECT_INSPECT. Si le seau auquel s'applique la politique de cycle de vie est un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit également avoir : KEY_ENCRYPT et KEY_DECRYPT. Si l'opération |
GetObjectLifecyclePolicy
|
BUCKET_READ Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit avoir KEY_DECRYPT. |
DeleteObjectLifecyclePolicy
|
BUCKET_UPDATE Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit également avoir : KEY_ENCRYPT et KEY_DECRYPT. |
CreateRetentionRule
|
BUCKET_UPDATE et RETENTION_RULE_MANAGE (et RETENTION_RULE_LOCK) Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit également avoir : KEY_ENCRYPT et KEY_DECRYPT. |
GetRetentionRule
|
BUCKET_READ |
ListRetentionRule
|
BUCKET_READ |
UpdateRetentionRule
|
BUCKET_UPDATE et RETENTION_RULE_MANAGE (et RETENTION_RULE_LOCK) Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit également avoir : KEY_ENCRYPT et KEY_DECRYPT. |
DeleteRetentionRule
|
BUCKET_UPDATE et RETENTION_RULE_MANAGE Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit également avoir : KEY_ENCRYPT et KEY_DECRYPT. |
CopyObjectRequest
|
OBJECT_READ et la deuxième autorisation d'utilisateur requise dépendent de l'existence de l'objet dans le seau :
De plus, le sujet objectstorage-<location> nécessite OBJECT_READ. Pour un seau chiffré avec clé gérée par le client, le sujet objectstorage-<location> doit également avoir KEY_ENCRYPT, KEY_DECRYPT. |
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 Le sujet objectstorage-<location> doit avoir les mêmes autorisations que l'utilisateur. |
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 |