Set-AzureKeyVaultManagedStorageSasDefinition
特定の Key Vault マネージド Azure ストレージ アカウントに対して、Key Vault を使用して Shared Access Signature (SAS) 定義を設定します。
警告
AzureRM PowerShell モジュールは、2024 年 2 月 29 日の時点で正式に非推奨になりました。 引き続きサポートを受け、更新を受け取れるようにするために、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>]
説明
指定された Key Vault マネージド Azure ストレージ アカウントを使用して Shared Access Signature (SAS) 定義を設定します。 これにより、この SAS 定義に従って SAS トークンを取得するために使用できるシークレットも設定されます。 SAS トークンは、これらのパラメーターと Key Vault マネージド 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 で設定します
- は、サービス 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: | 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
Parameters: InputObject (ByValue)
出力
PSKeyVaultManagedStorageSasDefinition