SecretClient 類別

用於管理保存庫秘密的高階介面。

繼承
azure.keyvault.secrets._shared.client_base.KeyVaultClientBase
SecretClient

建構函式

SecretClient(vault_url: str, credential: TokenCredential, **kwargs)

參數

vault_url
str
必要

用戶端將存取之保存庫的 URL。 這也稱為保存庫的「DNS 名稱」。 您應該驗證此 URL 參考有效的金鑰保存庫資源。 如需詳細資訊,請參閱<https://aka.ms/azsdk/blog/vault-uri>。

credential
TokenCredential
必要

物件,可為保存庫提供存取權杖,例如來自的認證 identity

api_version
ApiVersion

要使用的服務 API 版本。 預設為最新的 。

verify_challenge_resource
bool

是否要驗證驗證挑戰資源是否符合金鑰保存庫網域。 預設值為 True。

方法

backup_secret

僅 Azure 金鑰保存庫可使用的受保護表單備份秘密。 需要秘密/備份許可權。

begin_delete_secret

刪除所有版本的秘密。 需要秘密/刪除許可權。

當此方法傳回金鑰保存庫開始刪除秘密時。 在已啟用虛刪除的保存庫中,刪除可能需要幾秒鐘的時間。 因此,此方法會傳回輪詢器,讓您等候刪除完成。

begin_recover_deleted_secret

將已刪除的秘密復原至其最新版本。 只能在已啟用虛刪除的保存庫中進行。

需要秘密/復原許可權。 如果保存庫未啟用虛刪除, begin_delete_secret 則為永久保存庫,此方法會傳回錯誤。 嘗試復原未刪除的秘密也會傳回錯誤。 當此方法傳回金鑰保存庫開始復原秘密時。 復原可能需要幾秒鐘的時間。 因此,此方法會傳回輪詢器,讓您等候復原完成。 只有在您想要立即在另一個作業中使用復原的秘密時,才需要等候。

close

關閉用戶端所開啟的通訊端。

使用用戶端做為內容管理員時,不需要呼叫這個方法。

get_deleted_secret

取得已刪除的秘密。 只能在已啟用虛刪除的保存庫中進行。 需要秘密/取得許可權。

get_secret

取得秘密。 需要密碼/取得權限。

list_deleted_secrets

列出所有已刪除的秘密。 只能在已啟用虛刪除的保存庫中進行。

需要秘密/清單許可權。

list_properties_of_secret_versions

列出所有秘密版本的屬性,不包括其值。 需要秘密/清單許可權。

清單專案不包含秘密值。 使用 get_secret 取得秘密的值。

list_properties_of_secrets

列出保存庫中所有秘密的識別碼和屬性。 需要秘密/清單許可權。

清單專案不包含秘密值。 使用 get_secret 取得秘密的值。

purge_deleted_secret

永久刪除已刪除的秘密。 只能在已啟用虛刪除的保存庫中進行。

執行無法復原的指定秘密刪除,而無法復原。 如果 recovery_level 未指定 「可清除」,則無法使用此作業。 只有在清除秘密之前 scheduled_purge_date ,才需要這個方法。

需要秘密/清除許可權。

restore_secret_backup

還原備份的秘密。 需要秘密/還原許可權。

send_request

使用用戶端的現有管線執行網路要求。

要求 URL 可以相對於保存庫 URL。 除非另有指定,否則用於要求的服務 API 版本與用戶端的版本相同。 如果回應為錯誤,則這個方法不會引發;若要引發例外狀況,請在傳回的回應物件上呼叫 raise_for_status () 。 如需如何使用此方法傳送自訂要求的詳細資訊,請參閱 https://aka.ms/azsdk/dpcodegen/python/send_request

set_secret

設定秘密值。 如果 名稱 正在使用中,請建立新版本的秘密。 如果沒有,請建立新的秘密。

需要秘密/設定許可權。

update_secret_properties

更新其值以外的秘密屬性。 需要秘密/設定許可權。

此方法會更新秘密的屬性,例如是否啟用密碼,但無法變更秘密的值。 使用 set_secret 來變更秘密的值。

backup_secret

僅 Azure 金鑰保存庫可使用的受保護表單備份秘密。 需要秘密/備份許可權。

backup_secret(name: str, **kwargs) -> bytes

參數

name
str
必要

要備份的秘密名稱

傳回類型

例外狀況

如果秘密不存在,則為

針對其他錯誤

begin_delete_secret

刪除所有版本的秘密。 需要秘密/刪除許可權。

當此方法傳回金鑰保存庫開始刪除秘密時。 在已啟用虛刪除的保存庫中,刪除可能需要幾秒鐘的時間。 因此,此方法會傳回輪詢器,讓您等候刪除完成。

begin_delete_secret(name: str, **kwargs) -> LROPoller[DeletedSecret]

參數

name
str
必要

要刪除的秘密名稱。

傳回

刪除作業的輪詢器。 輪詢器 的結果 方法會傳回 , DeletedSecret 而不需要等候刪除完成。 如果保存庫已啟用虛刪除,而且您想要使用 永久刪除秘密 purge_deleted_secret ,請先呼叫輪詢器的 wait 方法。 它會封鎖直到刪除完成為止。 wait方法需要秘密/取得許可權。

傳回類型

例外狀況

如果秘密不存在,則為

針對其他錯誤

begin_recover_deleted_secret

將已刪除的秘密復原至其最新版本。 只能在已啟用虛刪除的保存庫中進行。

需要秘密/復原許可權。 如果保存庫未啟用虛刪除, begin_delete_secret 則為永久保存庫,此方法會傳回錯誤。 嘗試復原未刪除的秘密也會傳回錯誤。 當此方法傳回金鑰保存庫開始復原秘密時。 復原可能需要幾秒鐘的時間。 因此,此方法會傳回輪詢器,讓您等候復原完成。 只有在您想要立即在另一個作業中使用復原的秘密時,才需要等候。

begin_recover_deleted_secret(name: str, **kwargs) -> LROPoller[SecretProperties]

參數

name
str
必要

要復原的已刪除秘密名稱

傳回

復原作業的輪詢器。 輪詢器 的結果 方法會傳回已復原的 SecretProperties 秘密,而不需要等候復原完成。 如果您想要立即使用復原的秘密,請呼叫輪詢器的 wait 方法,這會封鎖直到秘密準備好使用為止。 wait方法需要秘密/取得許可權。

傳回類型

例外狀況

close

關閉用戶端所開啟的通訊端。

使用用戶端做為內容管理員時,不需要呼叫這個方法。

close() -> None

例外狀況

如果秘密不存在,則為

針對其他錯誤

get_deleted_secret

取得已刪除的秘密。 只能在已啟用虛刪除的保存庫中進行。 需要秘密/取得許可權。

get_deleted_secret(name: str, **kwargs) -> DeletedSecret

參數

name
str
必要

已刪除秘密的名稱

傳回類型

例外狀況

如果已刪除的秘密不存在,則為

針對其他錯誤

get_secret

取得秘密。 需要密碼/取得權限。

get_secret(name: str, version: str | None = None, **kwargs) -> KeyVaultSecret

參數

name
str
必要

秘密的名稱

version
str
必要

(選擇性) 要取得的秘密版本。 如果未指定,則取得最新版本。

傳回類型

例外狀況

如果秘密不存在,則為

針對其他錯誤

list_deleted_secrets

列出所有已刪除的秘密。 只能在已啟用虛刪除的保存庫中進行。

需要秘密/清單許可權。

list_deleted_secrets(**kwargs) -> ItemPaged[DeletedSecret]

傳回

已刪除秘密的反覆運算器,不包括其值

傳回類型

例外狀況

如果秘密不存在,則為

針對其他錯誤

list_properties_of_secret_versions

列出所有秘密版本的屬性,不包括其值。 需要秘密/清單許可權。

清單專案不包含秘密值。 使用 get_secret 取得秘密的值。

list_properties_of_secret_versions(name: str, **kwargs) -> ItemPaged[SecretProperties]

參數

name
str
必要

秘密的名稱

傳回

秘密的反覆運算器,不包括其值

傳回類型

例外狀況

如果秘密不存在,則為

針對其他錯誤

list_properties_of_secrets

列出保存庫中所有秘密的識別碼和屬性。 需要秘密/清單許可權。

清單專案不包含秘密值。 使用 get_secret 取得秘密的值。

list_properties_of_secrets(**kwargs) -> ItemPaged[SecretProperties]

傳回

秘密的反覆運算器,不包括其值

傳回類型

例外狀況

如果秘密不存在,則為

針對其他錯誤

purge_deleted_secret

永久刪除已刪除的秘密。 只能在已啟用虛刪除的保存庫中進行。

執行無法復原的指定秘密刪除,而無法復原。 如果 recovery_level 未指定 「可清除」,則無法使用此作業。 只有在清除秘密之前 scheduled_purge_date ,才需要這個方法。

需要秘密/清除許可權。

purge_deleted_secret(name: str, **kwargs) -> None

參數

name
str
必要

要清除的已刪除秘密名稱

傳回

例外狀況

範例


   # if the vault has soft-delete enabled, purge permanently deletes the secret
   # (with soft-delete disabled, begin_delete_secret is permanent)
   secret_client.purge_deleted_secret("secret-name")

restore_secret_backup

還原備份的秘密。 需要秘密/還原許可權。

restore_secret_backup(backup: bytes, **kwargs) -> SecretProperties

參數

backup
bytes
必要

所傳回的秘密備份 backup_secret

傳回

還原的秘密

傳回類型

例外狀況

如果秘密的名稱已在使用中,則為

針對其他錯誤

send_request

使用用戶端的現有管線執行網路要求。

要求 URL 可以相對於保存庫 URL。 除非另有指定,否則用於要求的服務 API 版本與用戶端的版本相同。 如果回應為錯誤,則這個方法不會引發;若要引發例外狀況,請在傳回的回應物件上呼叫 raise_for_status () 。 如需如何使用此方法傳送自訂要求的詳細資訊,請參閱 https://aka.ms/azsdk/dpcodegen/python/send_request

send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> HttpResponse

參數

request
HttpRequest
必要

您想要進行的網路要求。

stream
bool

是否要串流回應承載。 預設為 False。

傳回

網路呼叫的回應。 不會對回應執行錯誤處理。

傳回類型

例外狀況

如果秘密不存在,則為

針對其他錯誤

set_secret

設定秘密值。 如果 名稱 正在使用中,請建立新版本的秘密。 如果沒有,請建立新的秘密。

需要秘密/設定許可權。

set_secret(name: str, value: str, **kwargs) -> KeyVaultSecret

參數

name
str
必要

秘密的名稱

value
str
必要

秘密的值

enabled
bool

是否啟用秘密以供使用。

tags
Dict[str, str] 或 None

以機碼/值組形式的應用程式特定中繼資料。

content_type
str

指出秘密類型的任一字元串,例如 'password'

not_before
datetime

不在 UTC 的秘密日期之前

expires_on
datetime

UTC 中秘密的到期日

傳回類型

例外狀況

update_secret_properties

更新其值以外的秘密屬性。 需要秘密/設定許可權。

此方法會更新秘密的屬性,例如是否啟用密碼,但無法變更秘密的值。 使用 set_secret 來變更秘密的值。

update_secret_properties(name: str, version: str | None = None, **kwargs) -> SecretProperties

參數

name
str
必要

秘密的名稱

version
str
必要

(選擇性) 要更新的秘密版本。 如果未指定,則會更新最新版本。

enabled
bool

是否啟用秘密以供使用。

tags
Dict[str, str] 或 None

以機碼/值組形式的應用程式特定中繼資料。

content_type
str

指出秘密類型的任一字元串,例如 'password'

not_before
datetime

不在 UTC 的秘密日期之前

expires_on
datetime

UTC 中秘密的到期日

傳回類型

例外狀況

如果秘密不存在,則為

針對其他錯誤

屬性

vault_url