Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cree SecretClient con las credenciales de autenticación mediante programación adecuadas y, a continuación, use el cliente para establecer, actualizar y rotar un secreto en Azure Key Vault.
Establecimiento de un secreto
Para establecer un secreto en Azure Key Vault, use el método setSecret de la clase SecretClient .
El tipo de valor secreto es una cadena. El valor inicial puede ser cualquier elemento que se pueda serializar en una cadena como datos codificados en JSON o BASE64. Debe proporcionar la serialización antes de establecer el secreto en Key Vault y la deserialización después de obtener el secreto de Key Vault.
const name = 'mySecret';
const value = 'mySecretValue'; // or JSON.stringify({'key':'value'})
const { name, value, properties } = await client.setSecret(
secretName,
secretValue
);
Al crear el secreto, la respuesta KeyVaultSecret incluye un objeto SecretProperties que incluye los metadatos del secreto, como:
createdOn
: fecha y hora UTC en que se creó el secreto.id
: dirección URL completa del secreto.recoverableDays
: número de días que el secreto se puede recuperar después de la eliminación.recoveryLevel
: los valores incluyen: 'Purgable', 'Recoverable+Purgeable', 'Recoverable', 'Recoverable+ProtectedSubscription'.updatedOn
: fecha y hora UTC en que se actualizó por última vez el secreto.version
: versión del secreto.
Establecimiento de un secreto con propiedades
Use el método setSecret de la clase SecretClient con SetSecretOptions para incluir parámetros opcionales que residen con el secreto, como:
contentType
: Su representación y comprensión del tipo de contenido del secreto. Las sugerencias para su uso incluyen un tipo nativo, su propio tipo TypeScript personalizado o un tipo MIME. Este valor es visible en Azure Portal.enabled
: el valor predeterminado es true.expiresOn
: fecha y hora UTC en que expira el secreto.notBefore
: fecha y hora UTC antes de las cuales no se puede usar el secreto.tags
: pares de nombre y valor personalizados que puede usar para asociarse con el secreto.
const name = 'mySecret';
const value = JSON.stringify({
'mykey':'myvalue',
'myEndpoint':'https://myendpoint.com'
});
const secretOptions = {
// example options
contentType: 'application/json',
tags: {
project: 'test-cluster',
owner: 'jmclane',
team: 'devops'
}
};
const { name, value, properties } = await client.setSecret(
secretName,
secretValue,
secretOptions
);
Este método devuelve el objeto KeyVaultSecret .
Actualizar el valor del secreto
Para actualizar un valor secreto, use el método setSecret que se muestra en la sección anterior. Asegúrese de pasar el nuevo valor como una cadena y todas las propiedades que desea mantener de la versión actual del secreto. Las propiedades actuales que no se configuren en las llamadas adicionales a setSecret se perderán.
Esto genera una nueva versión de un secreto. El objeto SecretProperties devuelto incluye el nuevo identificador de versión.
Actualizar las propiedades del secreto
Para actualizar las propiedades de un secreto, use el método updateSecretProperties de la clase SecretClient. Las propiedades que no se especifican en la solicitud se dejan sin cambios. No se puede cambiar el valor de un secreto. Esta operación requiere el permiso secrets/set.
const name = 'mySecret';
// Update tags
const updatedTagName = 'existingTag';
const updatedTagValue = secret.properties.version.tags[updatedTagName] + ' additional information';
// Use version from existing secret
const version = secret.properties.version;
// Options to update
const secretOptions = {
tags: {
'newTag': 'newTagValue', // Set new tag
'updatedTag': updatedTagValue // Update existing tag
},
enabled: false
}
// Update secret's properties - doesn't change secret name or value
const properties = await client.updateSecretProperties(
secretName,
secretVersion,
secretOptions,
);
Este método devuelve el objeto SecretProperties .
Rotación de un secreto
Para alternar un secreto, debe crear una suscripción de eventos de Event Grid para el evento SecretNearExpiry y proporcionar la funcionalidad de alternación a la que se debería llamar con los desencadenadores de eventos. Use uno de los siguientes tutoriales Automatizar la rotación de un secreto para los recursos que usan: