Add-AzureKeyVaultKey

Anahtar kasasında bir anahtar oluşturur veya anahtarı anahtar kasasına aktarır.

Uyarı

AzureRM PowerShell modülü 29 Şubat 2024 itibarıyla resmi olarak kullanım dışı bırakılmıştır. Kullanıcıların destek ve güncelleştirmelerin devam etmesini sağlamak için AzureRM'den Az PowerShell modülüne geçmeleri tavsiye edilir.

AzureRM modülü çalışmaya devam edebilir, ancak artık bakım yapılmaz veya desteklenmez ve kullanıcının takdirine ve riskine bağlı olarak sürekli kullanım sağlanır. Az modülüne geçiş konusunda yönergeler için lütfen geçiş kaynaklarımıza bakın.

Syntax

Add-AzureKeyVaultKey
   [-VaultName] <String>
   [-Name] <String>
   -Destination <String>
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-Size <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzureKeyVaultKey
   [-VaultName] <String>
   [-Name] <String>
   -KeyFilePath <String>
   [-KeyFilePassword <SecureString>]
   [-Destination <String>]
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzureKeyVaultKey
   [-InputObject] <PSKeyVault>
   [-Name] <String>
   -Destination <String>
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-Size <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzureKeyVaultKey
   [-InputObject] <PSKeyVault>
   [-Name] <String>
   -KeyFilePath <String>
   [-KeyFilePassword <SecureString>]
   [-Destination <String>]
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzureKeyVaultKey
   [-ResourceId] <String>
   [-Name] <String>
   -Destination <String>
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-Size <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzureKeyVaultKey
   [-ResourceId] <String>
   [-Name] <String>
   -KeyFilePath <String>
   [-KeyFilePassword <SecureString>]
   [-Destination <String>]
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Add-AzureKeyVaultKey cmdlet'i, Azure Key Vault'taki bir anahtar kasasında bir anahtar oluşturur veya bir anahtarı anahtar kasasına aktarır. Aşağıdaki yöntemlerden herhangi birini kullanarak anahtar eklemek için bu cmdlet'i kullanın:

  • Key Vault hizmetinde bir donanım güvenlik modülünde (HSM) anahtar oluşturun.
  • Key Vault hizmetinde yazılımda bir anahtar oluşturun.
  • Anahtarı kendi donanım güvenlik modülünüzden (HSM) Key Vault hizmetindeki HSM'lere aktarın.
  • Bilgisayarınızdaki bir .pfx dosyasından anahtarı içeri aktar.
  • Anahtarı bilgisayarınızdaki bir .pfx dosyasından Key Vault hizmetindeki donanım güvenlik modüllerine (HSM) aktarın. Bu işlemlerden herhangi biri için anahtar öznitelikleri sağlayabilir veya varsayılan ayarları kabul edebilirsiniz. Anahtar kasanızda mevcut bir anahtarla aynı ada sahip bir anahtar oluşturur veya içeri aktarırsanız, özgün anahtar yeni anahtar için belirttiğiniz değerlerle güncelleştirilir. Anahtarın bu sürümü için sürüme özgü URI'yi kullanarak önceki değerlere erişebilirsiniz. Anahtar sürümleri ve URI yapısı hakkında bilgi edinmek için Key Vault REST API belgelerindeki Anahtarlar ve Gizli Diziler Hakkında bölümüne bakın. Not: Kendi donanım güvenlik modülünüzden bir anahtarı içeri aktarmak için önce Azure Key Vault BYOK araç takımını kullanarak bir BYOK paketi (.byok dosya adı uzantısına sahip bir dosya) oluşturmanız gerekir. Daha fazla bilgi için bkz . Azure Key Vault için HSM Korumalı Anahtarlar Oluşturma ve Aktarma. En iyi yöntem olarak, Backup-AzureKeyVaultKey cmdlet'ini kullanarak anahtarınızı oluşturulduktan veya güncelleştirildikten sonra yedekleyin. Geri döndürülmeyen bir işlev olmadığından, anahtarınızı yanlışlıkla silerseniz veya silerseniz ve sonra fikrinizi değiştirirseniz, geri yükleyebileceğiniz bir yedeğiniz olmadığı sürece anahtar kurtarılamaz.

Örnekler

Örnek 1: Anahtar oluşturma

PS C:\> Add-AzureKeyVaultKey -VaultName 'contoso' -Name 'ITSoftware' -Destination 'Software'

Vault Name     : contoso
Name           : ITSoftware
Version        : 67da57e9cadf48a2ad8d366b115843ab
Id             : https://contoso.vault.azure.net:443/keys/ITSoftware/67da57e9cadf48a2ad8d366b115843ab
Enabled        : True
Expires        :
Not Before     :
Created        : 5/21/2018 11:10:58 PM
Updated        : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags           :

Bu komut, Contoso adlı anahtar kasasında ITSoftware adlı yazılım korumalı bir anahtar oluşturur.

Örnek 2: HSM korumalı anahtar oluşturma

PS C:\> Add-AzureKeyVaultKey -VaultName 'contoso' -Name 'ITHsm' -Destination 'HSM'

Vault Name     : contoso
Name           : ITHsm
Version        : 67da57e9cadf48a2ad8d366b115843ab
Id             : https://contoso.vault.azure.net:443/keys/ITSoftware/67da57e9cadf48a2ad8d366b115843ab
Enabled        : True
Expires        :
Not Before     :
Created        : 5/21/2018 11:10:58 PM
Updated        : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags           :

Bu komut, contoso adlı anahtar kasasında HSM korumalı bir anahtar oluşturur.

Örnek 3: Varsayılan olmayan değerlerle anahtar oluşturma

PS C:\> $KeyOperations = 'decrypt', 'verify'
PS C:\> $Expires = (Get-Date).AddYears(2).ToUniversalTime()
PS C:\> $NotBefore = (Get-Date).ToUniversalTime()
PS C:\> $Tags = @{'Severity' = 'high'; 'Accounting' = "true"}
PS C:\> Add-AzureKeyVaultKey -VaultName 'contoso' -Name 'ITHsmNonDefault' -Destination 'HSM' -Expires $Expires -NotBefore $NotBefore -KeyOps $KeyOperations -Disable -Tag $Tags

Vault Name     : contoso
Name           : ITHsmNonDefault
Version        : 929bfc14db84439b823ffd1bedadaf5f
Id             : https://contoso.vault.azure.net:443/keys/ITHsmNonDefault/929bfc14db84439b823ffd1bedadaf5f
Enabled        : False
Expires        : 5/21/2020 11:12:43 PM
Not Before     : 5/21/2018 11:12:50 PM
Created        : 5/21/2018 11:13:17 PM
Updated        : 5/21/2018 11:13:17 PM
Purge Disabled : False
Tags           : Name        Value
                 Severity    high
                 Accounting  true

İlk komut, değerlerin şifresini çözer ve $KeyOperations değişkeninde doğrular. İkinci komut Get-Date cmdlet'ini kullanarak UTC ile tanımlanan bir DateTime nesnesi oluşturur. Bu nesne, gelecekte iki yıl süre belirtir. Komut bu tarihi $Expires değişkeninde depolar. Daha fazla bilgi için yazın Get-Help Get-Date. Üçüncü komut Get-Date cmdlet'ini kullanarak bir DateTime nesnesi oluşturur. Bu nesne geçerli UTC saatini belirtir. Komut bu tarihi $NotBefore değişkeninde depolar. Son komut, HSM korumalı bir anahtar olan ITHsmNonDefault adlı bir anahtar oluşturur. komutu, $KeyOperations depolanan izin verilen anahtar işlemleri için değerleri belirtir. komutu, önceki komutlarda oluşturulan Expires ve NotBefore parametrelerinin zamanlarını, yüksek önem derecesi ve BT için etiketleri belirtir. Yeni anahtar devre dışı bırakıldı. Set-AzureKeyVaultKey cmdlet'ini kullanarak etkinleştirebilirsiniz.

Örnek 4: HSM korumalı anahtarı içeri aktarma

PS C:\> Add-AzureKeyVaultKey -VaultName 'contoso' -Name 'ITByok' -KeyFilePath 'C:\Contoso\ITByok.byok' -Destination 'HSM'

Vault Name     : contoso
Name           : ITByok
Version        : 67da57e9cadf48a2ad8d366b115843ab
Id             : https://contoso.vault.azure.net:443/keys/ITByok/67da57e9cadf48a2ad8d366b115843ab
Enabled        : True
Expires        :
Not Before     :
Created        : 5/21/2018 11:10:58 PM
Updated        : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags           :

Bu komut, KeyFilePath parametresinin belirttiği konumdan ITByok adlı anahtarı içeri aktarır. İçeri aktarılan anahtar, HSM korumalı bir anahtardır. Kendi donanım güvenlik modülünüzden bir anahtarı içeri aktarmak için önce Azure Key Vault BYOK araç takımını kullanarak bir BYOK paketi (.byok dosya adı uzantısına sahip bir dosya) oluşturmanız gerekir. Daha fazla bilgi için bkz . Azure Key Vault için HSM Korumalı Anahtarlar Oluşturma ve Aktarma.

Örnek 5: Yazılım korumalı anahtarı içeri aktarma

PS C:\> $Password = ConvertTo-SecureString -String 'Password' -AsPlainText -Force
PS C:\> Add-AzureKeyVaultKey -VaultName 'contoso' -Name 'ITPfx' -KeyFilePath 'C:\Contoso\ITPfx.pfx' -KeyFilePassword $Password

Vault Name     : contoso
Name           : ITPfx
Version        : 67da57e9cadf48a2ad8d366b115843ab
Id             : https://contoso.vault.azure.net:443/keys/ITPfx/67da57e9cadf48a2ad8d366b115843ab
Enabled        : True
Expires        :
Not Before     :
Created        : 5/21/2018 11:10:58 PM
Updated        : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags           :

İlk komut ConvertTo-SecureString cmdlet'ini kullanarak bir dizeyi güvenli bir dizeye dönüştürür ve ardından bu dizeyi $Password değişkeninde depolar. Daha fazla bilgi için yazın Get-Help ConvertTo-SecureString. İkinci komut Contoso anahtar kasasında bir yazılım parolası oluşturur. komutu, anahtarın konumunu ve $Password depolanan parolayı belirtir.

Örnek 6: Anahtarı içeri aktarma ve öznitelik atama

PS C:\> $Password = ConvertTo-SecureString -String 'password' -AsPlainText -Force
PS C:\> $Expires = (Get-Date).AddYears(2).ToUniversalTime()
PS C:\> $Tags = @{ 'Severity' = 'high'; 'Accounting' = "true" }
PS C:\> Add-AzureKeyVaultKey -VaultName 'contoso' -Name 'ITPfxToHSM' -Destination 'HSM' -KeyFilePath 'C:\Contoso\ITPfx.pfx' -KeyFilePassword $Password -Expires $Expires -Tag $Tags

Vault Name     : contoso
Name           : ITPfxToHSM
Version        : 929bfc14db84439b823ffd1bedadaf5f
Id             : https://contoso.vault.azure.net:443/keys/ITPfxToHSM/929bfc14db84439b823ffd1bedadaf5f
Enabled        : True
Expires        : 5/21/2020 11:12:43 PM
Not Before     : 
Created        : 5/21/2018 11:13:17 PM
Updated        : 5/21/2018 11:13:17 PM
Purge Disabled : False
Tags           : Name        Value
                 Severity    high
                 Accounting  true

İlk komut ConvertTo-SecureString cmdlet'ini kullanarak bir dizeyi güvenli bir dizeye dönüştürür ve ardından bu dizeyi $Password değişkeninde depolar. İkinci komut Get-Date cmdlet'ini kullanarak bir DateTime nesnesi oluşturur ve bu nesneyi $Expires değişkeninde depolar. Üçüncü komut, yüksek önem derecesine ve BT'ye yönelik etiketleri ayarlamak için $tags değişkenini oluşturur. Son komut, belirtilen konumdan bir anahtarı HSM anahtarı olarak içeri aktarır. komutu, $Expires depolanan süre sonunu ve $Password depolanan parolayı belirtir ve $tags depolanan etiketleri uygular.

Parametreler

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

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

-DefaultProfile

Azure ile iletişim için kullanılan kimlik bilgileri, hesap, kiracı ve abonelik

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

-Destination

Anahtarın yazılım korumalı anahtar olarak mı yoksa Key Vault hizmetinde HSM korumalı anahtar olarak mı ekleneceğini belirtir. Geçerli değerler şunlardır: HSM ve Yazılım. Not: HSM'yi hedefiniz olarak kullanmak için HSM'leri destekleyen bir anahtar kasanız olmalıdır. Azure Key Vault hizmet katmanları ve özellikleri hakkında daha fazla bilgi için bkz . Azure Key Vault Fiyatlandırma web sitesi. Yeni bir anahtar oluşturduğunuzda bu parametre gereklidir. KeyFilePath parametresini kullanarak bir anahtarı içeri aktarırsanız, bu parametre isteğe bağlıdır:

  • Bu parametreyi belirtmezseniz ve bu cmdlet .byok dosya adı uzantısına sahip bir anahtarı içeri aktarırsa, bu anahtarı HSM korumalı anahtar olarak içeri aktarır. Cmdlet, bu anahtarı yazılım korumalı anahtar olarak içeri aktaramaz.
  • Bu parametreyi belirtmezseniz ve bu cmdlet .pfx dosya adı uzantısına sahip bir anahtarı içeri aktarırsa, anahtarı yazılım korumalı anahtar olarak içeri aktarır.
Type:String
Accepted values:HSM, Software, HSM, Software
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Disable

Eklediğiniz anahtarın ilk devre dışı durumuna ayarlandığını gösterir. Anahtarı kullanma girişimi başarısız olur. Daha sonra etkinleştirmeyi planladığınız anahtarları önceden yüklüyorsanız bu parametreyi kullanın.

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

-Expires

Bu cmdlet'in eklediği anahtar için datetime nesnesi olarak süre sonunu belirtir. Bu parametre Eşgüdümlü Evrensel Saat (UTC) kullanır. DateTime nesnesi almak için Get-Date cmdlet'ini kullanın. Daha fazla bilgi için yazın Get-Help Get-Date. Bu parametreyi belirtmezseniz anahtarın süresi dolmaz.

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

-InputObject

Kasa nesnesi.

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

-KeyFilePassword

İçeri aktarılan dosyanın parolasını SecureString nesnesi olarak belirtir. SecureString nesnesi almak için ConvertTo-SecureString cmdlet'ini kullanın. Daha fazla bilgi için yazın Get-Help ConvertTo-SecureString. .pfx dosya adı uzantısına sahip bir dosyayı içeri aktarmak için bu parolayı belirtmeniz gerekir.

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

-KeyFilePath

Bu cmdlet'in içeri aktarıldığı anahtar malzemeyi içeren yerel dosyanın yolunu belirtir. Geçerli dosya adı uzantıları .byok ve .pfx'tir.

  • Dosya bir .byok dosyasıysa, içeri aktarma işleminden sonra anahtar HSM'ler tarafından otomatik olarak korunur ve bu varsayılanı geçersiz kılamazsınız.
  • Dosya bir .pfx dosyasıysa, içeri aktarma işleminden sonra anahtar yazılım tarafından otomatik olarak korunur. Bu varsayılanı geçersiz kılmak için, Anahtar HSM korumalı olacak şekilde Hedef parametresini HSM olarak ayarlayın. Bu parametreyi belirttiğinizde Hedef parametresi isteğe bağlıdır.
Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-KeyOps

Bu cmdlet'in eklediği anahtar kullanılarak gerçekleştirilebilecek bir işlem dizisi belirtir. Bu parametreyi belirtmezseniz, tüm işlemler gerçekleştirilebilir. Bu parametre için kabul edilebilir değerler, JSON Web Anahtarı (JWK) belirtimi tarafından tanımlanan anahtar işlemlerinin virgülle ayrılmış bir listesidir:

  • Şifreleme
  • Şifre Çözme
  • Kaydır
  • Unwrap
  • Oturum aç
  • Doğrulama
Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Anahtar kasasına eklenecek anahtarın adını belirtir. Bu cmdlet, bu parametrenin belirttiği ada, anahtar kasasının adına ve geçerli ortamınıza göre bir anahtarın tam etki alanı adını (FQDN) oluşturur. Ad yalnızca 0-9, a-z, A-Z ve - (tire simgesi) içeren 1 ile 63 karakter uzunluğunda bir dize olmalıdır.

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

-NotBefore

DateTime nesnesi olarak, anahtarın kullanılamayacağı saati belirtir. Bu parametre UTC kullanır. DateTime nesnesi almak için Get-Date cmdlet'ini kullanın. Bu parametreyi belirtmezseniz anahtar hemen kullanılabilir.

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

-ResourceId

Kasa Kaynak Kimliği.

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

-Size

Bit cinsinden RSA anahtar boyutu. Belirtilmezse, hizmet güvenli bir varsayılan değer sağlar.

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

-Tag

Karma tablo biçiminde anahtar-değer çiftleri. Örneğin: @{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

-VaultName

Bu cmdlet'in anahtarı eklediği anahtar kasasının adını belirtir. Bu cmdlet, bu parametrenin belirttiği ada ve geçerli ortamınıza göre bir anahtar kasasının FQDN'sini oluşturur.

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

-WhatIf

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

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

Girişler

PSKeyVault

Parametreler: InputObject (ByValue)

String

Çıkışlar

PSKeyVaultKey