Detalhes do Serviço Object Storage e Archive Storage
Este tópico abrange detalhes de gravação de políticas para controlar o acesso ao serviço Archive Storage e ao Object Storage.
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
.
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. 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 buckets, 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. |
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
. Por exemplo, um grupo que pode usar um recurso também pode inspecionar e ler esse recurso. 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
Verbos | Permissões | APIs Totalmente Abrangidas | APIs Parcialmente Abrangidas |
---|---|---|---|
read | OBJECTSTORAGE_NAMESPACE_READ | GetNamespace
|
none |
use | OBJECTSTORAGE_NAMESPACE_READ | GetNamespace |
none |
manage | OBJECTSTORAGE_NAMESPACE_READ OBJECTSTORAGE_NAMESPACE_UPDATE |
GetNamespace com parâmetro compartmentId opcional
|
none |
Verbos | Permissões | APIs Totalmente Abrangidas | APIs Parcialmente Abrangidas |
---|---|---|---|
inspect | BUCKET_INSPECT |
|
none |
read | INSPECT + BUCKET_READ |
INSPECT +
|
none |
use | READ + BUCKET_UPDATE |
READ +
|
PutObjectLifecyclePolicy
|
manage | USE + BUCKET_CREATE BUCKET_DELETE PAR_MANAGE RETENTION_RULE_MANAGE RETENTION_RULE_LOCK (se estiver usando o bloqueio de regra opcional) |
USE +
|
|
Verbos | Permissões | APIs Totalmente Abrangidas | APIs Parcialmente Abrangidas |
---|---|---|---|
inspect | OBJECT_INSPECT |
|
none |
read | INSPECT + OBJECT_READ |
INSPECT +
|
none |
use | READ + OBJECT_OVERWRITE |
READ +
|
READ +
|
manage | USE + OBJECT_CREATE OBJECT_DELETE OBJECT_VERSION_DELETE OBJECT_RESTORE OBJECT_UPDATE_TIER |
USE +
|
|
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 |
GetNamespaceMetadata
|
OBJECTSTORAGE_NAMESPACE_READ |
UpdateNamespaceMetadata
|
OBJECTSTORAGE_NAMESPACE_UPDATE |
CreateBucket
|
BUCKET_CREATE Se o ID da Chave KMS for fornecido para a operação, as seguintes permissões adicionais serão necessárias:
|
UpdateBucket
|
BUCKET_UPDATE Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> também deve ter: KEY_ENCRYPT e KEY_DECRYPT. |
GetBucket
|
BUCKET_READ Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> deve ter KEY_DECRYPT. |
HeadBucket
|
BUCKET_INSPECT Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> deve ter KEY_DECRYPT. |
ListBuckets
|
BUCKET_INSPECT |
DeleteBucket
|
BUCKET_DELETE |
ReencryptBucket
|
BUCKET_UPDATE O assunto objectstorage-<location> também deve ter: KEY_ENCRYPT e KEY_DECRYPT. |
PutObject
|
A permissão necessária depende se o objeto já existe no bucket:
Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> deve ter KEY_ENCRYPT. |
RenameObject
|
OBJECT_CREATE e OBJECT_OVERWRITE |
GetObject
|
OBJECT_READ Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> deve ter KEY_DECRYPT. |
HeadObject
|
OBJECT_READ ou OBJECT_INSPECT Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> deve ter KEY_DECRYPT. |
DeleteObject
|
OBJECT_DELETE |
DeleteObjectVersion
|
OBJECT_VERSION_DELETE |
ListObjects
|
OBJECT_INSPECT |
ListObjectVersions |
OBJECT_INSPECT |
ReencryptObject
|
OBJECT_READ, OBJECT_OVERWRITE Para um bucket criptografado de chave gerenciado pelo cliente, são necessárias as seguintes permissões:
|
RestoreObjects
|
OBJECT_RESTORE |
UpdateObjectStorageTier |
OBJECT_UPDATE_TIER |
CreateMultipartUpload
|
OBJECT_CREATE e OBJECT_OVERWRITE Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> deve ter KEY_ENCRYPT. |
UploadPart
|
OBJECT_CREATE e OBJECT_OVERWRITE Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> deve ter KEY_ENCRYPT. |
CommitMultipartUpload
|
BUCKET_READ, OBJECT_CREATE, OBJECT_READ 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 Além disso, o assunto objectstorage-<location> também deve ter: BUCKET_INSPECT, BUCKET_READ, OBJECT_INSPECT. Se o bucket ao qual a política de ciclo de vida se aplica for um bucket criptografado de chave gerenciada pelo cliente, o assunto objectstorage-<location> também deverá ter: KEY_ENCRYPT e KEY_DECRYPT. Se a operação |
GetObjectLifecyclePolicy
|
BUCKET_READ Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> deve ter KEY_DECRYPT. |
DeleteObjectLifecyclePolicy
|
BUCKET_UPDATE Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> também deve ter: KEY_ENCRYPT e KEY_DECRYPT. |
CreateRetentionRule
|
BUCKET_UPDATE e RETENTION_RULE_MANAGE (e RETENTION_RULE_LOCK) Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> também deve ter: KEY_ENCRYPT e KEY_DECRYPT. |
GetRetentionRule
|
BUCKET_READ |
ListRetentionRule
|
BUCKET_READ |
UpdateRetentionRule
|
BUCKET_UPDATE e RETENTION_RULE_MANAGE (e RETENTION_RULE_LOCK) Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> também deve ter: KEY_ENCRYPT e KEY_DECRYPT. |
DeleteRetentionRule
|
BUCKET_UPDATE e RETENTION_RULE_MANAGE Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> também deve ter: KEY_ENCRYPT e KEY_DECRYPT. |
CopyObjectRequest
|
OBJECT_READ, e a segunda permissão de usuário necessária depende se o objeto já existe no bucket:
Além disso, o assunto objectstorage-<location> requer OBJECT_READ. Para um bucket criptografado de chave gerenciado pelo cliente, o assunto objectstorage-<location> também deve ter 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, and BUCKET_UPDATE O objeto objectstorage-<location> deve ter as mesmas permissões que o usuário. |
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 |