Set-AzKeyVaultManagedStorageSasDefinition

特定の Key Vault マネージド Azure ストレージ アカウントに対して、Key Vault を使用して Shared Access Signature (SAS) 定義を設定します。

構文

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>]

説明

指定された Key Vault マネージド Azure ストレージ アカウントを使用して Shared Access Signature (SAS) 定義を設定します。 これにより、この SAS 定義に従って SAS トークンを取得するために使用できるシークレットも設定されます。 SAS トークンは、これらのパラメーターと Key Vault マネージド 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 で設定します
  • は、サービス BLOB、ファイル、テーブル、キューのアカウント SAS トークンを作成します。リソースの種類は Service、Container、Object で、すべてのアクセス許可を持ち、https 経由で、指定した開始日と終了日を使用します
  • コンテナー内の KeyVault マネージド ストレージ SAS 定義を設定します。テンプレート URI は上記で作成した SAS トークンとして、SAS の種類は "account" で、30 日間有効です
  • は、SAS 定義に対応する KeyVault シークレットから実際のアクセス トークンを取得します

パラメーター

-AccountName

Key Vault マネージド ストレージ アカウント名。 コマンドレットは、コンテナー名、現在選択されている環境、および管理されたストレージ アカウント名から、マネージド ストレージ アカウント名の FQDN を構築します。

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

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

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

ManagedStorageAccount オブジェクト。

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

-Name

ストレージ SAS 定義名。 コマンドレットは、コンテナー名、現在選択されている環境、ストレージ アカウント名、および 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

コンテナー名。 コマンドレットは、名前と現在選択されている環境に基づいて、コンテナーの FQDN を構築します。

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

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

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

入力

PSKeyVaultManagedStorageAccountIdentityItem

出力

PSKeyVaultManagedStorageSasDefinition