Partilhar via


Set-AzureKeyVaultManagedStorageSasDefinition

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

Aviso

O módulo AzureRM PowerShell foi oficialmente preterido a partir de 29 de fevereiro de 2024. Os usuários são aconselhados a migrar do AzureRM para o módulo Az PowerShell para garantir suporte e atualizações contínuos.

Embora o módulo AzureRM ainda possa funcionar, ele não é mais mantido ou suportado, colocando qualquer uso continuado a critério e risco do usuário. Consulte nossos recursos de migração para obter orientação sobre a transição para o módulo Az.

Syntax

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

Description

Define uma definição de Assinatura de Acesso Compartilhado (SAS) com uma determinada Conta de Armazenamento do Azure gerenciada pelo Cofre da Chave. 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 Cofre de Chaves.

Exemplos

Exemplo 1: Definir uma definição SAS de tipo de conta e obter um token SAS atual com base nela

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)

Define uma definição de SAS de conta 'accountsas' em uma conta de armazenamento gerenciada pelo KeyVault 'mysa' no vault '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 pelo 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, File, Table e Queue, para os tipos de recursos Service, Container e Object, com todas as permissões, sobre https e com as datas de início e término especificadas
  • define uma definição de SAS de armazenamento gerenciado pelo KeyVault no vault, com o uri do 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 SAS

Parâmetros

-AccountName

Nome da conta de armazenamento gerenciado 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 selecionado no momento e do nome da conta de armazenamento gerenciado.

Tipo:String
Aliases:StorageAccountName
Position:1
valor predefinido:None
Necessário:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Tipo:SwitchParameter
Aliases:cf
Position:Named
valor predefinido:None
Necessário:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Tipo:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
valor predefinido:None
Necessário:False
Accept pipeline input:False
Accept wildcard characters:False

-Disable

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

Tipo:SwitchParameter
Position:Named
valor predefinido:None
Necessário:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Objeto ManagedStorageAccount.

Tipo:PSKeyVaultManagedStorageAccountIdentityItem
Position:0
valor predefinido:None
Necessário:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

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

Tipo:String
Aliases:SasDefinitionName
Position:2
valor predefinido:None
Necessário:True
Accept pipeline input:False
Accept wildcard characters:False

-SasType

Tipo SAS de armazenamento.

Tipo:String
Position:4
valor predefinido:None
Necessário:True
Accept pipeline input:False
Accept wildcard characters:False

-Tag

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

Tipo:Hashtable
Aliases:Tags
Position:Named
valor predefinido:None
Necessário:False
Accept pipeline input:False
Accept wildcard characters:False

-TemplateUri

Uri do modelo de definição SAS de armazenamento.

Tipo:String
Position:3
valor predefinido:None
Necessário:True
Accept pipeline input:False
Accept wildcard characters: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]
Position:Named
valor predefinido:None
Necessário:True
Accept pipeline input:False
Accept wildcard characters: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
Position:0
valor predefinido:None
Necessário:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Position:Named
valor predefinido:None
Necessário:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

PSKeyVaultManagedStorageAccountIdentityItem

Parâmetros: InputObject (ByValue)

Saídas

PSKeyVaultManagedStorageSasDefinition