次の方法で共有


ALTER ASYMMETRIC KEY (Transact-SQL)

非対称キーのプロパティを変更します。

トピック リンク アイコン 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

関連項目

参照

CREATE ASYMMETRIC KEY (Transact-SQL)

DROP ASYMMETRIC KEY (Transact-SQL)

CREATE MASTER KEY (Transact-SQL)

OPEN MASTER KEY (Transact-SQL)

概念

SQL Server とデータベースの暗号化キー (データベース エンジン)

暗号化階層

拡張キー管理 (EKM)