ALTER ASYMMETRIC KEY (Transact-SQL)
非対称キーのプロパティを変更します。
構文
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'
引数
Asym_Key_Name
データベースで認識される非対称キーの名前を指定します。REMOVE PRIVATE KEY
非対称キーから秘密キーを削除します。公開キーは削除されません。WITH PRIVATE KEY
秘密キーの保護を変更します。ENCRYPTION BY PASSWORD ='stongPassword'
秘密キーを保護するための新しいパスワードを指定します。password は、Windows のパスワード ポリシーが SQL Server のインスタンスを実行するコンピュータに要求する条件を満足する必要があります。このオプションを省略した場合、秘密キーはデータベースのマスタ キーで暗号化されます。DECRYPTION BY PASSWORD ='oldPassword'
現在秘密キーが保護されている、古いパスワードを指定します。秘密キーがデータベースのマスタ キーで暗号化されている場合は指定する必要はありません。
説明
データベースのマスタ キーがない場合は、ENCRYPTION BY PASSWORD オプションを指定する必要があります。パスワードを指定しないと、この操作は失敗します。データベースのマスタ キーの作成方法については、「CREATE MASTER KEY (Transact-SQL)」を参照してください。
秘密キーの保護を変更するには、ALTER ASYMMETRIC KEY を使用して、PRIVATE KEY オプションを次のように指定します。
保護の変更対象 |
ENCRYPTION BY PASSWORD |
DECRYPTION BY PASSWORD |
---|---|---|
古いパスワードから新しいパスワードへ |
必須 |
必須 |
パスワードからマスタ キーへ |
[省略] |
必須 |
マスタ キーからパスワードへ |
必須 |
[省略] |
データベースのマスタ キーを秘密キーの保護に使用するには、マスタ キーを先に開いておく必要があります。詳細については、「OPEN MASTER KEY (Transact-SQL)」を参照してください。
非対称キーの所有者を変更するには、ALTER AUTHORIZATION を使用します。
権限
秘密キーを削除する場合、非対称キーに対する CONTROL 権限が必要です。
例
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;
ALTER ASYMMETRIC KEY PacificSales09 WITH PRIVATE KEY (
DECRYPTION BY PASSWORD = '<enterStrongPasswordHere>' );
GO