Compartilhar via


Set-AzKeyVaultManagedStorageSasDefinition

Define uma definição de SAS (Assinatura de Acesso Compartilhado) com o Key Vault para uma determinada Conta de Armazenamento do Azure gerenciada pelo Key Vault.

Sintaxe

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

Define uma definição de SAS (Assinatura de Acesso Compartilhado) com uma conta de armazenamento do Azure gerenciada pelo Key Vault. Isso também define um segredo que pode ser usado para obter o token SAS de acordo com essa definição de SAS. O token SAS é gerado usando esses parâmetros e a chave ativa da Conta de Armazenamento do Azure gerenciada pelo Key Vault.

Exemplos

Exemplo 1: definir uma definição de SAS do tipo conta e obter um token SAS atual com base nele

$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)

Define uma definição de SAS de conta 'accountsas' em uma conta de armazenamento gerenciada por KeyVault 'mysa' no cofre 'mykv'. Especificamente, a sequência acima executa o seguinte:

  • obtém uma conta de armazenamento (pré-existente)
  • obtém um cofre de chaves (pré-existente)
  • adiciona uma conta de armazenamento gerenciada por KeyVault ao cofre, definindo Key1 como a chave ativa e com um período de regeneração de 180 dias
  • define um contexto de armazenamento para a conta de armazenamento especificada, com Key1
  • cria um token SAS de conta para serviços Blob, Arquivo, Tabela e Fila, para tipos de recursos Serviço, Contêiner e Objeto, com todas as permissões, em https e com as datas de início e término especificadas
  • define uma definição de SAS de armazenamento gerenciado por KeyVault no cofre, com o uri de modelo como o token SAS criado acima, do tipo SAS 'account' e válido por 30 dias
  • recupera o token de acesso real do segredo KeyVault correspondente à definição de SAS

Parâmetros

-AccountName

Nome da conta de armazenamento gerenciada do Key Vault. O cmdlet constrói o FQDN de um nome de conta de armazenamento gerenciado a partir do nome do cofre, do ambiente atualmente selecionado e do nome da conta de armazenamento manged.

Tipo:String
Aliases:StorageAccountName
Cargo:1
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Confirm

Solicita a confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DefaultProfile

As credenciais, a conta, o locatário e a assinatura usados para comunicação com o azure

Tipo:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Disable

Desabilita o uso da definição sas para geração de token sas.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

Objeto ManagedStorageAccount.

Tipo:PSKeyVaultManagedStorageAccountIdentityItem
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Name

Nome da definição sas de armazenamento. O cmdlet constrói o FQDN de uma definição sas de armazenamento a partir do nome do cofre, ambiente atualmente selecionado, nome da conta de armazenamento e nome de definição sas.

Tipo:String
Aliases:SasDefinitionName
Cargo:2
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SasType

Tipo SAS de armazenamento.

Tipo:String
Cargo:4
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Tag

Pares chave-valor na forma de uma tabela de hash. Por exemplo: @{key0="value0"; key1=$null; key2="value2"}

Tipo:Hashtable
Aliases:Tags
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-TemplateUri

URI de modelo de definição de SAS de armazenamento.

Tipo:String
Cargo:3
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ValidityPeriod

Período de validade que será usado para definir o tempo de expiração do token sas a partir do momento em que ele é gerado

Tipo:Nullable<T>[TimeSpan]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-VaultName

Nome do cofre. O cmdlet constrói o FQDN de um cofre com base no nome e no ambiente selecionado no momento.

Tipo:String
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

PSKeyVaultManagedStorageAccountIdentityItem

Saídas

PSKeyVaultManagedStorageSasDefinition