Condividi tramite


Set-AzureKeyVaultManagedStorageSasDefinition

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

Avviso

Il modulo AzureRM PowerShell è stato ufficialmente deprecato a partire dal 29 febbraio 2024. È consigliabile eseguire la migrazione da AzureRM al modulo Az PowerShell per garantire il supporto e gli aggiornamenti continui.

Anche se il modulo AzureRM può ancora funzionare, non è più gestito o supportato, posizionando qualsiasi uso continuo a discrezione e rischio dell'utente. Per indicazioni sulla transizione al modulo Az, vedere le risorse di migrazione.

Sintassi

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

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

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)

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.

Tipo:String
Alias:StorageAccountName
Posizione:1
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DefaultProfile

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

Tipo:IAzureContextContainer
Alias:AzureRmContext, AzureCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Disable

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InputObject

Oggetto Managed Archiviazione Account.

Tipo:PSKeyVaultManagedStorageAccountIdentityItem
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly: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.

Tipo:String
Alias:SasDefinitionName
Posizione:2
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SasType

Archiviazione tipo di firma di accesso condiviso.

Tipo:String
Posizione:4
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Tag

Coppie chiave-valore sotto forma di tabella hash. Ad esempio: @{key0="value0"; key1=$null; key2="value2"}

Tipo:Hashtable
Alias:Tags
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-TemplateUri

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

Tipo:String
Posizione:3
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly: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

Tipo:Nullable<T>[TimeSpan]
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:String
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

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

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

PSKeyVaultManagedStorageAccountIdentityItem

Parametri: InputObject (ByValue)

Output

PSKeyVaultManagedStorageSasDefinition