Jak zostać tajemniczym klientem Żabka?

Usuwanie sekretów z SecretClient: przewodnik

03/01/2025

Rating: 4.42 (1745 votes)

Zarządzanie sekretami jest kluczowym aspektem bezpieczeństwa w aplikacjach i usługach opartych na chmurze. Azure Key Vault oferuje usługę do bezpiecznego przechowywania i zarządzania sekretami, takimi jak klucze API, hasła, certyfikaty i inne poufne informacje. SecretClient w Azure SDK dla JavaScript zapewnia interfejs programistyczny do interakcji z Azure Key Vault, umożliwiając operacje na sekretach, w tym ich tworzenie, pobieranie, aktualizację i usuwanie. W tym artykule skupimy się na procesie usuwania sekretów, ich odzyskiwania oraz trwałego usuwania, aby zapewnić pełne zrozumienie cyklu życia sekretu w Azure Key Vault.

Na czym polega pozycjonowanie?
Co to jest pozycjonowanie? Pozycjonowanie to działania, których celem jest wzrost ilości i jakości ruchu na stronie www. Pozyskany poprzez pozycjonowanie ruch pochodzi z bezpłatnych wyników wyszukiwania w wyszukiwarce nazywanych wynikami naturalnymi lub organicznymi.
Spis treści

Usuwanie sekretu

Usuwanie sekretu w Azure Key Vault nie jest operacją natychmiastową i trwałą, przynajmniej nie domyślnie. Zamiast tego, Azure Key Vault stosuje zasadę usuwania miękkiego (soft delete), co oznacza, że usunięty sekret jest przechowywany w stanie usuniętym przez określony czas, umożliwiając jego odzyskanie. Jest to funkcja bezpieczeństwa, która chroni przed przypadkowym lub złośliwym trwałym usunięciem sekretów.

Aby usunąć sekret za pomocą SecretClient, należy użyć metody beginDeleteSecret. Jest to operacja długotrwała (Long Running Operation - LRO), co oznacza, że proces usuwania może zająć pewien czas. Metoda beginDeleteSecret inicjuje proces usuwania i zwraca obiekt poller, który umożliwia monitorowanie postępu operacji i oczekiwanie na jej zakończenie. Aby poczekać na zakończenie operacji usuwania, należy użyć metody pollUntilDone na obiekcie poller.

const existingSecretName = 'mojaIstniejącaNazwaSekretu'; // Rozpocznij operację LRO usuwania sekretu const deletePoller = await client.beginDeleteSecret(existingSecretName); // Poczekaj na zakończenie operacji LRO const deleteResult = await deletePoller.pollUntilDone(); console.log(`Nazwa sekretu: ${deleteResult.name}`); console.log(`Data usunięcia: ${deleteResult.deletedOn}`); console.log(`Wersja: ${deleteResult.properties.deletedOn}`); console.log(`Data trwałego usunięcia: ${deleteResult.scheduledPurgeDate}`); 

Wynikiem operacji usuwania jest obiekt DeletedSecret. Ten obiekt zawiera informacje o usuniętym sekrecie, w tym jego nazwę, datę usunięcia (deletedOn), oraz datę planowanego trwałego usunięcia (scheduledPurgeDate). Data trwałego usunięcia jest określana przez konfigurację polityki usuwania miękkiego dla magazynu kluczy.

Warto zauważyć, że po wykonaniu operacji usuwania sekretu, sekret nie jest już dostępny do normalnego użytku. Próby pobrania usuniętego sekretu za pomocą getSecret zakończą się niepowodzeniem. Jednak sekret nadal istnieje w magazynie kluczy w stanie usuniętym i może zostać odzyskany w określonym czasie.

Odzyskiwanie usuniętego sekretu

Dzięki funkcji usuwania miękkiego, Azure Key Vault umożliwia odzyskiwanie usuniętych sekretów. Jest to szczególnie przydatne w sytuacjach, gdy sekret został usunięty przez pomyłkę lub gdy jest potrzebny z powrotem po pewnym czasie.

Aby odzyskać usunięty sekret za pomocą SecretClient, należy użyć metody beginRecoverDeletedSecret. Podobnie jak usuwanie, odzyskiwanie jest operacją długotrwałą (LRO). Metoda beginRecoverDeletedSecret inicjuje proces odzyskiwania i zwraca obiekt poller, który należy użyć z pollUntilDone, aby poczekać na zakończenie operacji.

const deletedSecretName = 'mojaUsunietaNazwaSekretu'; // Rozpocznij operację LRO odzyskiwania sekretu const recoveryPoller = await client.beginRecoverDeletedSecret(deletedSecretName); // Poczekaj na zakończenie operacji LRO const recoveryResult = await recoveryPoller.pollUntilDone(); console.log(`Nazwa sekretu: ${recoveryResult.name}`); console.log(`Wersja: ${recoveryResult.version}`); 

Wynikiem operacji odzyskiwania jest obiekt SecretProperties. Odzyskany sekret zachowuje swoją nazwę, wartość oraz wszystkie właściwości, w tym enabled, createdOn, tags i wersję. Po odzyskaniu, sekret jest ponownie dostępny do normalnego użytku, tak jakby nigdy nie został usunięty.

Okres, w którym można odzyskać usunięty sekret, jest określony przez politykę usuwania miękkiego magazynu kluczy. Domyślnie jest to 90 dni. Po upływie tego okresu, sekret jest trwale usuwany i nie można go już odzyskać za pomocą operacji odzyskiwania.

Trwałe usuwanie sekretu

W sytuacjach, gdy sekret nie jest już potrzebny i powinien być trwale usunięty, Azure Key Vault oferuje operację trwałego usuwania (purge). Operacja trwałego usuwania jest nieodwracalna i powoduje definitywne usunięcie sekretu z magazynu kluczy. Po trwałym usunięciu sekretu nie można go już odzyskać, nawet w ramach funkcji usuwania miękkiego.

Aby trwale usunąć sekret za pomocą SecretClient, należy użyć metody purgeDeletedSecret. Ta metoda natychmiastowo usuwa sekret, omijając okres przechowywania w stanie usuniętym. Operacja trwałego usuwania jest dostępna tylko dla magazynów kluczy, które mają włączoną funkcję ochrony przed trwałym usunięciem (purge protection). Jeśli ochrona przed trwałym usunięciem nie jest włączona, sekret zostanie trwale usunięty po upływie okresu usuwania miękkiego.

const deletedSecretName = 'mojaUsunietaNazwaSekretu'; // Trwałe usunięcie sekretu await client.purgeDeletedSecret(deletedSecretName); 

Zanim trwale usuniesz sekret, szczególnie ważny jest backup. Ponieważ operacja trwałego usuwania jest nieodwracalna, zaleca się wykonanie kopii zapasowej sekretu przed jego trwałym usunięciem. Można to zrobić, na przykład, poprzez pobranie wartości sekretu i zapisanie jej w bezpiecznym miejscu, lub poprzez eksportowanie całego magazynu kluczy.

Operacja trwałego usuwania jest zazwyczaj operacją administracyjną i powinna być stosowana z rozwagą. Należy upewnić się, że sekret na pewno nie będzie już potrzebny, zanim zostanie trwale usunięty.

Podsumowanie

Zarządzanie cyklem życia sekretów w Azure Key Vault za pomocą SecretClient obejmuje operacje usuwania, odzyskiwania i trwałego usuwania. Funkcja usuwania miękkiego zapewnia ochronę przed przypadkowym trwałym usunięciem i umożliwia odzyskiwanie usuniętych sekretów przez określony czas. Operacja trwałego usuwania jest przeznaczona do definitywnego usuwania sekretów, gdy nie są już potrzebne. Zrozumienie i właściwe wykorzystanie tych operacji jest kluczowe dla bezpiecznego i efektywnego zarządzania sekretami w aplikacjach opartych na Azure Key Vault.

Jeśli chcesz poznać inne artykuły podobne do Usuwanie sekretów z SecretClient: przewodnik, możesz odwiedzić kategorię Rachunkowość.

Go up