Freigeben über


Set-AzKeyVaultManagedStorageSasDefinition

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

Syntax

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

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

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

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:AzContext, 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

Ausgaben

PSKeyVaultManagedStorageSasDefinition