SecretAsyncClient Clase
- java.
lang. Object - com.
azure. security. keyvault. secrets. SecretAsyncClient
- com.
public final class SecretAsyncClient
SecretAsyncClient proporciona métodos asincrónicos para administrar KeyVaultSecret en azure Key Vault. El cliente admite la creación, recuperación, actualización, eliminación, purgación, copia de seguridad, restauración y enumeración de KeyVaultSecret. El cliente también admite la lista DeletedSecret de un almacén de claves habilitado para eliminación temporal.
Introducción
Para interactuar con el servicio azure Key Vault, deberá crear una instancia de la SecretAsyncClient clase, una dirección URL del almacén y un objeto de credencial.
Los ejemplos que se muestran en este documento usan un objeto de credencial denominado DefaultAzureCredential para la autenticación, que es adecuado para la mayoría de los escenarios, incluidos los entornos de desarrollo y producción locales. Además, se recomienda usar una identidad administrada para la autenticación en entornos de producción. Puede encontrar más información sobre las distintas formas de autenticación y sus tipos de credenciales correspondientes en la documentación de Identidad de Azure".
Ejemplo: Construcción de un cliente secreto asincrónico
SecretAsyncClient secretAsyncClient = new SecretClientBuilder()
.credential(new DefaultAzureCredentialBuilder().build())
.vaultUrl("<your-key-vault-url>")
.buildAsyncClient();
Crear un secreto
SecretAsyncClient se puede usar para crear un secreto en el almacén de claves.
Ejemplo de código:
En el ejemplo de código siguiente se muestra cómo crear y almacenar un secreto en el almacén de claves mediante la setSecret(String name, String value) API.
secretAsyncClient.setSecret("secretName", "secretValue")
.subscribe(secretResponse ->
System.out.printf("Secret is created with name %s and value %s%n",
secretResponse.getName(), secretResponse.getValue()));
Nota: Para el ejemplo sincrónico, consulte SecretClient.
Obtener un secreto
SecretAsyncClient se puede usar para recuperar un secreto del almacén de claves.
Ejemplo de código:
En el ejemplo de código siguiente se muestra cómo recuperar de forma sincrónica un secreto almacenado previamente desde el almacén de claves mediante la getSecret(String name) API.
secretAsyncClient.getSecret("secretName")
.subscribe(secretWithVersion ->
System.out.printf("Secret is returned with name %s and value %s %n",
secretWithVersion.getName(), secretWithVersion.getValue()));
Nota: Para el ejemplo sincrónico, consulte SecretClient.
Eliminar un secreto
SecretAsyncClient se puede usar para eliminar un secreto del almacén de claves.
Ejemplo de código:
En el ejemplo de código siguiente se muestra cómo eliminar un secreto del almacén de claves mediante la beginDeleteSecret(String name) API.
secretAsyncClient.beginDeleteSecret("secretName")
.subscribe(pollResponse -> {
System.out.println("Delete Status: " + pollResponse.getStatus().toString());
System.out.println("Deleted Secret Name: " + pollResponse.getValue().getName());
System.out.println("Deleted Secret Value: " + pollResponse.getValue().getValue());
});
Nota: Para el ejemplo sincrónico, consulte SecretClient.
Resumen del método
| Modificador y tipo | Método y descripción |
|---|---|
| Mono<byte[]> |
backupSecret(String name)
Solicita una copia de seguridad del secreto que se descargará en el cliente. |
| Mono<Response<byte[]>> |
backupSecretWithResponse(String name)
Solicita una copia de seguridad del secreto que se descargará en el cliente. |
|
Poller |
beginDeleteSecret(String name)
Elimina un secreto del almacén de claves. |
|
Poller |
beginRecoverDeletedSecret(String name)
Recupera el secreto eliminado en el almacén de claves a su versión más reciente. |
|
Mono<Deleted |
getDeletedSecret(String name)
Obtiene un secreto que se ha eliminado para un almacén de claves habilitado para eliminación temporal. |
|
Mono<Response<Deleted |
getDeletedSecretWithResponse(String name)
Obtiene un secreto que se ha eliminado para un almacén de claves habilitado para eliminación temporal. |
|
Mono<Key |
getSecret(String name)
Obtiene la versión más reciente del secreto especificado del almacén de claves. |
|
Mono<Key |
getSecret(String name, String version)
Obtiene el secreto especificado con la versión especificada del almacén de claves. |
|
Mono<Response<Key |
getSecretWithResponse(String name, String version)
Obtiene el secreto especificado con la versión especificada del almacén de claves. |
| String |
getVaultUrl()
Obtiene la dirección URL del punto de conexión del almacén a la que se envían las solicitudes de servicio. |
|
Paged |
listDeletedSecrets()
Listas DeletedSecret del almacén de claves si ha habilitado la eliminación temporal. |
|
Paged |
listPropertiesOfSecretVersions(String name)
Enumera todas las versiones del secreto especificado. |
|
Paged |
listPropertiesOfSecrets()
Enumera los secretos del almacén de claves. |
| Mono<Void> |
purgeDeletedSecret(String name)
Quita permanentemente un secreto eliminado, sin la posibilidad de recuperación. |
| Mono<Response<Void>> |
purgeDeletedSecretWithResponse(String name)
Quita permanentemente un secreto eliminado, sin la posibilidad de recuperación. |
|
Mono<Key |
restoreSecretBackup(byte[] backup)
Restaura un secreto de copia de seguridad y todas sus versiones en un almacén. |
|
Mono<Response<Key |
restoreSecretBackupWithResponse(byte[] backup)
Restaura un secreto de copia de seguridad y todas sus versiones en un almacén. |
|
Mono<Key |
setSecret(KeyVaultSecret secret)
Agrega un secreto al almacén de claves si no existe. |
|
Mono<Key |
setSecret(String name, String value)
Agrega un secreto al almacén de claves si no existe. |
|
Mono<Response<Key |
setSecretWithResponse(KeyVaultSecret secret)
Agrega un secreto al almacén de claves si no existe. |
|
Mono<Secret |
updateSecretProperties(SecretProperties secretProperties)
Novedades los atributos asociados al secreto. |
|
Mono<Response<Secret |
updateSecretPropertiesWithResponse(SecretProperties secretProperties)
Novedades los atributos asociados al secreto. |
Métodos heredados de java.lang.Object
Detalles del método
backupSecret
public Mono
Solicita una copia de seguridad del secreto que se descargará en el cliente. Se descargarán todas las versiones del secreto. Esta operación requiere el secrets/backup permiso .
Código de ejemplo
Realiza una copia de seguridad del secreto desde el almacén de claves. Se suscribe a la llamada de forma asincrónica e imprime la longitud de la matriz de bytes de copia de seguridad del secreto devuelta en la respuesta.
secretAsyncClient.backupSecret("secretName")
.subscribe(secretBackupResponse ->
System.out.printf("Secret's Backup Byte array's length %s%n", secretBackupResponse.length));
Parameters:
Returns:
backupSecretWithResponse
public Mono
Solicita una copia de seguridad del secreto que se descargará en el cliente. Se descargarán todas las versiones del secreto. Esta operación requiere el secrets/backup permiso .
Código de ejemplo
Realiza una copia de seguridad del secreto desde el almacén de claves. Se suscribe a la llamada de forma asincrónica e imprime la longitud de la matriz de bytes de copia de seguridad del secreto devuelta en la respuesta.
secretAsyncClient.backupSecretWithResponse("secretName")
.subscribe(secretBackupResponse ->
System.out.printf("Secret's Backup Byte array's length %s%n", secretBackupResponse.getValue().length));
Parameters:
Returns:
beginDeleteSecret
public PollerFlux
Elimina un secreto del almacén de claves. Si la eliminación temporal está habilitada en el almacén de claves, el secreto se coloca en el estado eliminado y, para su eliminación permanente, debe purgarse. De lo contrario, el secreto se elimina permanentemente. Se eliminan todas las versiones de un secreto. Esto no se puede aplicar a versiones individuales de un secreto. Esta operación requiere el secrets/delete permiso .
Código de ejemplo
Elimina el secreto en azure Key Vault. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto eliminado cuando se recibe una respuesta.
secretAsyncClient.beginDeleteSecret("secretName")
.subscribe(pollResponse -> {
System.out.println("Delete Status: " + pollResponse.getStatus().toString());
System.out.println("Deleted Secret Name: " + pollResponse.getValue().getName());
System.out.println("Deleted Secret Value: " + pollResponse.getValue().getValue());
});
Parameters:
Returns:
beginRecoverDeletedSecret
public PollerFlux
Recupera el secreto eliminado en el almacén de claves a su versión más reciente. Solo se puede realizar en un almacén habilitado para eliminación temporal . Esta operación requiere el secrets/recover permiso .
Código de ejemplo
Recupera el secreto eliminado del almacén de claves habilitado para la eliminación temporal. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto recuperado cuando se recibe una respuesta.
secretAsyncClient.beginRecoverDeletedSecret("deletedSecretName")
.subscribe(pollResponse -> {
System.out.println("Recovery Status: " + pollResponse.getStatus().toString());
System.out.println("Recovered Secret Name: " + pollResponse.getValue().getName());
System.out.println("Recovered Secret Value: " + pollResponse.getValue().getValue());
});
Parameters:
Returns:
getDeletedSecret
public Mono
Obtiene un secreto que se ha eliminado para un almacén de claves habilitado para eliminación temporal. Esta operación requiere el secrets/list permiso .
Código de ejemplo
Obtiene el secreto eliminado del almacén de claves habilitado para la eliminación temporal. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto eliminado cuando se recibe una respuesta.
secretAsyncClient.getDeletedSecret("secretName")
.subscribe(deletedSecretResponse ->
System.out.printf("Deleted Secret's Recovery Id %s %n", deletedSecretResponse.getRecoveryId()));
Parameters:
Returns:
getDeletedSecretWithResponse
public Mono
Obtiene un secreto que se ha eliminado para un almacén de claves habilitado para eliminación temporal. Esta operación requiere el secrets/list permiso .
Código de ejemplo
Obtiene el secreto eliminado del almacén de claves habilitado para la eliminación temporal. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto eliminado cuando se recibe una respuesta.
secretAsyncClient.getDeletedSecretWithResponse("secretName")
.subscribe(deletedSecretResponse ->
System.out.printf("Deleted Secret's Recovery Id %s %n",
deletedSecretResponse.getValue().getRecoveryId()));
Parameters:
Returns:
getSecret
public Mono
Obtiene la versión más reciente del secreto especificado del almacén de claves. Esta operación requiere el secrets/get permiso .
Código de ejemplo
Obtiene la versión más reciente del secreto en el almacén de claves. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto devuelto cuando se recibe una respuesta.
secretAsyncClient.getSecret("secretName")
.subscribe(secretWithVersion ->
System.out.printf("Secret is returned with name %s and value %s %n",
secretWithVersion.getName(), secretWithVersion.getValue()));
Parameters:
Returns:
getSecret
public Mono
Obtiene el secreto especificado con la versión especificada del almacén de claves. Esta operación requiere el secrets/get permiso .
Código de ejemplo
Obtiene una versión específica del secreto en el almacén de claves. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto devuelto cuando se recibe una respuesta.
String secretVersion = "6A385B124DEF4096AF1361A85B16C204";
secretAsyncClient.getSecret("secretName", secretVersion)
// Passing a Context is optional and useful if you want a set of data to flow through the request.
// Otherwise, the line below can be removed.
.contextWrite(Context.of(key1, value1, key2, value2))
.subscribe(secretWithVersion ->
System.out.printf("Secret is returned with name %s and value %s %n",
secretWithVersion.getName(), secretWithVersion.getValue()));
Parameters:
Returns:
getSecretWithResponse
public Mono
Obtiene el secreto especificado con la versión especificada del almacén de claves. Esta operación requiere el secrets/get permiso .
Código de ejemplo
Obtiene una versión específica del secreto en el almacén de claves. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto devuelto cuando se recibe una respuesta.
String secretVersion = "6A385B124DEF4096AF1361A85B16C204";
secretAsyncClient.getSecretWithResponse("secretName", secretVersion)
// Passing a Context is optional and useful if you want a set of data to flow through the request.
// Otherwise, the line below can be removed.
.contextWrite(Context.of(key1, value1, key2, value2))
.subscribe(secretWithVersion ->
System.out.printf("Secret is returned with name %s and value %s %n",
secretWithVersion.getValue().getName(), secretWithVersion.getValue().getValue()));
Parameters:
Returns:
getVaultUrl
public String getVaultUrl()
Obtiene la dirección URL del punto de conexión del almacén a la que se envían las solicitudes de servicio.
Returns:
listDeletedSecrets
public PagedFlux
Listas DeletedSecret del almacén de claves si ha habilitado la eliminación temporal. Esta operación requiere el secrets/list permiso .
Código de ejemplo
Enumera los secretos eliminados en el almacén de claves. Se suscribe a la llamada de forma asincrónica e imprime el identificador de recuperación de cada secreto eliminado cuando se recibe una respuesta.
secretAsyncClient.listDeletedSecrets()
.subscribe(deletedSecretResponse -> System.out.printf("Deleted Secret's Recovery Id %s %n",
deletedSecretResponse.getRecoveryId()));
Returns:
listPropertiesOfSecretVersions
public PagedFlux
Enumera todas las versiones del secreto especificado. Cada SecretProperties devuelto solo tiene su identificador y atributos rellenados. Los valores secretos y las versiones del secreto no se muestran en la respuesta. Esta operación requiere el secrets/list permiso .
Código de ejemplo
En el ejemplo siguiente se capturan todas las versiones del secreto especificado. Para cada versión recuperada, realiza una llamada a para getSecret(String name, String version) obtener el valor de la versión y, a continuación, la imprime.
secretAsyncClient.listPropertiesOfSecretVersions("secretName")
.flatMap(secretProperties -> {
System.out.println("Get secret value for version: " + secretProperties.getVersion());
return secretAsyncClient.getSecret(secretProperties.getName(), secretProperties.getVersion());
})
.subscribe(secret -> System.out.printf("Received secret with name %s and type %s%n",
secret.getName(), secret.getValue()));
Parameters:
Returns:
name no existe en el almacén de claveslistPropertiesOfSecrets
public PagedFlux
Enumera los secretos del almacén de claves. Cada SecretProperties devuelto solo tiene su identificador y atributos rellenados. Los valores secretos y sus versiones no aparecen en la respuesta. Esta operación requiere el secrets/list permiso .
Código de ejemplo
En el ejemplo siguiente se capturan todas las propiedades secretas del almacén. Para cada secreto recuperado, realiza una llamada a getSecret(String name, String version) para obtener su valor y, a continuación, lo imprime.
secretAsyncClient.listPropertiesOfSecrets()
.flatMap(secretProperties -> {
String name = secretProperties.getName();
String version = secretProperties.getVersion();
System.out.printf("Getting secret name: '%s', version: %s%n", name, version);
return secretAsyncClient.getSecret(name, version);
})
.subscribe(secretResponse -> System.out.printf("Received secret with name %s and type %s",
secretResponse.getName(), secretResponse.getValue()));
Returns:
purgeDeletedSecret
public Mono
Quita permanentemente un secreto eliminado, sin la posibilidad de recuperación. Esta operación solo se puede realizar en una eliminación temporal habilitada. Esta operación requiere el secrets/purge permiso .
Código de ejemplo
Purga el secreto eliminado del almacén de claves habilitado para la eliminación temporal. Se suscribe a la llamada de forma asincrónica e imprime el código de estado de la respuesta del servidor cuando se recibe una respuesta.
secretAsyncClient.purgeDeletedSecret("deletedSecretName")
.doOnSuccess(purgeResponse ->
System.out.println("Successfully Purged deleted Secret"))
.subscribe();
Parameters:
Returns:
purgeDeletedSecretWithResponse
public Mono
Quita permanentemente un secreto eliminado, sin la posibilidad de recuperación. Esta operación solo se puede habilitar en un almacén habilitado para eliminación temporal. Esta operación requiere el secrets/purge permiso .
Código de ejemplo
Purga el secreto eliminado del almacén de claves habilitado para la eliminación temporal. Se suscribe a la llamada de forma asincrónica e imprime el código de estado de la respuesta del servidor cuando se recibe una respuesta.
secretAsyncClient.purgeDeletedSecretWithResponse("deletedSecretName")
.subscribe(purgeResponse ->
System.out.printf("Purge Status response %d %n", purgeResponse.getStatusCode()));
Parameters:
Returns:
restoreSecretBackup
public Mono
Restaura un secreto de copia de seguridad y todas sus versiones en un almacén. Esta operación requiere el secrets/restore permiso .
Código de ejemplo
Restaura el secreto en el almacén de claves a partir de su copia de seguridad. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto restaurado cuando se recibe una respuesta.
// Pass the secret backup byte array to the restore operation.
byte[] secretBackupByteArray = {};
secretAsyncClient.restoreSecretBackup(secretBackupByteArray)
.subscribe(secretResponse -> System.out.printf("Restored Secret with name %s and value %s %n",
secretResponse.getName(), secretResponse.getValue()));
Parameters:
Returns:
restoreSecretBackupWithResponse
public Mono
Restaura un secreto de copia de seguridad y todas sus versiones en un almacén. Esta operación requiere el secrets/restore permiso .
Código de ejemplo
Restaura el secreto en el almacén de claves a partir de su copia de seguridad. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto restaurado cuando se recibe una respuesta.
// Pass the secret backup byte array to the restore operation.
byte[] secretBackupByteArray = {};
secretAsyncClient.restoreSecretBackupWithResponse(secretBackupByteArray)
.subscribe(secretResponse -> System.out.printf("Restored Secret with name %s and value %s %n",
secretResponse.getValue().getName(), secretResponse.getValue().getValue()));
Parameters:
Returns:
setSecret
public Mono
Agrega un secreto al almacén de claves si no existe. Si existe el secreto con nombre, se crea una nueva versión del secreto. Esta operación requiere el secrets/set permiso .
Los getExpiresOn()valores , getContentType()y getNotBefore() de secret son opcionales. Si no se especifica, isEnabled() el almacén de claves establece en true.
Código de ejemplo
Crea un nuevo secreto que se activa en un día y expira en un año. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto recién creado cuando se recibe una respuesta.
SecretProperties properties = new SecretProperties()
.setExpiresOn(OffsetDateTime.now().plusDays(60));
KeyVaultSecret newSecret = new KeyVaultSecret("secretName", "secretValue")
.setProperties(properties);
secretAsyncClient.setSecret(newSecret)
.subscribe(secretResponse ->
System.out.printf("Secret is created with name %s and value %s %n",
secretResponse.getName(), secretResponse.getValue()));
Parameters:
Returns:
setSecret
public Mono
Agrega un secreto al almacén de claves si no existe. Si existe el secreto con nombre, se crea una nueva versión del secreto. Esta operación requiere el secrets/set permiso .
Código de ejemplo
Crea un nuevo secreto en el almacén de claves. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto recién creado cuando se recibe una respuesta.
secretAsyncClient.setSecret("secretName", "secretValue")
.subscribe(secretResponse ->
System.out.printf("Secret is created with name %s and value %s%n",
secretResponse.getName(), secretResponse.getValue()));
Parameters:
Returns:
setSecretWithResponse
public Mono
Agrega un secreto al almacén de claves si no existe. Si existe el secreto con nombre, se crea una nueva versión del secreto. Esta operación requiere el secrets/set permiso .
Los getExpiresOn()valores , getContentType()y getNotBefore() de secret son opcionales. Si no se especifica, isEnabled() el almacén de claves establece en true.
Código de ejemplo
Crea un nuevo secreto que se activa en un día y expira en un año. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto recién creado cuando se recibe una respuesta.
KeyVaultSecret newSecret = new KeyVaultSecret("secretName", "secretValue").
setProperties(new SecretProperties().setExpiresOn(OffsetDateTime.now().plusDays(60)));
secretAsyncClient.setSecretWithResponse(newSecret)
.subscribe(secretResponse ->
System.out.printf("Secret is created with name %s and value %s %n",
secretResponse.getValue().getName(), secretResponse.getValue().getValue()));
Parameters:
Returns:
updateSecretProperties
public Mono
Novedades los atributos asociados al secreto. No se puede cambiar el valor del secreto en el almacén de claves. Solo se cambian los atributos rellenados en secretProperties . Los atributos no especificados en la solicitud no se cambian. Esta operación requiere el secrets/set permiso .
secret es obligatorio y sus campos getName() y getVersion() no pueden ser null.
Código de ejemplo
Obtiene la versión más reciente del secreto, cambia su setNotBefore(OffsetDateTime notBefore) hora y, a continuación, la actualiza en azure Key Vault. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto devuelto cuando se recibe una respuesta.
secretAsyncClient.getSecret("secretName")
.subscribe(secretResponseValue -> {
SecretProperties secretProperties = secretResponseValue.getProperties();
//Update the not before time of the secret.
secretProperties.setNotBefore(OffsetDateTime.now().plusDays(50));
secretAsyncClient.updateSecretProperties(secretProperties)
.subscribe(secretResponse ->
System.out.printf("Secret's updated not before time %s %n",
secretResponse.getNotBefore().toString()));
});
Parameters:
Returns:
updateSecretPropertiesWithResponse
public Mono
Novedades los atributos asociados al secreto. No se puede cambiar el valor del secreto en el almacén de claves. Solo se cambian los atributos rellenados en secretProperties . Los atributos no especificados en la solicitud no se cambian. Esta operación requiere el secrets/set permiso .
Código de ejemplo
Obtiene la versión más reciente del secreto, cambia su setNotBefore(OffsetDateTime notBefore) hora y, a continuación, la actualiza en azure Key Vault. Se suscribe a la llamada de forma asincrónica e imprime los detalles del secreto devuelto cuando se recibe una respuesta.
secretAsyncClient.getSecret("secretName")
.subscribe(secretResponseValue -> {
SecretProperties secretProperties = secretResponseValue.getProperties();
//Update the not before time of the secret.
secretProperties.setNotBefore(OffsetDateTime.now().plusDays(50));
secretAsyncClient.updateSecretPropertiesWithResponse(secretProperties)
.subscribe(secretResponse ->
System.out.printf("Secret's updated not before time %s %n",
secretResponse.getValue().getNotBefore().toString()));
});
secret es obligatorio y sus campos getName() y getVersion() no pueden ser null.
Parameters:
Returns: