你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzKeyVaultManagedStorageSasDefinition

为给定的 Key Vault 托管的 Azure 存储帐户设置具有 Key Vault 的共享访问签名(SAS)定义。

语法

Default (默认值)

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

ByInputObject

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

说明

使用给定的 Key Vault 托管的 Azure 存储帐户设置共享访问签名(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 令牌,用于资源类型服务、容器和对象,其中包含所有权限,通过 https 以及指定的开始日期和结束日期
  • 在保管库中设置 KeyVault 托管的存储 SAS 定义,模板 URI 作为上面创建的 SAS 令牌,SAS 类型为“account”,有效期为 30 天
  • 从对应于 SAS 定义的 KeyVault 机密中检索实际访问令牌

参数

-AccountName

Key Vault 托管存储帐户名称。 Cmdlet 从保管库名称构造托管存储帐户名称的 FQDN,当前选定的环境和托管存储帐户名称。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False
别名:存储账户名称

参数集

Default
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Confirm

在运行 cmdlet 之前,提示你进行确认。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DefaultProfile

用于与 azure 通信的凭据、帐户、租户和订阅

参数属性

类型:IAzureContextContainer
默认值:None
支持通配符:False
不显示:False
别名:AzContext, AzureRmContext, AzureCredential

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Disable

禁用 sas 定义用于生成 sas 令牌。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-InputObject

ManagedStorageAccount 对象。

参数属性

类型:PSKeyVaultManagedStorageAccountIdentityItem
默认值:None
支持通配符:False
不显示:False

参数集

ByInputObject
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Name

存储 sas 定义名称。 Cmdlet 从保管库名称(当前选定的环境、存储帐户名称和 sas 定义名称)构造存储 sas 定义的 FQDN。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False
别名:SasDefinitionName

参数集

(All)
Position:2
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-SasType

存储 SAS 类型。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:4
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Tag

以哈希表的形式进行键值对。 例如:@{key0=“value0”;key1=$null;key2=“value2”}

参数属性

类型:Hashtable
默认值:None
支持通配符:False
不显示:False
别名:标记

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-TemplateUri

存储 SAS 定义模板 URI。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:3
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ValidityPeriod

用于在生成 sas 令牌时设置 SAS 令牌到期时间的有效期

参数属性

类型:

Nullable<T>[TimeSpan]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-VaultName

保管库名称。 Cmdlet 基于名称和当前所选环境构造保管库的 FQDN。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

Default
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False
别名:无线

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

PSKeyVaultManagedStorageAccountIdentityItem

输出

PSKeyVaultManagedStorageSasDefinition