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