Detalles de Vault, Key Management y Secrets
En este tema, se tratan los detalles de la escritura de políticas para controlar el acceso al servicio Vault.
Tipos de recursos Individuales
vaults
keys
key-delegate
hsm-cluster
secrets
secret-versions
secret-bundles
secret-replication
Tipo de recurso agregado
secret-family
Una política que utiliza <verb> secret-family
equivale a escribir una política con una sentencia <verb> <individual resource-type>
independiente para cada uno de los tipos de recursos secret individuales. (Los tipos de recursos secretos solo incluyen secrets
, secret-versions
y secret-bundles
). Tenga en cuenta que el tipo de recurso secret-replication
NO está incluido en el verbo secret-family
).
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 secret-family
.
Variables soportadas
Vault soporta todas las variables generales, además de las que se muestran aquí. Para obtener más información sobre las variables generales soportadas por los servicios de Oracle Cloud Infrastructure, consulte Variables generales para todas las solicitudes.
Variable | Tipo de variable | Comentarios |
---|---|---|
request.includePlainTextKey
|
Cadena | Utilice esta variable para controlar si devolver la clave de texto sin formato, además de la clave cifrada, en respuesta a una solicitud para generar una clave de cifrado de datos. |
request.kms-key.id
|
Cadena | Utilice esta variable para controlar si los volúmenes en bloque o los cubos se pueden crear sin una clave de cifrado maestra de Vault. |
target.boot-volume.kms-key.id
|
Cadena | Utilice esta variable para controlar si las instancias de Compute se pueden iniciar con volúmenes de inicio creados sin una clave de cifrado maestra de Vault. |
target.key.id
|
Entidad (OCID) | Utilice esta variable para controlar el acceso a claves específicas por OCID. |
target.vault.id
|
Entidad (OCID) | Utilice esta variable para controlar el acceso a almacenes específicos por OCID. |
target.secret.name
|
Cadena | Utilice esta variable para controlar el acceso a secretos, versiones de secretos y grupos de secretos específicos por nombre. |
target.secret.id
|
Entidad (OCID) | Utilice esta variable para controlar el acceso a secretos, versiones de secretos y grupos de secretos específicos por OCID. |
Detalles para 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
. Por ejemplo, un grupo que puede utilizar un recurso también puede inspeccionar y leer ese recurso. 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.
Por ejemplo, el verbo use
para el tipo de recurso keys
incluye los mismos permisos y operaciones de API que el verbo read
, además de los permisos KEY_ENCRYPT y KEY_DECRYPT y una serie de operaciones de API (Encrypt
, Decrypt
y GenerateDataEncryptionKey
). El verbo manage
permite aún más permisos y operaciones de API en comparación con el verbo use
.
Verbos | Permisos | API totalmente cubiertas | API parcialmente cubiertas |
---|---|---|---|
inspect | VAULT_INSPECT |
ListVaults
|
ninguna |
read | INSPECT + VAULT_READ |
INSPECT +
|
ninguna |
use | READ + VAULT_CREATE_KEY VAULT_IMPORT_KEY VAULT_CREATE_SECRET |
no extra |
|
manage | USE + VAULT_CREATE VAULT_UPDATE VAULT_DELETE VAULT_MOVE VAULT_BACKUP VAULT_RESTORE VAULT_REPLICATE |
USE +
|
ninguna |
Verbos | Permisos | API totalmente cubiertas | API parcialmente cubiertas |
---|---|---|---|
inspect | KEY_INSPECT |
|
ninguna |
read | INSPECT + KEY_READ |
INSPECT +
|
ninguna |
use | READ + KEY_ENCRYPT KEY_DECRYPT KEY_EXPORT KEY_SIGN KEY_VERIFY |
READ +
|
ninguna |
manage | USE + KEY_CREATE KEY_UPDATE KEY_ROTATE KEY_DELETE KEY_MOVE KEY_IMPORT KEY_BACKUP KEY_RESTORE |
USE +
|
|
Los permisos de clave delegada se utilizan para permitir que los servicios de OCI integrados utilicen una clave específica en un compartimento específico. Por ejemplo, puede utilizar este tipo de permiso para permitir al servicio Object Storage crear o actualizar un cubo cifrado, así como para permitir que el servicio cifre o descifre los datos del cubo. Los usuarios a los que se han otorgado permisos de delegado no tienen permiso para utilizar la clave especificada en sí, sino que tienen permiso para permitir que los servicios especificados utilicen la clave. Consulte las siguientes políticas comunes para obtener más información:
- Permitir a un grupo de usuarios delegar el uso de claves en un compartimento
- Permitir que un grupo dinámico delegue el uso de claves en un compartimento
- Permitir que los servicios Block Volume, Object Storage, Kubernetes Engine y Streaming cifren y descifren volúmenes, copias de seguridad de volúmenes, cubos, secretos de Kubernetes y pools de flujos
Verbos | Permisos | API totalmente cubiertas | API parcialmente cubiertas |
---|---|---|---|
use | KEY_ASSOCIATE KEY_DISASSOCIATE |
|
ninguna |
Verbos | Permisos | API totalmente cubierta | API parcialmente cubierta |
---|---|---|---|
Inspeccionar |
HSM_CLUSTER_INSPECT |
ListHsmClusters ListHsmPartitions |
Ninguno |
read |
INSPECT + HSM_CLUSTER_READ |
GetHsmCluster GetHsmPartition |
Ninguno |
use |
READ + HSM_CLUSTER_UPDATE |
GetPreCoUserCredentials DownloadCertificateSigningRequest UpdateHsmCluster UploadPartitionCertificates |
Ninguno |
manage |
USE + HSM_CLUSTER_DELETE HSM_CLUSTER_CREATE HSM_CLUSTER_MOVE |
CreateHsmCluster ChangeHsmClusterCompartment ScheduleHsmClusterDeletion CancelHsmClusterDeletion |
Ninguno |
Verbos | Permisos | API totalmente cubiertas | API parcialmente cubiertas |
---|---|---|---|
inspect | SECRET_INSPECT |
ListSecrets
|
ninguna |
read | INSPECT + SECRET_READ |
INSPECT +
|
ninguna |
use | READ + SECRET_UPDATE |
READ +
|
READ +
|
manage | USE + SECRET_CREATE SECRET_DELETE SECRET_MOVE SECRET_ROTATE SECRET_REPLICATE_CONFIGURE |
USE +
|
USE +
|
Verbos | Permisos | API totalmente cubiertas | API parcialmente cubiertas |
---|---|---|---|
use | SECRET_REPLICATE |
none
|
permiso necesario que se debe otorgar a una entidad de recurso vaultsecret para permitir la replicación de secretos entre regiones. |
Verbos | Permisos | API totalmente cubiertas | API parcialmente cubiertas |
---|---|---|---|
inspect | SECRET_VERSION_INSPECT |
ListSecretVersions
|
ninguna |
read | INSPECT + SECRET_VERSION_READ |
INSPECT +
|
ninguna |
manage | READ + SECRET_VERSION_DELETE |
no extra |
|
Verbos | Permisos | API totalmente cubiertas | API parcialmente cubiertas |
---|---|---|---|
inspect | SECRET_BUNDLE_INSPECT |
ListSecretBundles
|
ninguna |
read | INSPECT + SECRET_BUNDLE_READ |
INSPECT +
|
ninguna |
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 |
---|---|
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 y 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 y VAULT_IMPORT_KEY |
ImportKeyVersion
|
KEY_IMPORT |
ExportKey
|
KEY_EXPORT |
GenerateDataEncryptionKey
|
KEY_ENCRYPT (Utilice KEY_ASSOCIATE al delegar permiso a un servicio integrado) |
Encrypt
|
KEY_ENCRYPT (Utilice KEY_ASSOCIATE al delegar permiso a un servicio integrado) |
Decrypt
|
KEY_DECRYPT (Utilice KEY_ASSOCIATE al delegar permiso a un servicio integrado) |
Sign |
KEY_SIGN |
Verify |
KEY_VERIFY |
CreateSecret
|
KEY_ENCRYPT, KEY_DECRYPT, SECRET_CREATE y VAULT_CREATE_SECRET (agregue SECRET_REPLICATE_CONFIGURE para permitir la configuración de la replicación entre regiones en la región del secreto de origen) |
UpdateSecret
|
SECRET_UPDATE (agregue SECRET_REPLICATE_CONFIGURE para permitir la configuración de la replicación entre regiones en la región del secreto de origen) |
ListSecrets
|
SECRET_INSPECT |
GetSecret
|
SECRET_READ |
RotateSecret |
SECRET_ROTATE |
ScheduleSecretDeletion
|
SECRET_DELETE |
ChangeSecretCompartment
|
SECRET_MOVE y SECRET_UPDATE |
ListSecretVersions
|
SECRET_VERSION_INSPECT |
GetSecretVersion
|
SECRET_VERSION_READ |
ScheduleSecretVersionDeletion
|
SECRET_VERSION_DELETE y SECRET_UPDATE |
CancelSecretVersionDeletion
|
SECRET_VERSION_DELETE y SECRET_UPDATE |
ListSecretBundles
|
SECRET_BUNDLE_INSPECT |
GetSecretBundle
|
SECRET_BUNDLE_READ |
GetSecretBundleByName
|
SECRET_BUNDLE_READ |
ScheduleSecretVersionDeletion
|
SECRET_VERSION_DELETE y SECRET_UPDATE |
CancelSecretVersionDeletion
|
SECRET_VERSION_DELETE y 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 |