Add-AzureKeyVaultKey
Membuat kunci di brankas kunci atau mengimpor kunci ke dalam brankas kunci.
Peringatan
Modul AzureRM PowerShell telah resmi tidak digunakan lagi per 29 Februari 2024. Pengguna disarankan untuk bermigrasi dari AzureRM ke modul Az PowerShell untuk memastikan dukungan dan pembaruan yang berkelanjutan.
Meskipun modul AzureRM mungkin masih berfungsi, modul tersebut tidak lagi dipertahankan atau didukung, menempatkan penggunaan berkelanjutan berdasarkan kebijaksanaan dan risiko pengguna. Silakan merujuk ke sumber daya migrasi kami untuk panduan tentang transisi ke modul Az.
Sintaks
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>]
Deskripsi
Cmdlet Add-AzureKeyVaultKey membuat kunci di brankas kunci di Azure Key Vault, atau mengimpor kunci ke dalam brankas kunci. Gunakan cmdlet ini untuk menambahkan kunci dengan menggunakan salah satu metode berikut:
- Buat kunci dalam modul keamanan perangkat keras (HSM) di layanan Key Vault.
- Buat kunci dalam perangkat lunak di layanan Key Vault.
- Impor kunci dari modul keamanan perangkat keras (HSM) Anda sendiri ke HSM di layanan Key Vault.
- Impor kunci dari file .pfx di komputer Anda.
- Impor kunci dari file .pfx di komputer Anda ke modul keamanan perangkat keras (HSM) di layanan Key Vault. Untuk salah satu operasi ini, Anda dapat menyediakan atribut utama atau menerima pengaturan default. Jika Anda membuat atau mengimpor kunci yang memiliki nama yang sama dengan kunci yang ada di brankas kunci Anda, kunci asli diperbarui dengan nilai yang Anda tentukan untuk kunci baru. Anda dapat mengakses nilai sebelumnya dengan menggunakan URI khusus versi untuk versi kunci tersebut. Untuk mempelajari tentang versi kunci dan struktur URI, lihat Tentang Kunci dan Rahasia dalam dokumentasi REST API Key Vault. Catatan: Untuk mengimpor kunci dari modul keamanan perangkat keras Anda sendiri, Anda harus terlebih dahulu membuat paket BYOK (file dengan ekstensi nama file .byok) dengan menggunakan toolset BYOK Azure Key Vault. Untuk informasi selengkapnya, lihat Cara Membuat dan Mentransfer Kunci yang Dilindungi HSM untuk Azure Key Vault. Sebagai praktik terbaik, cadangkan kunci Anda setelah dibuat atau diperbarui, dengan menggunakan cmdlet Backup-AzureKeyVaultKey. Tidak ada fungsionalitas yang tidak dihapus, jadi jika Anda secara tidak sengaja menghapus kunci atau menghapusnya dan kemudian berubah pikiran, kunci tidak dapat dipulihkan kecuali Anda memiliki cadangannya yang dapat Anda pulihkan.
Contoh
Contoh 1: Membuat kunci
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 :
Perintah ini membuat kunci yang dilindungi perangkat lunak bernama ITSoftware di brankas kunci bernama Contoso.
Contoh 2: Membuat kunci yang dilindungi HSM
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 :
Perintah ini membuat kunci yang dilindungi HSM di brankas kunci bernama Contoso.
Contoh 3: Membuat kunci dengan nilai non-default
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
Perintah pertama menyimpan nilai yang didekripsi dan memverifikasi dalam variabel $KeyOperations.
Perintah kedua membuat objek DateTime , yang ditentukan dalam UTC, dengan menggunakan cmdlet Get-Date .
Objek itu menentukan waktu dua tahun di masa depan. Perintah menyimpan tanggal tersebut dalam variabel $Expires. Untuk informasi selengkapnya, ketik Get-Help Get-Date
.
Perintah ketiga membuat objek DateTime dengan menggunakan cmdlet Get-Date . Objek tersebut menentukan waktu UTC saat ini. Perintah menyimpan tanggal tersebut dalam variabel $NotBefore.
Perintah akhir membuat kunci bernama ITHsmNonDefault yang merupakan kunci yang dilindungi HSM. Perintah menentukan nilai untuk operasi kunci yang diizinkan yang disimpan $KeyOperations. Perintah menentukan waktu untuk parameter Kedaluwarsa dan NotBefore yang dibuat dalam perintah sebelumnya, dan tag untuk tingkat keparahan tinggi dan TI. Kunci baru dinonaktifkan. Anda dapat mengaktifkannya dengan menggunakan cmdlet Set-AzureKeyVaultKey .
Contoh 4: Mengimpor kunci yang dilindungi HSM
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 :
Perintah ini mengimpor kunci bernama ITByok dari lokasi yang ditentukan parameter KeyFilePath . Kunci yang diimpor adalah kunci yang dilindungi HSM. Untuk mengimpor kunci dari modul keamanan perangkat keras Anda sendiri, Anda harus terlebih dahulu membuat paket BYOK (file dengan ekstensi nama file .byok) dengan menggunakan toolset BYOK Azure Key Vault. Untuk informasi selengkapnya, lihat Cara Membuat dan Mentransfer Kunci yang Dilindungi HSM untuk Azure Key Vault.
Contoh 5: Mengimpor kunci yang dilindungi perangkat lunak
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 :
Perintah pertama mengonversi string menjadi string aman dengan menggunakan cmdlet ConvertTo-SecureString , lalu menyimpan string tersebut dalam variabel $Password. Untuk informasi selengkapnya, ketik Get-Help ConvertTo-SecureString
.
Perintah kedua membuat kata sandi perangkat lunak di brankas kunci Contoso. Perintah menentukan lokasi untuk kunci dan kata sandi yang disimpan di $Password.
Contoh 6: Mengimpor kunci dan menetapkan atribut
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
Perintah pertama mengonversi string menjadi string aman dengan menggunakan cmdlet ConvertTo-SecureString , lalu menyimpan string tersebut dalam variabel $Password. Perintah kedua membuat objek DateTime dengan menggunakan cmdlet Get-Date , lalu menyimpan objek tersebut dalam variabel $Expires. Perintah ketiga membuat variabel $tags untuk mengatur tag untuk tingkat keparahan tinggi dan IT. Perintah akhir mengimpor kunci sebagai kunci HSM dari lokasi yang ditentukan. Perintah menentukan waktu kedaluwarsa yang disimpan di $Expires dan kata sandi yang disimpan di $Password, dan menerapkan tag yang disimpan di $tags.
Parameter
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
Kredensial, akun, penyewa, dan langganan yang digunakan untuk komunikasi dengan azure
Type: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Destination
Menentukan apakah akan menambahkan kunci sebagai kunci yang dilindungi perangkat lunak atau kunci yang dilindungi HSM di layanan Key Vault. Nilai yang valid adalah: HSM dan Perangkat Lunak. Catatan: Untuk menggunakan HSM sebagai tujuan, Anda harus memiliki brankas kunci yang mendukung HSM. Untuk informasi selengkapnya tentang tingkat layanan dan kemampuan untuk Azure Key Vault, lihat situs web Harga Vault Kunci Azure. Parameter ini diperlukan saat Anda membuat kunci baru. Jika Anda mengimpor kunci dengan menggunakan parameter KeyFilePath , parameter ini bersifat opsional:
- Jika Anda tidak menentukan parameter ini, dan cmdlet ini mengimpor kunci yang memiliki ekstensi nama file .byok, ia mengimpor kunci tersebut sebagai kunci yang dilindungi HSM. Cmdlet tidak dapat mengimpor kunci tersebut sebagai kunci yang dilindungi perangkat lunak.
- Jika Anda tidak menentukan parameter ini, dan cmdlet ini mengimpor kunci yang memiliki ekstensi nama file .pfx, itu mengimpor kunci sebagai kunci yang dilindungi perangkat lunak.
Type: | String |
Accepted values: | HSM, Software, HSM, Software |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Disable
Menunjukkan bahwa kunci yang Anda tambahkan diatur ke status awal dinonaktifkan. Setiap upaya untuk menggunakan kunci akan gagal. Gunakan parameter ini jika Anda melakukan pramuat kunci yang ingin Anda aktifkan nanti.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expires
Menentukan waktu kedaluwarsa, sebagai objek DateTime , untuk kunci yang ditambahkan cmdlet ini. Parameter ini menggunakan Waktu Universal Terkoordinasi (UTC). Untuk mendapatkan objek DateTime , gunakan cmdlet Get-Date . Untuk informasi selengkapnya, ketik Get-Help Get-Date
. Jika Anda tidak menentukan parameter ini, kunci tidak akan kedaluwarsa.
Type: | Nullable<T>[DateTime] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Objek vault.
Type: | PSKeyVault |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-KeyFilePassword
Menentukan kata sandi untuk file yang diimpor sebagai objek SecureString . Untuk mendapatkan objek SecureString , gunakan cmdlet ConvertTo-SecureString . Untuk informasi selengkapnya, ketik Get-Help ConvertTo-SecureString
. Anda harus menentukan kata sandi ini untuk mengimpor file dengan ekstensi nama file .pfx.
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-KeyFilePath
Menentukan jalur file lokal yang berisi materi kunci yang diimpor cmdlet ini. Ekstensi nama file yang valid adalah .byok dan .pfx.
- Jika file adalah file .byok, kunci secara otomatis dilindungi oleh HSM setelah impor dan Anda tidak dapat mengambil alih default ini.
- Jika file adalah file .pfx, kunci secara otomatis dilindungi oleh perangkat lunak setelah impor. Untuk mengambil alih default ini, atur parameter Tujuan ke HSM sehingga kunci dilindungi HSM. Saat Anda menentukan parameter ini, parameter Tujuan bersifat opsional.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-KeyOps
Menentukan array operasi yang dapat dilakukan dengan menggunakan kunci yang ditambahkan cmdlet ini. Jika Anda tidak menentukan parameter ini, semua operasi dapat dilakukan. Nilai yang dapat diterima untuk parameter ini adalah daftar operasi kunci yang dipisahkan dengan koma sebagaimana didefinisikan oleh spesifikasi JSON Web Key (JWK):
- Enkripsi
- Dekripsi
- Membungkus
- Membuka
- Menandatangani
- Verifikasi
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Menentukan nama kunci yang akan ditambahkan ke brankas kunci. Cmdlet ini membangun nama domain yang sepenuhnya memenuhi syarat (FQDN) dari kunci berdasarkan nama yang ditentukan parameter ini, nama brankas kunci, dan lingkungan Anda saat ini. Nama harus berupa string dengan panjang 1 hingga 63 karakter yang hanya berisi 0-9, a-z, A-Z, dan - (simbol tanda hubung).
Type: | String |
Aliases: | KeyName |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotBefore
Menentukan waktu, sebagai objek DateTime , sebelum kunci tidak dapat digunakan. Parameter ini menggunakan UTC. Untuk mendapatkan objek DateTime , gunakan cmdlet Get-Date . Jika Anda tidak menentukan parameter ini, kunci dapat segera digunakan.
Type: | Nullable<T>[DateTime] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceId
Id Sumber Daya Vault.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Size
Ukuran kunci RSA, dalam bit. Jika tidak ditentukan, layanan akan memberikan default yang aman.
Type: | Nullable<T>[Int32] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tag
Pasangan kunci-nilai dalam bentuk tabel hash. Misalnya: @{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
Menentukan nama brankas kunci tempat cmdlet ini menambahkan kunci. Cmdlet ini membangun FQDN dari brankas kunci berdasarkan nama yang ditentukan parameter ini dan lingkungan Anda saat ini.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Parameter: InputObject (ByValue)