Set-AzKeyVaultManagedStorageSasDefinition

Imposta una definizione di firma di accesso condiviso con Key Vault per un determinato account di Archiviazione di Azure gestito da Key Vault.

Sintassi

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

Descrizione

Imposta una definizione di firma di accesso condiviso con un determinato account di Archiviazione di Azure gestito da Key Vault. Viene inoltre impostato un segreto che può essere usato per ottenere il token di firma di accesso condiviso in base a questa definizione di firma di accesso condiviso. Il token di firma di accesso condiviso viene generato usando questi parametri e la chiave attiva dell'insieme di credenziali delle chiavi gestito Archiviazione di Azure Account.

Esempio

Esempio 1: Impostare una definizione di firma di accesso condiviso di tipo account e ottenere un token di firma di accesso condiviso corrente basato su di esso

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

Imposta una definizione di firma di accesso condiviso dell'account 'accountsas' in un account di archiviazione gestito da KeyVault 'mysa' nell'insieme di credenziali 'mykv'. In particolare, la sequenza precedente esegue le operazioni seguenti:

  • ottiene un account di archiviazione (preesistente)
  • ottiene un insieme di credenziali delle chiavi (preesistente)
  • aggiunge un account di archiviazione gestito da KeyVault all'insieme di credenziali, impostando Key1 come chiave attiva e con un periodo di rigenerazione di 180 giorni
  • imposta un contesto di archiviazione per l'account di archiviazione specificato, con Key1
  • crea un token di firma di accesso condiviso dell'account per i servizi BLOB, file, tabelle e code, per i tipi di risorse Service, Container e Object, con tutte le autorizzazioni, su https e con le date di inizio e fine specificate
  • imposta una definizione di firma di accesso condiviso gestita da KeyVault nell'insieme di credenziali, con l'URI del modello come token di firma di accesso condiviso creato in precedenza, di tipo sas 'account' e valido per 30 giorni
  • recupera il token di accesso effettivo dal segreto KeyVault corrispondente alla definizione della firma di accesso condiviso

Parametri

-AccountName

Nome dell'account di archiviazione gestito di Key Vault. Il cmdlet costruisce il nome FQDN di un nome dell'account di archiviazione gestito dal nome dell'insieme di credenziali, l'ambiente attualmente selezionato e il nome dell'account di archiviazione gestito.

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

-Confirm

Richiede conferma prima di eseguire il cmdlet.

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

-DefaultProfile

Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Disable

Disabilita l'uso della definizione di firma di accesso condiviso per la generazione di token di firma di accesso condiviso.

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

-InputObject

Oggetto Managed Archiviazione Account.

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

-Name

Archiviazione nome della definizione della firma di accesso condiviso. Il cmdlet costruisce il nome FQDN di una definizione di firma di accesso condiviso di archiviazione dal nome dell'insieme di credenziali, dall'ambiente attualmente selezionato, dal nome dell'account di archiviazione e dal nome della definizione della firma di accesso condiviso.

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

-SasType

Archiviazione tipo di firma di accesso condiviso.

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

-Tag

Coppie chiave-valore sotto forma di tabella hash. Ad esempio: @{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

Archiviazione URI del modello di definizione della firma di accesso condiviso.

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

-ValidityPeriod

Periodo di validità che verrà usato per impostare l'ora di scadenza del token di firma di accesso condiviso dal momento in cui viene generato

Type:Nullable<T>[TimeSpan]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-VaultName

Nome dell'insieme di credenziali. Il cmdlet costruisce il nome di dominio completo di un insieme di credenziali in base al nome e all'ambiente attualmente selezionato.

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

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

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

Input

PSKeyVaultManagedStorageAccountIdentityItem

Output

PSKeyVaultManagedStorageSasDefinition