Freigeben über


Set-AzureKeyVaultManagedStorageSasDefinition

Legt eine SAS-Definition (Shared Access Signature) mit Key Vault für ein bestimmtes vom Key Vault verwaltetes Azure Storage-Konto fest.

Warnung

Das AzureRM PowerShell-Modul ist seit dem 29. Februar 2024 offiziell veraltet. Benutzern wird empfohlen, von AzureRM zum Az PowerShell-Modul zu migrieren, um weiterhin Support und Updates zu erhalten.

Obwohl das AzureRM-Modul möglicherweise weiterhin funktioniert, wird es nicht mehr gewartet, und es wird kein Support mehr angeboten. Die weitere Nutzung erfolgt daher nach Ermessen und Risiko des Benutzers. Weitere Informationen zum Übergang zum Az-Modul finden Sie in unseren Migrationsressourcen.

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

Beschreibung

Legt eine SAS-Definition (Shared Access Signature) mit einem bestimmten vom Key Vault verwalteten Azure Storage-Konto fest. Dadurch wird auch ein geheimer Schlüssel festgelegt, mit dem das SAS-Token pro dieser SAS-Definition abgerufen werden kann. DAS SAS-Token wird mithilfe dieser Parameter und des aktiven Schlüssels des vom Key Vault verwalteten Azure Storage-Kontos generiert.

Beispiele

Beispiel 1: Festlegen einer SAS-Definition vom Typ "Account", und Abrufen eines aktuellen SAS-Tokens basierend darauf

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)

Legt eine SAS-Kontodefinition "accountsas" für ein vom KeyVault verwaltetes Speicherkonto "mysa" im Tresor "mykv" fest. Insbesondere führt die obige Sequenz Folgendes aus:

  • ruft ein (bereits vorhandenes) Speicherkonto ab.
  • ruft einen (bereits vorhandenen) Schlüsseltresor ab.
  • fügt dem Tresor ein vom KeyVault verwaltetes Speicherkonto hinzu, wobei Key1 als aktiver Schlüssel festgelegt wird und ein Regenerationszeitraum von 180 Tagen besteht.
  • legt einen Speicherkontext für das angegebene Speicherkonto mit Key1 fest.
  • erstellt ein Konto-SAS-Token für Dienste Blob, Datei, Tabelle und Warteschlange für Ressourcentypen Dienst, Container und Objekt, mit allen Berechtigungen, über HTTPS und mit den angegebenen Anfangs- und Enddaten
  • legt eine sasvault-verwaltete Speicher-SAS-Definition im Tresor fest, wobei der Vorlagen-URI als oben erstelltes SAS-Token vom SAS-Typ "Account" und 30 Tage gültig ist.
  • Ruft das tatsächliche Zugriffstoken aus dem Schlüsselschlüssel ab, der der SAS-Definition entspricht.

Parameter

-AccountName

Name des vom Schlüsseltresor verwalteten Speicherkontos. Cmdlet erstellt den FQDN eines verwalteten Speicherkontonamens aus dem Tresornamen, der aktuell ausgewählten Umgebung und dem Namen des verwalteten Speicherkontos.

Typ:String
Aliase:StorageAccountName
Position:1
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultProfile

Anmeldeinformationen, Konto, Mandant und Abonnement für die Kommunikation mit Azure

Typ:IAzureContextContainer
Aliase:AzureRmContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Disable

Deaktiviert die Verwendung der Sas-Definition für die Generierung von SAS-Token.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputObject

ManagedStorageAccount-Objekt.

Typ:PSKeyVaultManagedStorageAccountIdentityItem
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Name

Speicher-Sas-Definitionsname. Das Cmdlet erstellt den FQDN einer Speicher-Sas-Definition aus dem Tresornamen, der aktuell ausgewählten Umgebung, dem Namen des Speicherkontos und dem Sas-Definitionsnamen.

Typ:String
Aliase:SasDefinitionName
Position:2
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SasType

Speicher-SAS-Typ.

Typ:String
Position:4
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Tag

Schlüssel-Wert-Paare in Form einer Hashtabelle. Beispiel: @{key0="value0"; key1=$null; key2="value2"}

Typ:Hashtable
Aliase:Tags
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TemplateUri

Speicher-SAS-Definitionsvorlagen-URI.

Typ:String
Position:3
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ValidityPeriod

Gültigkeitszeitraum, der verwendet wird, um die Ablaufzeit des SAS-Tokens ab dem Zeitpunkt festzulegen, zu dem es generiert wird

Typ:Nullable<T>[TimeSpan]
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-VaultName

Name des Tresors. Cmdlet erstellt den FQDN eines Tresors basierend auf dem Namen und der aktuell ausgewählten Umgebung.

Typ:String
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

PSKeyVaultManagedStorageAccountIdentityItem

Parameter: InputObject (ByValue)

Ausgaben

PSKeyVaultManagedStorageSasDefinition