ALTER ASYMMETRIC KEY (Transact-SQL)
更新 : 2006 年 12 月 12 日
非対称キーのプロパティを変更します。
構文
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 = 'password'
|
DECRYPTION BY PASSWORD = 'old_password'
引数
- Asym_Key_Name
データベースで認識される非対称キーの名前を指定します。
- REMOVE PRIVATE KEY
非対称キーから秘密キーを削除します。公開キーは削除されません。
- WITH PRIVATE KEY
秘密キーの保護を変更します。
- ENCRYPTION BY PASSWORD ='password'
秘密キーを保護するための新しいパスワードを指定します。パスワードの複雑性が確認されます。このオプションを省略した場合、秘密キーはデータベースのマスタ キーで暗号化されます。
- DECRYPTION BY PASSWORD ='password'
現在秘密キーが保護されている、古いパスワードを指定します。秘密キーがデータベースのマスタ キーで暗号化されている場合は指定する必要はありません。
解説
データベースのマスタ キーがない場合は、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
の秘密キーの保護に使用するパスワードを変更します。新しいパスワードは 85423sdvcx7987$$2ooo
です。
ALTER ASYMMETRIC KEY PacificSales09
WITH PRIVATE KEY (
DECRYPTION BY PASSWORD = 'bmsA$dk7i82bv55foajsd9764',
ENCRYPTION BY PASSWORD = '85423sdvcx7987$$2ooo');
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 = 'bmsA$dk7i82bv55foajsd9764' );
GO
参照
関連項目
CREATE ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
CREATE MASTER KEY (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)