共用方式為


Set-AzureKeyVaultManagedStorageSasDefinition

為指定的受控 金鑰保存庫 Azure 儲存體 帳戶設定具有 金鑰保存庫 的共用存取簽章 (SAS) 定義。

警告

自 2024 年 2 月 29 日起,AzureRM PowerShell 模組已正式淘汰。 建議使用者從 AzureRM 遷移至 Az PowerShell 模組,以確保持續支援和更新。

雖然 AzureRM 模組可能仍可運作,但不再維護或支援它,但會根據用戶的判斷權和風險放置任何繼續使用。 如需轉換至 Az 模組的指引,請參閱我們的 移轉資源

語法

Set-AzureKeyVaultManagedStorageSasDefinition
   [-VaultName] <String>
   [-AccountName] <String>
   [-Name] <String>
   [-TemplateUri] <String>
   [-SasType] <String>
   [-Disable]
   [-Tag <Hashtable>]
   -ValidityPeriod <TimeSpan>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureKeyVaultManagedStorageSasDefinition
   [-InputObject] <PSKeyVaultManagedStorageAccountIdentityItem>
   [-Name] <String>
   [-TemplateUri] <String>
   [-SasType] <String>
   [-Disable]
   [-Tag <Hashtable>]
   -ValidityPeriod <TimeSpan>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

使用指定的 金鑰保存庫 受控 Azure 儲存體 帳戶來設定共用存取簽章 (SAS) 定義。 這也會設定秘密,可用來根據此 SAS 定義取得 SAS 令牌。 SAS 令牌是使用這些參數和 金鑰保存庫 受管理 Azure 儲存體 帳戶的作用中密鑰來產生。

範例

範例 1:設定帳戶類型 SAS 定義,並根據它取得目前的 SAS 令牌

PS C:\> $sa = Get-AzureRmStorageAccount -Name mysa -ResourceGroupName myrg
PS C:\> $kv = Get-AzureRmKeyVault -VaultName mykv
PS C:\> Add-AzureKeyVaultManagedStorageAccount -VaultName $kv.VaultName -AccountName $sa.StorageAccountName -AccountResourceId $sa.Id -ActiveKeyName key1 -RegenerationPeriod 180
PS C:\> $sctx = New-AzureStorageContext -StorageAccountName $sa.StorageAccountName -Protocol Https -StorageAccountKey Key1
PS C:\> $start = [System.DateTime]::Now.AddDays(-1)
PS C:\> $end = [System.DateTime]::Now.AddMonths(1)
PS C:\> $at = New-AzureStorageAccountSasToken -Service blob,file,Table,Queue -ResourceType Service,Container,Object -Permission "racwdlup" -Protocol HttpsOnly -StartTime $start -ExpiryTime $end -Context $sctx
PS C:\> $sas = Set-AzureKeyVaultManagedStorageSasDefinition -AccountName $sa.StorageAccountName -VaultName $kv.VaultName -Name accountsas -TemplateUri $at -SasType 'account' -ValidityPeriod ([System.Timespan]::FromDays(30))
PS C:\> Get-AzureKeyVaultSecret -VaultName $kv.VaultName -Name $sas.Sid.Substring($sas.Sid.LastIndexOf('/')+1)

在保存庫 'mykv' 的 KeyVault 受控記憶體帳戶 'mysa' 上設定帳戶 SAS 定義 'accountsas'。 具體來說,上述順序會執行下列動作:

  • 取得 (預先存在的) 儲存體帳戶
  • 取得 (預先存在的) 金鑰保存庫
  • 將 KeyVault 管理的記憶體帳戶新增至保存庫、將 Key1 設定為使用中密鑰,以及重新產生期間為 180 天
  • 使用 Key1 設定指定記憶體帳戶的記憶體內容
  • 針對資源類型 Service、Container 和 Object,透過 HTTPs 建立服務 Blob、檔案、數據表和佇列的帳戶 SAS 令牌,並透過 HTTPs,以及指定的開始和結束日期
  • 在保存庫中設定 KeyVault 管理的記憶體 SAS 定義,並將範本 URI 作為上面建立的 SAS 令牌,SAS 類型為 'account' 且有效期為 30 天
  • 從對應至 SAS 定義的 KeyVault 秘密擷取實際存取令牌

參數

-AccountName

金鑰保存庫 受控記憶體帳戶名稱。 Cmdlet 會從保存庫名稱建構受控記憶體帳戶名稱的 FQDN,目前選取的環境和受控記憶體帳戶名稱。

類型:String
別名:StorageAccountName
Position:1
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Confirm

執行 Cmdlet 之前先提示您確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶

類型:IAzureContextContainer
別名:AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Disable

停用 sas 定義來產生 sas 令牌。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-InputObject

ManagedStorageAccount 物件。

類型:PSKeyVaultManagedStorageAccountIdentityItem
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Name

記憶體 SAS 定義名稱。 Cmdlet 會從保存庫名稱、目前選取的環境、記憶體帳戶名稱和 sas 定義名稱建構記憶體 sas 定義的 FQDN。

類型:String
別名:SasDefinitionName
Position:2
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-SasType

記憶體 SAS 類型。

類型:String
Position:4
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Tag

哈希表形式的索引鍵/值組。 例如:@{key0=“value0”;key1=$null;key2=“value2”}

類型:Hashtable
別名:Tags
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-TemplateUri

記憶體 SAS 定義範本 URI。

類型:String
Position:3
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-ValidityPeriod

將用來設定 SAS 令牌到期時間的有效期間,從產生時開始

類型:Nullable<T>[TimeSpan]
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-VaultName

保存庫名稱。 Cmdlet 會根據名稱和目前選取的環境來建構保存庫的 FQDN。

類型:String
Position:0
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

類型:SwitchParameter
別名:wi
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

PSKeyVaultManagedStorageAccountIdentityItem

參數:InputObject (ByValue)

輸出

PSKeyVaultManagedStorageSasDefinition