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
Parametreler: InputObject (ByValue)