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
.
Verbos | Permissões | APIs Totalmente Abrangidas | APIs Parcialmente Abrangidas |
---|---|---|---|
inspect | VAULT_INSPECT |
ListVaults
|
none |
read | INSPECT + VAULT_READ |
INSPECT +
|
none |
use | READ + VAULT_CREATE_KEY VAULT_IMPORT_KEY VAULT_CREATE_SECRET |
sem extra |
|
manage | USE + VAULT_CREATE VAULT_UPDATE VAULT_DELETE VAULT_MOVE VAULT_BACKUP VAULT_RESTORE VAULT_REPLICATE |
USE +
|
none |
Verbos | Permissões | APIs Totalmente Abrangidas | APIs Parcialmente Abrangidas |
---|---|---|---|
inspect | KEY_INSPECT |
|
none |
read | INSPECT + KEY_READ |
INSPECT +
|
none |
use | READ + KEY_ENCRYPT KEY_DECRYPT KEY_EXPORT KEY_SIGN KEY_VERIFY |
READ +
|
none |
manage | USE + KEY_CREATE KEY_UPDATE KEY_ROTATE KEY_DELETE KEY_MOVE KEY_IMPORT KEY_BACKUP KEY_RESTORE |
USE +
|
|
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:
- Permitir o uso de uma chave delegada do grupo de usuários em um compartimento
- Permitir o uso de uma chave delegada de grupo dinâmico em um compartimento
- Permitir que os serviços Block Volume, Object Storage, Kubernetes Engine e Streaming criptografem e decriptografem volumes, backups de volume, buckets, segredos do Kubernetes e pools de streams
Verbos | Permissões | APIs Totalmente Abrangidas | APIs Parcialmente Abrangidas |
---|---|---|---|
use | KEY_ASSOCIATE KEY_DISASSOCIATE |
|
none |
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 |
Verbos | Permissões | APIs Totalmente Abrangidas | APIs Parcialmente Abrangidas |
---|---|---|---|
inspect | SECRET_INSPECT |
ListSecrets
|
none |
read | INSPECT + SECRET_READ |
INSPECT +
|
none |
use | READ + SECRET_UPDATE |
READ +
|
READ +
|
manage | USE + SECRET_CREATE SECRET_DELETE SECRET_MOVE SECRET_ROTATE SECRET_REPLICATE_CONFIGURE |
USE +
|
USE +
|
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. |
Verbos | Permissões | APIs Totalmente Abrangidas | APIs Parcialmente Abrangidas |
---|---|---|---|
inspect | SECRET_VERSION_INSPECT |
ListSecretVersions
|
none |
read | INSPECT + SECRET_VERSION_READ |
INSPECT +
|
none |
manage | READ + SECRET_VERSION_DELETE |
sem extra |
|
Verbos | Permissões | APIs Totalmente Abrangidas | APIs Parcialmente Abrangidas |
---|---|---|---|
inspect | SECRET_BUNDLE_INSPECT |
ListSecretBundles
|
none |
read | INSPECT + SECRET_BUNDLE_READ |
INSPECT +
|
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 |