Detalles de Object Storage, Archive Storage y Data Transfer

En este tema, se tratan los detalles de la escritura de políticas para controlar el acceso a Archive Storage, Object Storage y Data Transfer.

Consejo

La función de políticas de ciclo de vida de objetos necesita que otorgue permisos al servicio Object Storage para archivar y suprimir objetos en su nombre. Consulte Uso de políticas de ciclo de vida de objetos para obtener más información.

Tipos de recursos

Tipos de recursos Individuales

objectstorage-namespaces

buckets

objects

Tipo de recurso agregado

object-family

Una política que utiliza <verb> object-family equivale a escribir una política con una sentencia <verb> <individual resource-type> independiente para cada uno de los tipos de recursos individuales.

Consulte en la tabla Detalles de combinaciones de verbo + tipo de recurso los detalles de las operaciones de API que cubre cada verbo para cada tipo de recurso individual incluido en object-family.

Tipo de recurso individual adicional para Data Transfer

data-transfer-jobs

Variables soportadas

Object Storage soporta todas las variables generales (consulte Variables generales para todas las solicitudes), además de las que se muestran aquí:

Operaciones para este tipo de recurso... Puede utilizar esta variable Tipo de variable Comentarios
buckets y objects target.bucket.name Cadena y patrones Utilice esta variable para controlar el acceso a un cubo específico. Para ver una política de ejemplo, consulte Permitir a los usuarios escribir objetos en cubos de Object Storage. Importante: La coincidencia de condiciones no es sensible a mayúsculas/minúsculas. Si tiene un cubo denominado "BucketA" y un cubo denominado "bucketA", la condición where target.bucket.name="BucketA" se aplica a ambos. Para evitar posibles problemas con los nombres de recursos de la política, proporcione a sus recursos nombres diferenciados.
buckets y objects target.bucket.tag.<TagNamespace>.<TagKeyDefinition> Cadena Utilice esta variable para controlar el acceso a los cubos que tienen la etiqueta específica. Consulte Permitir a los usuarios escribir objetos en los cubos de Object Storage. Importante: no puede utilizar esta variable para operaciones CreateBucket y operaciones que impliquen varios cubos, como ListBucket.
objects target.object.name Cadena y patrones Utilice esta variable para controlar el acceso a un objeto o patrones de objeto específicos.
Nota

Las variables request.ipv4.ipaddress y request.vcn.id están en desuso. En lugar de utilizar estas variables, cree un origen de red para especificar un rango de direcciones IP o un identificador de VCN específico. A continuación, puede utilizar el origen de red de la política para restringir el acceso solo a las solicitudes procedentes de las redes permitidas. Para obtener más información, consulte Descripción general de los orígenes de red.

Detalles de combinaciones de verbo + tipo de recurso

En las siguientes tablas, se muestran los permisos y las operaciones de API que abarca cada verbo. El nivel de acceso es acumulativo al recorrer la progresión inspect > read > use > manage. Un signo más (+) en una celda de la tabla indica un acceso incremental en comparación con la celda directamente por encima, mientras que "no extra" indica que no hay acceso incremental.

Para tipos de recursos object-family

objectstorage-namespaces
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
read

Ninguno

GetNamespace

ninguna

manage

OBJECTSTORAGE_NAMESPACE_READ

OBJECTSTORAGE_NAMESPACE_UPDATE

GetNamespace con parámetro opcional compartmentId

GetNamespaceMetadata

UpdateNamespaceMetadata

ninguna
buckets
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

BUCKET_INSPECT

HeadBucket

ListBuckets

ninguna

read

INSPECT +

BUCKET_READ

INSPECT +

GetBucket

ListMultipartUploads

GetObjectLifecyclePolicy

GetRetentionRule

ListRetentionRules

GetReplicationPolicy

ListReplicationPolicies

ListReplicationSources

ninguna

use

READ +

BUCKET_UPDATE

READ +

UpdateBucket

DeleteObjectLifecyclePolicy

ReencryptBucket

PutObjectLifecyclePolicy
manage

USE +

BUCKET_CREATE

BUCKET_DELETE

PAR_MANAGE

RETENTION_RULE_MANAGE

RETENTION_RULE_LOCK (si se utiliza el bloqueo de reglas opcional)

USE +

CreateBucket

DeleteBucket

CreatePreauthenticatedRequest

GetPreauthenticatedRequest

ListPreauthenticatedRequest

DeletePreauthenticatedRequest

CreateRetentionRule

UpdateRetentionRule

DeleteRetentionRule

CreateReplicationPolicy, DeleteReplicationPolicy, MakeBucketWritable (estas operaciones también necesitan manage objects)

objects
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

OBJECT_INSPECT

HeadObject

ListObjects

ListMultipartUploadParts

ninguna

read

INSPECT +

OBJECT_READ

INSPECT +

GetObject

ninguna

use

READ +

OBJECT_OVERWRITE

READ +

ReencryptObject

READ +

PutObject (USE permite a PutObject sobrescribir objetos existentes, pero la creación de un nuevo objeto también necesita OBJECT_CREATE)

CreateMultipartUpload, UploadPart y CommitMultipartUpload (también necesitan 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 (también necesita manage objects)

CreateReplicationPolicy, DeleteReplicationPolicy, MakeBucketWritable (estas operaciones también necesitan manage buckets)

 
data-transfer-jobs

Las políticas para los trabajos de transferencia de datos también requieren gestión de objetos o gestión de objetos y gestión de cubos. Consulte Creación de usuarios, grupos y políticas necesarios de IAM para obtener más información.

Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

TRANSFER_JOB_INSPECT

sin API orientada al cliente

sin API orientada al cliente

read

INSPECT +

TRANSFER_JOB_READ

INSPECT +

sin API orientada al cliente

sin API orientada al cliente

use

READ +

TRANSFER_JOB_UPDATE

READ +

sin API orientada al cliente

READ +

sin API orientada al cliente

manage

USE +

TRANSFER_JOB_CREATE

TRANSFER_JOB_DELETE

USE +

sin API orientada al cliente

USE +

sin API orientada al cliente

Permisos necesarios para cada operación de API

En la siguiente tabla, se muestran las operaciones de API en un orden lógico, agrupadas por tipo de recurso.

Para obtener más información sobre los permisos, consulte Permisos.

Operación de API Permisos necesarios para utilizar la operación
GetNamespace

La API no requiere permisos y devuelve el espacio de nombres del emisor de llamada. Utilice la API para validar sus credenciales.

El permiso OBJECTSTORAGE_NAMESPACE_READ es necesario si incluye el parámetro opcional compartmentId. Utilice el parámetro compartmentId para determinar el espacio de nombres para un arrendamiento de terceros.

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

El permiso necesario depende de si el objeto ya existe en el cubo:

  • OBJECT_CREATE es necesario cuando no existe un objeto con ese nombre en el cubo.
  • OBJECT_OVERWRITE es necesario cuando ya existe un objeto con ese nombre en el cubo.
RenameObject OBJECT_CREATE y OBJECT_OVERWRITE
GetObject OBJECT_READ
HeadObject OBJECT_READ u OBJECT_INSPECT
DeleteObject OBJECT_DELETE
DeleteObjectVersion OBJECT_VERSION_DELETE
ListObjects OBJECT_INSPECT
ReencryptObject OBJECT_READ y OBJECT_OVERWRITE
RestoreObjects OBJECT_RESTORE
UpdateObjectStorageTier OBJECT_UPDATE_TIER
CreateMultipartUpload OBJECT_CREATE y OBJECT_OVERWRITE
UploadPart OBJECT_CREATE y OBJECT_OVERWRITE
CommitMultipartUpload OBJECT_CREATE y OBJECT_OVERWRITE
ListMultipartUploadParts OBJECT_INSPECT
ListMultipartUploads BUCKET_READ
AbortMultipartUpload OBJECT_DELETE
CreatePreauthenticatedRequest PAR_MANAGE
GetPreauthenticatedRequest PAR_MANAGE o BUCKET_READ
ListPreauthenticatedRequests PAR_MANAGE o BUCKET_READ
DeletePreauthenticatedRequest PAR_MANAGE
PutObjectLifecyclePolicy BUCKET_UPDATE, OBJECT_CREATE y OBJECT_DELETE
GetObjectLifecyclePolicy BUCKET_READ
DeleteObjectLifecyclePolicy BUCKET_UPDATE
CreateRetentionRule BUCKET_UPDATE y RETENTION_RULE_MANAGE (y RETENTION_RULE_LOCK)
GetRetentionRule BUCKET_READ
ListRetentionRule BUCKET_READ
UpdateRetentionRule BUCKET_UPDATE y RETENTION_RULE_MANAGE (y RETENTION_RULE_LOCK)
DeleteRetentionRule BUCKET_UPDATE y RETENTION_RULE_MANAGE
CreateCopyRequest OBJECT_READ, OBJECT_CREATE, OBJECT_OVERWRITE y 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 y BUCKET_UPDATE
GetReplicationPolicy BUCKET_READ
DeleteReplicationPolicy OBJECT_READ, OBJECT_CREATE, OBJECT_OVERWRITE, OBJECT_INSPECT, OBJECT_DELETE, OBJECT_RESTORE, BUCKET_READ y BUCKET_UPDATE
ListReplicationPolicies BUCKET_READ
ListReplicationSources BUCKET_READ
MakeBucketWritable OBJECT_READ, OBJECT_CREATE, OBJECT_OVERWRITE, OBJECT_INSPECT, OBJECT_DELETE, BUCKET_READ y BUCKET_UPDATE