Detalhes dos serviços Object Storage, Archive Storage e Data Transfer

Este tópico abrange detalhes de gravação de políticas para controlar o acesso aos serviços Archive Storage, Object Storage e Data Transfer.

Dica

O recurso de políticas do ciclo de vida do objeto requer que você conceda permissões ao serviço Object Storage para arquivar e excluir objetos em seu nome. Consulte Usando Políticas do Ciclo de Vida do Objeto para obter mais informações.

Tipos de Recursos

Tipos de Recursos Individuais

objectstorage-namespaces

buckets

objects

Agregar Tipo de Recurso

object-family

Uma política que usa <verb> object-family é equivalente a gravar uma instrução <verb> <individual resource-type> separada para cada um dos tipos de recursos individuais.

Consulte a tabela em Detalhes para Combinações de Verbo + Resource-Type para obter um detalhamento das operações da API abrangidas por cada verbo, para cada resource-type individual incluído em object-family.

Tipo de Recurso Individual Adicional para Data Transfer

data-transfer-jobs

Variáveis Suportadas

O serviço Object Storage suporta todas as variáveis gerais (consulte Variáveis Gerais para Todas as Solicitações), além das listadas aqui:

Operações para Este Tipo de Recurso... Pode Usar Esta Variável Tipo de variável Comentários
buckets e objects target.bucket.name String e Padrões Use esta variável para controlar o acesso a um bucket específico. Para obter uma política de exemplo, consulte Permitir que os usuários gravem objetos em buckets do serviço Object Storage. Importante: A correspondência de condições não faz distinção entre maiúsculas e minúsculas. Se você tiver um bucket chamado "BucketA" e um bucket chamado "bucketA", a condição where target.bucket.name="BucketA" será aplicada a ambos. Para evitar possíveis problemas com nomes de recursos na política, dê nomes distintos aos seus recursos.
buckets e objects target.bucket.tag.<TagNamespace>.<TagKeyDefinition> String Use esta variável para controlar o acesso aos buckets que têm a tag específica. Consulte Permitir que os usuários gravem objetos em buckets do serviço Object Storage. Importante: Você não pode usar essa variável para operações CreateBucket e operações que envolvam vários períodos, como ListBucket.
objects target.object.name String e Padrões Use essa variável para controlar o acesso a um objeto ou padrões de objeto específicos.
Observação

As variáveis request.ipv4.ipaddress e request.vcn.id estão obsoletas. Em vez de usar essas variáveis, crie uma origem de rede para especificar uma faixa de endereços IP ou um ID de VCN específico. Em seguida, você pode usar a origem de rede em sua política para restringir o acesso apenas a solicitações provenientes das redes permitidas. Para obter mais informações, consulte Visão Geral de Origens de Rede.

Detalhes para Combinações de Verbo + Tipo de Recurso

As tabelas a seguir mostram as permissões e operações de API abrangidas por cada verbo. O nível de acesso é cumulativo à medida que você vai de inspect > read > use > manage. Um sinal de mais (+) em uma célula da tabela indica o acesso incremental comparado à célula diretamente acima dela, enquanto "sem extra" indica acesso incremental.

Para Tipos de Recursos object-family

objectstorage-namespaces
Verbos Permissões APIs Totalmente Abrangidas APIs Parcialmente Abrangidas
read

Nenhum

GetNamespace

none

manage

OBJECTSTORAGE_NAMESPACE_READ

OBJECTSTORAGE_NAMESPACE_UPDATE

GetNamespace com parâmetro compartmentId opcional

GetNamespaceMetadata

UpdateNamespaceMetadata

none
buckets
Verbos Permissões APIs Totalmente Abrangidas APIs Parcialmente Abrangidas
inspect

BUCKET_INSPECT

HeadBucket

ListBuckets

none

read

INSPECT +

BUCKET_READ

INSPECT +

GetBucket

ListMultipartUploads

GetObjectLifecyclePolicy

GetRetentionRule

ListRetentionRules

GetReplicationPolicy

ListReplicationPolicies

ListReplicationSources

none

use

READ +

BUCKET_UPDATE

READ +

UpdateBucket

DeleteObjectLifecyclePolicy

ReencryptBucket

PutObjectLifecyclePolicy
manage

USE +

BUCKET_CREATE

BUCKET_DELETE

PAR_MANAGE

RETENTION_RULE_MANAGE

RETENTION_RULE_LOCK (se estiver usando o bloqueio de regra opcional)

USE +

CreateBucket

DeleteBucket

CreatePreauthenticatedRequest

GetPreauthenticatedRequest

ListPreauthenticatedRequest

DeletePreauthenticatedRequest

CreateRetentionRule

UpdateRetentionRule

DeleteRetentionRule

CreateReplicationPolicy, DeleteReplicationPolicy, MakeBucketWritable (estas operações também precisam de manage objects)

objects
Verbos Permissões APIs Totalmente Abrangidas APIs Parcialmente Abrangidas
inspect

OBJECT_INSPECT

HeadObject

ListObjects

ListMultipartUploadParts

none

read

INSPECT +

OBJECT_READ

INSPECT +

GetObject

none

use

READ +

OBJECT_OVERWRITE

READ +

ReencryptObject

READ +

PutObject (USE permite que PutObject substitua objetos existentes, mas a criação de um novo objeto também requer OBJECT_CREATE)

CreateMultipartUpload, UploadPart, CommitMultipartUpload (estas operações também precisam de 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 (também precisa de manage objects)

CreateReplicationPolicy, DeleteReplicationPolicy, MakeBucketWritable (estas operações também precisam de manage buckets)

 
data-transfer-jobs

As políticas para jobs de transferência de dados também exigem o gerenciamento de objetos ou o gerenciamento de objetos e o gerenciamento de buckets. Consulte Criando Usuários, Grupos e Políticas Obrigatórias do Serviço IAM para obter detalhes.

Verbos Permissões APIs Totalmente Abrangidas APIs Parcialmente Abrangidas
inspect

TRANSFER_JOB_INSPECT

no customer-facing API

no customer-facing API

read

INSPECT +

TRANSFER_JOB_READ

INSPECT +

no customer-facing API

no customer-facing API

use

READ +

TRANSFER_JOB_UPDATE

READ +

no customer-facing API

READ +

no customer-facing API

manage

USE +

TRANSFER_JOB_CREATE

TRANSFER_JOB_DELETE

USE +

no customer-facing API

USE +

no customer-facing API

Permissões Exigidas para Cada Operação de API

A tabela a seguir lista as operações de API em uma ordem lógica, agrupadas por tipo de recurso.

Para obter informações sobre permissões, consulte Permissões.

Operação da API Permissões Necessárias para Usar a Operação
GetNamespace

A API não requer permissões e retorna o namespace do chamador. Use a API para validar suas credenciais.

A permissão OBJECTSTORAGE_NAMESPACE_READ será necessária se você incluir o parâmetro compartmentId opcional. Use o parâmetro compartmentId para determinar o namespace de uma tenancy de terceiros.

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

A permissão necessária depende se o objeto já existe ou não no bucket:

  • O OBJECT_CREATE é necessário quando um objeto com esse nome ainda não existe no bucket.
  • O OBJECT_OVERWRITE é necessário quando um objeto com esse nome já existe no bucket.
RenameObject OBJECT_CREATE e 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 e OBJECT_OVERWRITE
UploadPart OBJECT_CREATE e OBJECT_OVERWRITE
CommitMultipartUpload OBJECT_CREATE e 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 e 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 e 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, and BUCKET_UPDATE
GetReplicationPolicy BUCKET_READ
DeleteReplicationPolicy OBJECT_READ, OBJECT_CREATE, OBJECT_OVERWRITE, OBJECT_INSPECT, OBJECT_DELETE, OBJECT_RESTORE, BUCKET_READ, and BUCKET_UPDATE
ListReplicationPolicies BUCKET_READ
ListReplicationSources BUCKET_READ
MakeBucketWritable OBJECT_READ, OBJECT_CREATE, OBJECT_OVERWRITE, OBJECT_INSPECT, OBJECT_DELETE, BUCKET_READ, and BUCKET_UPDATE