適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft Fabric プレビューの SQL データベース
非対称キーのプロパティを変更します。
Note
この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。
Syntax
ALTER ASYMMETRIC KEY Asym_Key_Name <alter_option>
<alter_option> ::=
<password_change_option>
| REMOVE PRIVATE KEY
<password_change_option> ::=
WITH PRIVATE KEY ( <password_option> [ , <password_option> ] )
<password_option> ::=
ENCRYPTION BY PASSWORD = 'strongPassword'
| DECRYPTION BY PASSWORD = 'oldPassword'
Arguments
Asym_Key_Name
データベースで認識される非対称キーの名前を指定します。
秘密キーの削除
非対称キーから秘密キーを削除します。公開キーは削除されません。
秘密キー付き
秘密キーの保護を変更します。
ENCRYPTION BY PASSWORD ='strongPassword'
秘密キーを保護するための新しいパスワードを指定します。
password は、Windows のパスワード ポリシーが SQL Server のインスタンスを実行するコンピューターに要求する条件を満足する必要があります。 このオプションを省略した場合、秘密キーはデータベースのマスター キーで暗号化されます。
DECRYPTION BY PASSWORD ='oldPassword'
現在秘密キーが保護されている、古いパスワードを指定します。 秘密キーがデータベースのマスター キーで暗号化されている場合は指定する必要はありません。
Remarks
データベースのマスター キーがない場合は、ENCRYPTION BY PASSWORD オプションを指定する必要があります。パスワードを指定しないと、この操作は失敗します。 データベースのマスター キーを作成する方法の詳細については、「CREATE MASTER KEY (Transact-SQL)」を参照してください。
秘密キーの保護を変更するには、ALTER ASYMMETRIC KEY を使用して、PRIVATE KEY オプションを次のように指定します。
保護の変更対象 | パスワードによる暗号化 | パスワードによる暗号化解除 |
---|---|---|
古いパスワードから新しいパスワードへ | Required | Required |
パスワードからマスター キーへ | Omit | Required |
マスター キーからパスワードへ | Required | Omit |
データベースのマスター キーを秘密キーの保護に使用するには、マスター キーを先に開いておく必要があります。 詳細については、「OPEN MASTER KEY (Transact-SQL)」を参照してください。
非対称キーの所有権を変更するには、ALTER AUTHORIZATION を使用します。
Permissions
秘密キーを削除する場合、非対称キーに対する CONTROL 権限が必要です。
Examples
A. 秘密キーのパスワードを変更する
次の例では、非対称キー PacificSales09
の秘密キーの保護に使用するパスワードを変更します。 新しいパスワードは <enterStrongPasswordHere>
です。
ALTER ASYMMETRIC KEY PacificSales09
WITH PRIVATE KEY (
DECRYPTION BY PASSWORD = '<oldPassword>',
ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>');
GO
B. 非対称キーから秘密キーを削除する
次の例では、PacificSales19
から秘密キーを削除し、公開キーだけを残します。
ALTER ASYMMETRIC KEY PacificSales19 REMOVE PRIVATE KEY;
GO
C. 秘密キーからパスワード保護を削除する
次の例では、秘密キーからパスワード保護を削除し、データベースのマスター キーで保護します。
OPEN MASTER KEY DECRYPTION BY PASSWORD = '<database master key password>';
ALTER ASYMMETRIC KEY PacificSales09 WITH PRIVATE KEY (
DECRYPTION BY PASSWORD = '<enterStrongPasswordHere>' );
GO
See Also
非対称キーを作成する(Transact-SQL)
非対称キーを削除 (Transact-SQL) DROP ASYMMETRIC KEY (Transact-SQL)
SQL Server とデータベースの暗号化キー (データベース エンジン)
Encryption Hierarchy
CREATE MASTER KEY (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
拡張キー管理 (EKM)