Add-AzureKeyVaultKey
Создает ключ в хранилище ключей или импортирует ключ в хранилище ключей.
Предупреждение
Модуль AzureRM PowerShell официально устарел с 29 февраля 2024 г. Пользователям рекомендуется выполнить миграцию из AzureRM в модуль Az PowerShell, чтобы обеспечить постоянную поддержку и обновления.
Хотя модуль AzureRM по-прежнему может функционировать, он больше не поддерживается или не поддерживается, размещая любое постоянное использование на усмотрение и риск пользователя. Ознакомьтесь с нашими ресурсами миграции, чтобы получить рекомендации по переходу в модуль Az.
Синтаксис
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>]
Описание
Командлет Add-AzureKeyVaultKey создает ключ в хранилище ключей в Azure Key Vault или импортирует ключ в хранилище ключей. Используйте этот командлет для добавления ключей с помощью любого из следующих методов:
- Создайте ключ в аппаратном модуле безопасности (HSM) в службе Key Vault.
- Создайте ключ в программном обеспечении в службе Key Vault.
- Импортируйте ключ из собственного аппаратного модуля безопасности (HSM) в HSM в службе Key Vault.
- Импортируйте ключ из PFX-файла на компьютере.
- Импортируйте ключ из PFX-файла на компьютере в аппаратные модули безопасности (HSM) в службе Key Vault. Для любой из этих операций можно указать ключевые атрибуты или принять параметры по умолчанию. Если вы создаете или импортируете ключ с тем же именем, что и существующий ключ в хранилище ключей, исходный ключ обновляется со значениями, указанными для нового ключа. Вы можете получить доступ к предыдущим значениям с помощью URI конкретной версии для этой версии ключа. Дополнительные сведения о версиях ключей и структуре URI см . в документации по REST API Key Vault. Примечание. Чтобы импортировать ключ из собственного аппаратного модуля безопасности, необходимо сначала создать пакет BYOK (файл с расширением имени файла byok) с помощью набора инструментов BYOK в Azure Key Vault. Дополнительные сведения см. в статье "Создание и передача ключей, защищенных HSM" для Azure Key Vault. Рекомендуется создать резервную копию ключа после его создания или обновления с помощью командлета Backup-AzureKeyVaultKey. Нет функции отмены, поэтому если вы случайно удалите ключ или удалите его, а затем измените свое мнение, ключ не может восстановиться, если у вас нет резервной копии, которую можно восстановить.
Примеры
Пример 1. Создание ключа
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 :
Эта команда создает защищенный программным обеспечением ключ с именем ITSoftware в хранилище ключей с именем Contoso.
Пример 2. Создание ключа, защищенного 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 :
Эта команда создает ключ, защищенный HSM, в хранилище ключей с именем Contoso.
Пример 3. Создание ключа со значениями, не используемыми по умолчанию
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
Первая команда сохраняет значения расшифровки и проверки в переменной $KeyOperations.
Вторая команда создает объект DateTime, определенный в формате UTC, с помощью командлета Get-Date.
Этот объект указывает время два года в будущем. Команда сохраняет эту дату в переменной $Expires. Для получения дополнительных сведений введите Get-Help Get-Date
.
Третья команда создает объект DateTime с помощью командлета Get-Date . Этот объект указывает текущее время в формате UTC. Команда сохраняет эту дату в переменной $NotBefore.
Последняя команда создает ключ с именем ITHsmNonDefault, который является ключом, защищенным HSM. Команда задает значения для разрешенных операций ключей, хранящихся $KeyOperations. Команда указывает время истечения срока действия и параметров NotBefore , созданных в предыдущих командах, и теги для высокой серьезности и ИТ-специалистов. Новый ключ отключен. Его можно включить с помощью командлета Set-AzureKeyVaultKey .
Пример 4. Импорт ключа, защищенного 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 :
Эта команда импортирует ключ с именем I ТБ yok из расположения, указанного параметром KeyFilePath. Импортированный ключ — это защищенный HSM ключ. Чтобы импортировать ключ из собственного аппаратного модуля безопасности, необходимо сначала создать пакет BYOK (файл с расширением имени файла byok) с помощью набора инструментов BYOK в Azure Key Vault. Дополнительные сведения см. в статье "Создание и передача ключей, защищенных HSM" для Azure Key Vault.
Пример 5. Импорт программно защищенного ключа
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 :
Первая команда преобразует строку в безопасную строку с помощью командлета ConvertTo-SecureString , а затем сохраняет эту строку в переменной $Password. Для получения дополнительных сведений введите Get-Help ConvertTo-SecureString
.
Вторая команда создает пароль программного обеспечения в хранилище ключей Contoso. Команда указывает расположение ключа и пароля, хранящегося в $Password.
Пример 6. Импорт ключа и назначение атрибутов
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
Первая команда преобразует строку в безопасную строку с помощью командлета ConvertTo-SecureString , а затем сохраняет эту строку в переменной $Password. Вторая команда создает объект DateTime с помощью командлета Get-Date , а затем сохраняет этот объект в переменной $Expires. Третья команда создает переменную $tags, чтобы задать теги для высокой серьезности и ИТ-специалистов. Последняя команда импортирует ключ в виде ключа HSM из указанного расположения. Команда указывает время истечения срока действия, хранящееся в $Expires и паролем, хранящимся в $Password, и применяет теги, хранящиеся в $tags.
Параметры
-Confirm
Запрос подтверждения перед выполнением командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DefaultProfile
Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure
Тип: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Destination
Указывает, следует ли добавить ключ в качестве ключа, защищенного программным обеспечением, или ключа, защищенного HSM, в службе Key Vault. Допустимые значения: HSM и Software. Примечание. Чтобы использовать HSM в качестве назначения, необходимо иметь хранилище ключей, поддерживающее HSM. Дополнительные сведения об уровнях служб и возможностях хранилища ключей Azure см. на веб-сайте Цены на хранилище ключей Azure. Этот параметр требуется при создании нового ключа. При импорте ключа с помощью параметра KeyFilePath этот параметр является необязательным:
- Если этот параметр не указан, и этот командлет импортирует ключ с расширением имени файла byok, он импортирует этот ключ в виде ключа, защищенного HSM. Командлет не может импортировать этот ключ в качестве ключа, защищенного программным обеспечением.
- Если этот параметр не указан, и этот командлет импортирует ключ с расширением PFX-файла, он импортирует ключ в виде программно защищенного ключа.
Тип: | String |
Допустимые значения: | HSM, Software, HSM, Software |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Disable
Указывает, что добавленный ключ имеет начальное состояние отключенного. Любая попытка использовать ключ завершится ошибкой. Используйте этот параметр, если вы предварительно загружаете ключи, которые планируется включить позже.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Expires
Указывает время окончания срока действия в качестве объекта DateTime для ключа, добавляемого этим командлетом. Этот параметр использует универсальное время (UTC). Чтобы получить объект DateTime , используйте командлет Get-Date . Для получения дополнительных сведений введите Get-Help Get-Date
. Если этот параметр не указан, срок действия ключа не истекает.
Тип: | Nullable<T>[DateTime] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-InputObject
Объект Vault.
Тип: | PSKeyVault |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-KeyFilePassword
Задает пароль для импортированного файла в качестве объекта SecureString . Чтобы получить объект SecureString , используйте командлет ConvertTo-SecureString . Для получения дополнительных сведений введите Get-Help ConvertTo-SecureString
. Этот пароль необходимо указать для импорта файла с расширением PFX-файла.
Тип: | SecureString |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-KeyFilePath
Указывает путь к локальному файлу, который содержит материал ключа, импортируемый этим командлетом. Допустимые расширения имени файла : byok и PFX.
- Если файл является .byok-файлом, ключ автоматически защищен HSM после импорта, и вы не можете переопределить этот параметр по умолчанию.
- Если файл является PFX-файлом, ключ автоматически защищен программным обеспечением после импорта. Чтобы переопределить этот параметр по умолчанию, задайте для параметра Destination значение HSM, чтобы ключ был защищен HSM. При указании этого параметра параметр назначения является необязательным.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-KeyOps
Указывает массив операций, которые можно выполнить с помощью ключа, добавляемого этим командлетом. Если этот параметр не задан, могут выполняться все операции. Допустимые значения для этого параметра — это разделенный запятыми список ключевых операций, определяемый спецификацией JSON Web Key.
- Шифрование
- расшифровка;
- Переносить
- Распаковка
- Подписание
- Проверка
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Name
Указывает имя ключа, добавляемого в хранилище ключей. Этот командлет создает полное доменное имя ключа (FQDN) на основе имени, указанного этим параметром, имени хранилища ключей и текущей среды. Имя должно быть строкой от 1 до 63 символов длиной, содержащей только 0-9, a-z, A-Z и - (символ тире).
Тип: | String |
Aliases: | KeyName |
Position: | 1 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-NotBefore
Указывает время в качестве объекта DateTime , перед которым не удается использовать ключ. Этот параметр использует UTC. Чтобы получить объект DateTime , используйте командлет Get-Date . Если этот параметр не указан, ключ можно использовать немедленно.
Тип: | Nullable<T>[DateTime] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ResourceId
Идентификатор ресурса Хранилища.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Size
Размер ключа RSA в битах. Если оно не указано, служба будет предоставлять безопасный по умолчанию.
Тип: | Nullable<T>[Int32] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Tag
Пары "ключ-значение" в виде хэш-таблицы. Например: @{key0="value0"; key1=$null; key2="value2"}
Тип: | Hashtable |
Aliases: | Tags |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-VaultName
Указывает имя хранилища ключей, в которое добавляется этот командлет. Этот командлет создает полное доменное имя хранилища ключей на основе имени, указанного этим параметром, и текущей среды.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Параметры: InputObject (ByValue)