Set-AzKeyVaultManagedStorageSasDefinition

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

Syntax

Set-AzKeyVaultManagedStorageSasDefinition
   [-VaultName] <String>
   [-AccountName] <String>
   [-Name] <String>
   [-TemplateUri] <String>
   [-SasType] <String>
   [-Disable]
   [-Tag <Hashtable>]
   -ValidityPeriod <TimeSpan>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzKeyVaultManagedStorageSasDefinition
   [-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 令牌

$sa = Get-AzStorageAccount -Name mysa -ResourceGroupName myrg
$kv = Get-AzKeyVault -VaultName mykv
Add-AzKeyVaultManagedStorageAccount -VaultName $kv.VaultName -AccountName $sa.StorageAccountName -AccountResourceId $sa.Id -ActiveKeyName key1 -RegenerationPeriod ([System.Timespan]::FromDays(180))
$sctx = New-AzStorageContext -StorageAccountName $sa.StorageAccountName -Protocol Https -StorageAccountKey Key1
$start = [System.DateTime]::Now.AddDays(-1)
$end = [System.DateTime]::Now.AddMonths(1)
$at = "sv=2018-03-28&ss=bfqt&srt=sco&sp=rw&spr=https"
$sas = Set-AzKeyVaultManagedStorageSasDefinition -AccountName $sa.StorageAccountName -VaultName $kv.VaultName -Name accountsas -TemplateUri $at -SasType 'account' -ValidityPeriod ([System.Timespan]::FromDays(30))
Get-AzKeyVaultSecret -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,目前選取的環境和受控記憶體帳戶名稱。

Type:String
Aliases:StorageAccountName
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Disable

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Managed 儲存體 Account 物件。

Type:PSKeyVaultManagedStorageAccountIdentityItem
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

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

Type:String
Aliases:SasDefinitionName
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-SasType

儲存體 SAS 類型。

Type:String
Position:4
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Tag

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

Type:Hashtable
Aliases:Tags
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TemplateUri

儲存體 SAS 定義範本 URI。

Type:String
Position:3
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ValidityPeriod

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

Type:Nullable<T>[TimeSpan]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-VaultName

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

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

PSKeyVaultManagedStorageAccountIdentityItem

輸出

PSKeyVaultManagedStorageSasDefinition