Detalhes do Vault, Gerenciamento de Chaves e Segredos

Este tópico abrange detalhes de gravação de políticas para controlar o acesso ao serviço Vault.

Tipos de Recursos Individuais

vaults

keys

key-delegate

hsm-cluster

secrets

secret-versions

secret-bundles

secret-replication

Agregar Tipo de Recurso

secret-family

Uma política que usa <verb> secret-family é equivalente a gravar uma instrução <verb> <individual resource-type> separada para cada um dos tipos de recursos de segredo individuais. (Os tipos de recursos secretos incluem apenas secrets, secret-versions e secret-bundles. Observe que o tipo de recurso secret-replication NÃO está incluído no verbo secret-family.)

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 secret-family.

Variáveis Suportadas

O serviço Vault suporta todas as variáveis gerais, além das listadas aqui. Para obter mais informações sobre variáveis gerais suportadas pelos serviços Oracle Cloud Infrastructure, consulte Variáveis Gerais para Todas as Solicitações.

Variável Tipo de variável Comentários
request.includePlainTextKey String Use esta variável para controlar se a chave de texto sem formatação será retornada além da chave criptografada em resposta a uma solicitação para gerar uma chave de criptografia de dados.
request.kms-key.id String Use esta variável para controlar se volumes em blocos ou buckets podem ser criados sem uma chave de criptografia mestra do serviço Vault.
target.boot-volume.kms-key.id String Use esta variável para controlar se as instâncias do serviço Compute podem ser iniciadas com volumes de inicialização que foram criados sem uma chave de criptografia mestra do serviço Vault.
target.key.id Entidade (OCID) Use esta variável para controlar o acesso a chaves específicas por OCID.
target.vault.id Entidade (OCID) Use esta variável para controlar o acesso a vaults específicos por OCID.
target.secret.name String Use esta variável para controlar o acesso a segredos, versões de segredos e pacotes de segredos específicos por nome.
target.secret.id Entidade (OCID) Use esta variável para controlar o acesso a segredos, versões de segredos e pacotes de segredos específicos pelo OCID.

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.

Por exemplo, o verbo use do tipo de recurso keys inclui as mesmas permissões e operações de API que o verbo read, além das permissões KEY_ENCRYPT e KEY_DECRYPT e diversas operações de API (Encrypt, Decrypt e GenerateDataEncryptionKey). O verbo manage permite ainda mais permissões e operações de API em comparação com o verbo use.

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

VAULT_INSPECT

ListVaults

none

read

INSPECT +

VAULT_READ

INSPECT +

GetVault

GetVaultUsage

none

use

READ +

VAULT_CREATE_KEY

VAULT_IMPORT_KEY

VAULT_CREATE_SECRET

sem extra

 

CreateKey (também precisa de manage keys)

ImportKey (também precisa de manage keys)

CreateSecret (também precisa de manage secrets)

manage

USE +

VAULT_CREATE

VAULT_UPDATE

VAULT_DELETE

VAULT_MOVE

VAULT_BACKUP

VAULT_RESTORE

VAULT_REPLICATE

USE +

CreateVault

UpdateVault

ScheduleVaultDeletion

CancelVaultDeletion

ChangeVaultCompartment

BackupVault

RestoreVaultFromFile

RestoreVaultFromObjectStore

CreateVaultReplica

DeleteVaultReplica

none

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

KEY_INSPECT

ListKeys

ListKeyVersions

none

read

INSPECT +

KEY_READ

INSPECT +

GetKey

GetKeyVersion

none

use

READ +

KEY_ENCRYPT

KEY_DECRYPT

KEY_EXPORT

KEY_SIGN

KEY_VERIFY

READ +

Encrypt

Decrypt

ExportKey

Sign

Verify

none

manage

USE +

KEY_CREATE

KEY_UPDATE

KEY_ROTATE

KEY_DELETE

KEY_MOVE

KEY_IMPORT

KEY_BACKUP

KEY_RESTORE

USE +

UpdateKey

CreateKeyVersion

CancelKeyDeletion

ChangeKeyCompartment

ImportKeyVersion

BackupKey

RestoreKeyFromFile

RestoreKeyFromObjectStore

CreateKey (também precisa de use vaults)

ImportKey (também precisa de use vaults)

key-delegate
Nota

As permissões de delegação de chaves são usadas para permitir que os serviços integrados do OCI usem uma chave específica em um compartimento específico. Por exemplo, você pode usar esse tipo de permissão para permitir que o serviço Object Storage crie ou atualize um bucket criptografado e para permitir que o serviço criptografe ou decriptografe dados no bucket. Os usuários com permissões delegadas não têm permissão para usar a própria chave especificada, mas têm permissão para permitir que serviços especificados usem a chave. Consulte as seguintes políticas comuns para obter detalhes:

Verbos Permissões APIs Totalmente Abrangidas APIs Parcialmente Abrangidas
use

KEY_ASSOCIATE

KEY_DISASSOCIATE

Encrypt

GenerateDataEncryptionKey

Decrypt

none

hsm-cluster
Verbos Permissões API Totalmente Coberta API Parcialmente Coberta
Inspecionar

HSM_CLUSTER_INSPECT

ListHsmClusters

ListHsmPartitions

Nenhum

read

INSPECT +

HSM_CLUSTER_READ

GetHsmCluster

GetHsmPartition

Nenhum

use

READ +

HSM_CLUSTER_UPDATE

GetPreCoUserCredentials

DownloadCertificateSigningRequest

UpdateHsmCluster

UploadPartitionCertificates

Nenhum

manage

USE +

HSM_CLUSTER_DELETE

HSM_CLUSTER_CREATE

HSM_CLUSTER_MOVE

CreateHsmCluster

ChangeHsmClusterCompartment

ScheduleHsmClusterDeletion

CancelHsmClusterDeletion

Nenhum

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

SECRET_INSPECT

ListSecrets

none

read

INSPECT +

SECRET_READ

INSPECT +

GetSecret

none

use

READ +

SECRET_UPDATE

READ +

Rotate

CancelRotation

READ +

UpdateSecret (somente para o recurso de replicação de segredo entre regiões, também precisa da permissão manage secrets ou SECRET_REPLICATE_CONFIGURE)

ChangeSecretCompartment (também precisa de manage secrets)

ScheduleSecretVersionDeletion (também precisa de manage secret-versions)

CancelSecretVersionDeletion (também precisa de manage secret-versions)

manage

USE +

SECRET_CREATE

SECRET_DELETE

SECRET_MOVE

SECRET_ROTATE

SECRET_REPLICATE_CONFIGURE

USE +

ScheduleSecretDeletion

CancelSecretDeletion

RotateSecret

USE +

CreateSecret (também precisa de use vaults)

ChangeSecretCompartment (também precisa de use secrets)

secret-replication
Verbos Permissões APIs Totalmente Abrangidas APIs Parcialmente Abrangidas
use

SECRET_REPLICATE

none

a permissão necessária a ser concedida a um controlador de recursos vaultsecret para permitir a replicação de segredo entre regiões.

secret-versions
Verbos Permissões APIs Totalmente Abrangidas APIs Parcialmente Abrangidas
inspect

SECRET_VERSION_INSPECT

ListSecretVersions

none

read

INSPECT +

SECRET_VERSION_READ

INSPECT +

GetKeyVersion

none

manage

READ +

SECRET_VERSION_DELETE

sem extra

ScheduleSecretVersionDeletion (também precisa de use secrets)

CancelSecretVersionDeletion (também precisa de use secrets)

secret-bundles
Verbos Permissões APIs Totalmente Abrangidas APIs Parcialmente Abrangidas
inspect

SECRET_BUNDLE_INSPECT

ListSecretBundles

none

read

INSPECT +

SECRET_BUNDLE_READ

INSPECT +

GetSecretBundle

none

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
ListVaults VAULT_INSPECT
GetVault VAULT_READ
CreateVault VAULT_CREATE
UpdateVault VAULT_UPDATE
ScheduleVaultDeletion VAULT_DELETE
CancelVaultDeletion VAULT_DELETE
ChangeVaultCompartment VAULT_MOVE
BackupVault VAULT_BACKUP
RestoreVaultFromFile VAULT_RESTORE
RestoreVaultFromObjectStore VAULT_RESTORE
ListVaultReplicas VAULT_INSPECT
CreateVaultReplica VAULT_REPLICATE
DeleteVaultReplica VAULT_REPLICATE
GetVaultUsage VAULT_READ
ListKeys KEY_INSPECT
ListKeyVersions KEY_INSPECT
GetKey KEY_READ
CreateKey KEY_CREATE e VAULT_CREATE_KEY
EnableKey KEY_UPDATE
DisableKey KEY_UPDATE
UpdateKey KEY_UPDATE
ScheduleKeyDeletion KEY_DELETE
CancelKeyDeletion KEY_DELETE
ChangeKeyCompartment KEY_MOVE
BackupKey KEY_BACKUP
RestoreKeyFromFile KEY_RESTORE
RestoreKeyFromObjectStore KEY_RESTORE
GetKeyVersion KEY_READ
CreateKeyVersion KEY_ROTATE
ImportKey KEY_IMPORT e VAULT_IMPORT_KEY
ImportKeyVersion KEY_IMPORT
ExportKey KEY_EXPORT
GenerateDataEncryptionKey KEY_ENCRYPT (Use KEY_ASSOCIATE ao delegar permissão a um serviço integrado)
Encrypt KEY_ENCRYPT (Use KEY_ASSOCIATE ao delegar permissão a um serviço integrado)
Decrypt KEY_DECRYPT (Use KEY_ASSOCIATE ao delegar permissão a um serviço integrado)
Sign KEY_SIGN
Verify KEY_VERIFY
CreateSecret KEY_ENCRYPT, KEY_DECRYPT, SECRET_CREATE e VAULT_CREATE_SECRET (adicione SECRET_REPLICATE_CONFIGURE para permitir a configuração da replicação entre regiões na região do segredo de origem)
UpdateSecret SECRET_UPDATE (adicione SECRET_REPLICATE_CONFIGURE para permitir a configuração da replicação entre regiões na região do segredo de origem)
ListSecrets SECRET_INSPECT
GetSecret SECRET_READ
RotateSecret SECRET_ROTATE
ScheduleSecretDeletion SECRET_DELETE
ChangeSecretCompartment SECRET_MOVE e SECRET_UPDATE
ListSecretVersions SECRET_VERSION_INSPECT
GetSecretVersion SECRET_VERSION_READ
ScheduleSecretVersionDeletion SECRET_VERSION_DELETE e SECRET_UPDATE
CancelSecretVersionDeletion SECRET_VERSION_DELETE e SECRET_UPDATE
ListSecretBundles SECRET_BUNDLE_INSPECT
GetSecretBundle SECRET_BUNDLE_READ
GetSecretBundleByName SECRET_BUNDLE_READ
ScheduleSecretVersionDeletion SECRET_VERSION_DELETE e SECRET_UPDATE
CancelSecretVersionDeletion SECRET_VERSION_DELETE e SECRET_UPDATE
ListSecretBundles SECRET_BUNDLE_INSPECT
GetSecretBundle SECRET_BUNDLE_READ
GetSecretBundleByName SECRET_BUNDLE_READ
CreateHsmCluster HSM_CLUSTER_CREATE
GetHsmCluster HSM_CLUSTER_READ
GetHsmPartition HSM_CLUSTER_READ
GetPreCoUserCredentials HSM_CLUSTER_UPDATE
DownloadCertificateSigningRequest HSM_CLUSTER_UPDATE
UpdateHsmCluster HSM_CLUSTER_UPDATE
ChangeHsmClusterCompartment HSM_CLUSTER_MOVE
UploadPartitionOwnerCertificate HSM_CLUSTER_UPDATE
ScheduleHsmClusterDeletion HSM_CLUSTER_DELETE
CancelDeletion HSM_CLUSTER_DELETE
ListHsmClusters HSM_CLUSTER_INSPECT
ListHsmPartitions HSM_CLUSTER_INSPECT