SecretAsyncClient Classe
- java.
lang. Object - com.
azure. security. keyvault. secrets. SecretAsyncClient
- com.
public final class SecretAsyncClient
O SecretAsyncClient fornece métodos assíncronos para gerenciar KeyVaultSecret no Key Vault do Azure. O cliente dá suporte à criação, recuperação, atualização, exclusão, limpeza, backup, restauração e listagem do KeyVaultSecret. O cliente também dá suporte à listagem DeletedSecret para um cofre de chaves habilitado para exclusão reversível.
Introdução
Para interagir com o serviço de Key Vault do Azure, você precisará criar uma instância da SecretAsyncClient classe , uma URL do cofre e um objeto de credencial.
Os exemplos mostrados neste documento usam um objeto de credencial chamado DefaultAzureCredential para autenticação, que é apropriado para a maioria dos cenários, incluindo ambientes locais de desenvolvimento e produção. Além disso, é recomendável usar uma identidade gerenciada para autenticação em ambientes de produção. Você pode encontrar mais informações sobre diferentes maneiras de autenticação e seus tipos de credenciais correspondentes na documentação da Identidade do Azure".
Exemplo: Construir cliente de segredo assíncrono
SecretAsyncClient secretAsyncClient = new SecretClientBuilder()
.credential(new DefaultAzureCredentialBuilder().build())
.vaultUrl("<your-key-vault-url>")
.buildAsyncClient();
Criar um segredo
O SecretAsyncClient pode ser usado para criar um segredo no cofre de chaves.
Exemplo de código:
O exemplo de código a seguir demonstra como criar e armazenar um segredo no cofre de chaves usando a 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 obter o exemplo síncrono, consulte SecretClient.
Obter um segredo
O SecretAsyncClient pode ser usado para recuperar um segredo do cofre de chaves.
Exemplo de código:
O exemplo de código a seguir demonstra como recuperar de forma síncrona um segredo armazenado anteriormente do cofre de chaves, usando a 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 obter o exemplo síncrono, consulte SecretClient.
Excluir um segredo
O SecretAsyncClient pode ser usado para excluir um segredo do cofre de chaves.
Exemplo de código:
O exemplo de código a seguir demonstra como excluir um segredo do cofre de chaves usando a 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 obter o exemplo síncrono, consulte SecretClient.
Resumo do método
Modificador e tipo | Método e descrição |
---|---|
Mono<byte[]> |
backupSecret(String name)
Solicita que um backup do segredo seja baixado para o cliente. |
Mono<Response<byte[]>> |
backupSecretWithResponse(String name)
Solicita que um backup do segredo seja baixado para o cliente. |
Poller |
beginDeleteSecret(String name)
Exclui um segredo do cofre de chaves. |
Poller |
beginRecoverDeletedSecret(String name)
Recupera o segredo excluído no cofre de chaves para sua versão mais recente. |
Mono<Deleted |
getDeletedSecret(String name)
Obtém um segredo que foi excluído para um cofre de chaves habilitado para exclusão reversível. |
Mono<Response<Deleted |
getDeletedSecretWithResponse(String name)
Obtém um segredo que foi excluído para um cofre de chaves habilitado para exclusão reversível. |
Mono<Key |
getSecret(String name)
Obtém a versão mais recente do segredo especificado do cofre de chaves. |
Mono<Key |
getSecret(String name, String version)
Obtém o segredo especificado com a versão especificada do cofre de chaves. |
Mono<Response<Key |
getSecretWithResponse(String name, String version)
Obtém o segredo especificado com a versão especificada do cofre de chaves. |
String |
getVaultUrl()
Obtém a URL do ponto de extremidade do cofre para a qual as solicitações de serviço são enviadas. |
Paged |
listDeletedSecrets()
Listas DeletedSecret do cofre de chaves se ele tiver habilitado a exclusão reversível. |
Paged |
listPropertiesOfSecretVersions(String name)
Lista todas as versões do segredo especificado. |
Paged |
listPropertiesOfSecrets()
Lista segredos no cofre de chaves. |
Mono<Void> |
purgeDeletedSecret(String name)
Remove permanentemente um segredo excluído, sem a possibilidade de recuperação. |
Mono<Response<Void>> |
purgeDeletedSecretWithResponse(String name)
Remove permanentemente um segredo excluído, sem a possibilidade de recuperação. |
Mono<Key |
restoreSecretBackup(byte[] backup)
Restaura um segredo de backup e todas as suas versões para um cofre. |
Mono<Response<Key |
restoreSecretBackupWithResponse(byte[] backup)
Restaura um segredo de backup e todas as suas versões para um cofre. |
Mono<Key |
setSecret(KeyVaultSecret secret)
Adiciona um segredo ao cofre de chaves se ele não existir. |
Mono<Key |
setSecret(String name, String value)
Adiciona um segredo ao cofre de chaves se ele não existir. |
Mono<Response<Key |
setSecretWithResponse(KeyVaultSecret secret)
Adiciona um segredo ao cofre de chaves se ele não existir. |
Mono<Secret |
updateSecretProperties(SecretProperties secretProperties)
Atualizações os atributos associados ao segredo. |
Mono<Response<Secret |
updateSecretPropertiesWithResponse(SecretProperties secretProperties)
Atualizações os atributos associados ao segredo. |
Métodos herdados de java.lang.Object
Detalhes do método
backupSecret
public Mono
Solicita que um backup do segredo seja baixado para o cliente. Todas as versões do segredo serão baixadas. Essa operação requer a secrets/backup
permissão .
Exemplo de código
Faz backup do segredo do cofre de chaves. Assina a chamada de forma assíncrona e imprime o comprimento da matriz de bytes de backup do segredo retornada na resposta.
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 que um backup do segredo seja baixado para o cliente. Todas as versões do segredo serão baixadas. Essa operação requer a secrets/backup
permissão .
Exemplo de código
Faz backup do segredo do cofre de chaves. Assina a chamada de forma assíncrona e imprime o comprimento da matriz de bytes de backup do segredo retornada na resposta.
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
Exclui um segredo do cofre de chaves. Se a exclusão reversível estiver habilitada no cofre de chaves, o segredo será colocado no estado excluído e, para exclusão permanente, precisará ser limpo. Caso contrário, o segredo será excluído permanentemente. Todas as versões de um segredo são excluídas. Isso não pode ser aplicado a versões individuais de um segredo. Essa operação requer a secrets/delete
permissão .
Exemplo de código
Exclui o segredo no Key Vault do Azure. Assina a chamada de forma assíncrona e imprime os detalhes do segredo excluído quando uma resposta é recebida.
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 o segredo excluído no cofre de chaves para sua versão mais recente. Só pode ser executado em um cofre habilitado para exclusão reversível . Essa operação requer a secrets/recover
permissão.
Exemplo de código
Recupera o segredo excluído do cofre de chaves habilitado para exclusão temporária. Assina a chamada de forma assíncrona e imprime os detalhes do segredo recuperado quando uma resposta é recebida.
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
Obtém um segredo que foi excluído para um cofre de chaves habilitado para exclusão reversível. Essa operação requer a secrets/list
permissão.
Exemplo de código
Obtém o segredo excluído do cofre de chaves habilitado para exclusão reversível. Assina a chamada de forma assíncrona e imprime os detalhes do segredo excluído quando uma resposta é recebida.
secretAsyncClient.getDeletedSecret("secretName")
.subscribe(deletedSecretResponse ->
System.out.printf("Deleted Secret's Recovery Id %s %n", deletedSecretResponse.getRecoveryId()));
Parameters:
Returns:
getDeletedSecretWithResponse
public Mono
Obtém um segredo que foi excluído para um cofre de chaves habilitado para exclusão reversível. Essa operação requer a secrets/list
permissão.
Exemplo de código
Obtém o segredo excluído do cofre de chaves habilitado para exclusão reversível. Assina a chamada de forma assíncrona e imprime os detalhes do segredo excluído quando uma resposta é recebida.
secretAsyncClient.getDeletedSecretWithResponse("secretName")
.subscribe(deletedSecretResponse ->
System.out.printf("Deleted Secret's Recovery Id %s %n",
deletedSecretResponse.getValue().getRecoveryId()));
Parameters:
Returns:
getSecret
public Mono
Obtém a versão mais recente do segredo especificado do cofre de chaves. Essa operação requer a secrets/get
permissão.
Exemplo de código
Obtém a versão mais recente do segredo no cofre de chaves. Assina a chamada de forma assíncrona e imprime os detalhes do segredo retornado quando uma resposta é recebida.
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
Obtém o segredo especificado com a versão especificada do cofre de chaves. Essa operação requer a secrets/get
permissão.
Exemplo de código
Obtém uma versão específica do segredo no cofre de chaves. Assina a chamada de forma assíncrona e imprime os detalhes do segredo retornado quando uma resposta é recebida.
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
Obtém o segredo especificado com a versão especificada do cofre de chaves. Essa operação requer a secrets/get
permissão.
Exemplo de código
Obtém uma versão específica do segredo no cofre de chaves. Assina a chamada de forma assíncrona e imprime os detalhes do segredo retornado quando uma resposta é recebida.
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()
Obtém a URL do ponto de extremidade do cofre para a qual as solicitações de serviço são enviadas.
Returns:
listDeletedSecrets
public PagedFlux
Listas DeletedSecret do cofre de chaves se ele tiver habilitado a exclusão reversível. Essa operação requer a secrets/list
permissão.
Exemplo de código
Lista os segredos excluídos no cofre de chaves. Assina a chamada de forma assíncrona e imprime a ID de recuperação de cada segredo excluído quando uma resposta é recebida.
secretAsyncClient.listDeletedSecrets()
.subscribe(deletedSecretResponse -> System.out.printf("Deleted Secret's Recovery Id %s %n",
deletedSecretResponse.getRecoveryId()));
Returns:
listPropertiesOfSecretVersions
public PagedFlux
Lista todas as versões do segredo especificado. Cada SecretProperties retornado tem apenas seu identificador e atributos preenchidos. Os valores secretos e as versões secretas não estão listados na resposta. Essa operação requer a secrets/list
permissão.
Exemplo de código
O exemplo a seguir busca todas as versões do segredo especificado. Para cada versão recuperada, faz uma chamada para getSecret(String name, String version) obter o valor da versão e, em seguida, imprime-o.
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
não existir no cofre de chaveslistPropertiesOfSecrets
public PagedFlux
Lista segredos no cofre de chaves. Cada SecretProperties retornado tem apenas seu identificador e atributos preenchidos. Os valores secretos e suas versões não estão listados na resposta. Essa operação requer a secrets/list
permissão.
Exemplo de código
O exemplo abaixo busca todas as propriedades secretas no cofre. Para cada segredo recuperado, faz uma chamada para getSecret(String name, String version) obter seu valor e, em seguida, imprime-o.
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
Remove permanentemente um segredo excluído, sem a possibilidade de recuperação. Essa operação só pode ser executada em uma exclusão temporária habilitada. Essa operação requer a secrets/purge
permissão.
Exemplo de código
Limpa o segredo excluído do cofre de chaves habilitado para exclusão reversível. Assina a chamada de forma assíncrona e imprime o código status da resposta do servidor quando uma resposta é recebida.
secretAsyncClient.purgeDeletedSecret("deletedSecretName")
.doOnSuccess(purgeResponse ->
System.out.println("Successfully Purged deleted Secret"))
.subscribe();
Parameters:
Returns:
purgeDeletedSecretWithResponse
public Mono
Remove permanentemente um segredo excluído, sem a possibilidade de recuperação. Essa operação só pode ser habilitada em um cofre habilitado para exclusão reversível. Essa operação requer a secrets/purge
permissão.
Exemplo de código
Limpa o segredo excluído do cofre de chaves habilitado para exclusão reversível. Assina a chamada de forma assíncrona e imprime o código status da resposta do servidor quando uma resposta é recebida.
secretAsyncClient.purgeDeletedSecretWithResponse("deletedSecretName")
.subscribe(purgeResponse ->
System.out.printf("Purge Status response %d %n", purgeResponse.getStatusCode()));
Parameters:
Returns:
restoreSecretBackup
public Mono
Restaura um segredo de backup e todas as suas versões para um cofre. Essa operação requer a secrets/restore
permissão .
Exemplo de código
Restaura o segredo no cofre de chaves de seu backup. Assina a chamada de forma assíncrona e imprime os detalhes do segredo restaurado quando uma resposta é recebida.
// 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 um segredo de backup e todas as suas versões para um cofre. Essa operação requer a secrets/restore
permissão .
Exemplo de código
Restaura o segredo no cofre de chaves de seu backup. Assina a chamada de forma assíncrona e imprime os detalhes do segredo restaurado quando uma resposta é recebida.
// 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
Adiciona um segredo ao cofre de chaves se ele não existir. Se o segredo nomeado existir, uma nova versão do segredo será criada. Essa operação requer a secrets/set
permissão .
Os getExpiresOn()valores , getContentType()e getNotBefore() em secret
são opcionais. Se não for especificado, isEnabled() será definido como true pelo cofre de chaves.
Exemplo de código
Cria um novo segredo que é ativado em um dia e expira em um ano. Assina a chamada de forma assíncrona e imprime os detalhes do segredo recém-criado quando uma resposta é recebida.
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
Adiciona um segredo ao cofre de chaves se ele não existir. Se o segredo nomeado existir, uma nova versão do segredo será criada. Essa operação requer a secrets/set
permissão .
Exemplo de código
Cria um novo segredo no cofre de chaves. Assina a chamada de forma assíncrona e imprime os detalhes do segredo recém-criado quando uma resposta é recebida.
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
Adiciona um segredo ao cofre de chaves se ele não existir. Se o segredo nomeado existir, uma nova versão do segredo será criada. Essa operação requer a secrets/set
permissão .
Os getExpiresOn()valores , getContentType()e getNotBefore() em secret
são opcionais. Se não for especificado, isEnabled() será definido como true pelo cofre de chaves.
Exemplo de código
Cria um novo segredo que é ativado em um dia e expira em um ano. Assina a chamada de forma assíncrona e imprime os detalhes do segredo recém-criado quando uma resposta é recebida.
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
Atualizações os atributos associados ao segredo. O valor do segredo no cofre de chaves não pode ser alterado. Somente os atributos preenchidos em secretProperties
são alterados. Os atributos não especificados na solicitação não são alterados. Essa operação requer a secrets/set
permissão .
O secret
é obrigatório e seus campos getName() e getVersion() não pode ser nulo.
Exemplo de código
Obtém a versão mais recente do segredo, altera sua setNotBefore(OffsetDateTime notBefore) hora e a atualiza no Key Vault do Azure. Assina a chamada de forma assíncrona e imprime os detalhes do segredo retornados quando uma resposta é recebida.
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
Atualizações os atributos associados ao segredo. O valor do segredo no cofre de chaves não pode ser alterado. Somente os atributos preenchidos em secretProperties
são alterados. Os atributos não especificados na solicitação não são alterados. Essa operação requer a secrets/set
permissão .
Exemplo de código
Obtém a versão mais recente do segredo, altera sua setNotBefore(OffsetDateTime notBefore) hora e a atualiza no Key Vault do Azure. Assina a chamada de forma assíncrona e imprime os detalhes do segredo retornados quando uma resposta é recebida.
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()));
});
O secret
é obrigatório e seus campos getName() e getVersion() não pode ser nulo.
Parameters:
Returns:
Aplica-se a
Azure SDK for Java