ステップ2:ソフトウェアで保護されたキーから HSM で保護されたキーへの移行

この手順は、AD RMS から Azure Information Protection への移行パスの一部であり、AD RMS キーがソフトウェアで保護されているときに Azure Key Vault 内の HSM で保護されているテナント キーを持つ Azure Information Protection に移行する場合にのみ適用されます。

これが目的の構成シナリオでない場合は、「手順 4. AD RMS から構成データをエクスポートし、それを Azure Information Protection にインポートする」に戻って、別の構成を選択してください。

これは 4 部構成の手順で、AD RMS 構成を Azure Information Protection にインポートし、Azure Key Vault でユーザーが管理する Azure Information Protection テナント キー (BYOK) を作成します。

最初にサーバー ライセンサー証明書 (SLC) キーを AD RMS 構成データから抽出し、キーをオンプレミスの nCipher HSM に転送します。次に、HSM キーをパッケージ化して Azure Key Vault に転送し、Azure Information Protection からの Azure Rights Management サービスによるキー コンテナーへのアクセスを承認し、構成データをインポートします。

Azure Information Protection テナント キーは Azure Key Vault によって格納および管理されるため、移行のこの部分では、Azure Information Protection に加えて、Azure Key Vault での管理が必要です。 Azure Key Vault が組織の管理者とは別の管理者によって管理されている場合、これらの手順を完了するには、組織の管理者と調整し、協力する処置を完了させ必要があります。

開始する前に、組織に Azure Key Vault で作成されたキー コンテナーがあり、HSM で保護されたキーをサポートしていることを確認します。 必須ではありませんが、Azure Information Protection 専用のキー コンテナーを用意することをお勧めします。 このキー コンテナーは、Azure Information Protection から Azure Rights Management サービスがアクセスできるように設定されるので、このキー コンテナーに格納されるキーは Azure Information Protection キーのみに制限する必要があります。

ヒント

Azure Key Vault の構成手順を実行していて、この Azure サービスに慣れていない場合は、先ず 「Azure Key Vault をはじめましょう」をレビューすると便利な場合があります。

パート 1: 構成データから SLC キーを抽出し、オンプレミス HSM にキーをインポートする

  1. Azure Key Vault 管理者: Azure Key Vault に格納するエクスポートされた SLC キーごとに、Azure Key Vault ドキュメントの 「Azure Key Vault 用の Bring Your Own Key (BYOK) の実装」セクションの次の手順を使用します。

    エクスポートされた構成データ (.xml) ファイルに同等のものが既に存在するため、テナント キーを生成する手順に従わないでください。 代わりに、ツールを実行してファイルからこのキーを抽出し、オンプレミス HSM にインポートします。 ツールを実行すると、2 つのファイルが作成されます。

    • 新しい構成データ ファイルがキーのない場合、Azure Information Protection テナントにインポートする準備が整います。

    • キーを含む PEM ファイル (キー コンテナー) は、オンプレミス HSM にインポートする準備ができています。

  2. Azure Information Protection 管理者または Azure Key Vault 管理者: 切断されたワークステーションで、Azure RMS 移行ツールキットから TpdUtil ツールを 実行します。 たとえば、ツールが E ドライブにインストールされている、ContosoTPD.xml という名前の構成データ ファイルをコピーする場所と同じの場合:

    E:\TpdUtil.exe /tpd:ContosoTPD.xml /otpd:ContosoTPD.xml /opem:ContosoTPD.pem
    

    複数の RMS 構成データ ファイルがある場合は、他のファイルのためこのツールを実行します。

    説明、使用方法、例を含むこのツールのヘルプを表示するには、パラメーターなしで TpdUtil.exe を実行します

    このコマンド追加情報。

    • /tpd: エクスポートされた AD RMS 構成データ ファイルの完全なパスと名前を指定します。 完全なパラメーター名は TpdFilePath です。

    • /otpd: キーのない構成データ ファイルの出力ファイル名を指定します。 完全なパラメーター名は OutPfxFile です。 このパラメーターを指定しない場合、出力ファイルはデフォルトで元のファイル名に接尾辞_keylessを付けたものになり、現在のフォルダーに格納されます。

    • /opem: 抽出されたキーを含む PEM ファイルの出力ファイル名を指定します。 完全なパラメーター名は OutPemFile です。 このパラメーターを指定しない場合、出力ファイルはデフォルトで元のファイル名に接尾辞_keyを付けたものになり、現在のフォルダーに格納されます。

    • このコマンドを実行するときにパスワードを指定しない場合 (TpdPassword の完全なパラメーター名または pwd 短いパラメーター名を使用)、パスワードの指定を求められます。

  3. 同じ未接続のワークステーションで、nCipher のドキュメントに従って nCipher HSM をアタッチして構成します。 次のコマンドを使用することで、アタッチした nCipher HSM にキーをインポートできるようになりました。この場合は、独自のファイル名を ContosoTPD.pem に置換する必要があります。

    generatekey --import simple pemreadfile=e:\ContosoTPD.pem plainname=ContosoBYOK protect=module ident=contosobyok type=RSA
    

    Note

    複数のファイルがある場合は、移行後にコンテンツを保護するために Azure RMS で使用する HSM キーに対応するファイルを選択します。

    次のような出力の表示を生成します。

    キー生成パラメーター:

    operation インポートを実行する操作

    Applicationをシンプルに申請できる

    verify 構成キーのセキュリティの検証 はい

    type キーの種類 RSA

    pemreadfile RSA キーを含む PEM ファイル e:\ContosoTPD.pem

    ident キー識別子 contosobyok

    plainname Key 名 ContosoBYOK

    キーがをインポートするには成功しました。

    キーへのパス: C:\ProgramData\nCipher\Key Management Data\local\key_simple_contosobyok

この出力により、キー (この例では、"key_simple_contosobyok") に保存されている暗号化されたコピーを使用して秘密キーがオンプレミスの nCipher HSM デバイスに移行されたことを確認できます。

SLC キーが抽出され、オンプレミス HSM にインポートされたので、HSM で保護されたキーをパッケージ化し、Azure Key Vault に転送する準備ができました。

重要

この手順を完了したら、これらの PEM ファイルを切断されたワークステーションから安全に消去して、承認されていないユーザーがアクセスできないようにします。 たとえば、"cipher /w: E" を実行して、E: ドライブからすべてのファイルを安全に削除します。

パート 2: HSM キーをパッケージ化して Azure Key Vault に転送する

Azure Key Vault 管理者: Azure Key Vault に格納するエクスポートされた SLC キーごとに、Azure Key Vault ドキュメントの「Azure Key Vault の Bring Your Own Key (BYOK) の実装」セクションの次の手順で使用します。

キーは既に存在するため、この手順に従ってキーペアを生成しないでください。 代わりに、コマンドを実行して、オンプレミス HSM からこのキーを転送する場合 (この例では、KeyIdentifier パラメーターでは "contosobyok" を使用します)。

キーを Azure Key Vault に転送する前に、アクセス許可を減らしてキーのコピーを作成する場合 (手順 4.1) とキーを暗号化するとき(手順 4.3)に、KeyTransferRemote.exe ユーティリティが Result: SUCCESS を返していることを確認します 。

キーが Azure Key Vault にアップロードされると、キー ID を含むキーのプロパティが表示されます。 これは https://contosorms-kv.vault.azure.net/keys/contosorms-byok/aaaabbbbcccc111122223333 のようになります。 Azure Information Protection 管理者は、テナント キーにこのキーを使用するように Azure Information Protection の Azure Rights Management サービスに指示する必要があるため、この URL を書き留めておきます。

次に Set-AzKeyVaultAccessPolicy コマンドレットを使用して、Azure Rights Management サービス プリンシパルにキー コンテナーへのアクセス権を付与します。 必要なアクセス許可は、暗号化の解除、暗号化、アンラップキー、ラップキー、検証と署名です。

たとえば、Azure Information Protection 用に作成したキー コンテナーの名前が contosorms-byok-kv、リソース グループの名前が contosorms-byok-rg である場合は、次のコマンドを実行します。

Set-AzKeyVaultAccessPolicy -VaultName "contosorms-byok-kv" -ResourceGroupName "contosorms-byok-rg" -ServicePrincipalName 00000012-0000-0000-c000-000000000000 -PermissionsToKeys decrypt,encrypt,unwrapkey,wrapkey,verify,sign,get

HSM キーを Azure Key Vault に転送したので、AD RMS 構成データをインポートする準備ができました。

パーツ 3: 構成データを Azure Information Protection にインポートする

  1. Azure Information Protection 管理者: インターネットに接続されたワークステーションでの PowerShell セッションで、TpdUtil ツールの実行後に、SLC キーが削除されている新しい構成データ ファイル (.xml) をコピーしてください。

  2. Import-AipServiceTpd コマンドレットを使用して、各 .xml ファイルをアップロードします。 たとえば、Cryptographic モード 2 用に AD RMS クラスターをアップグレードする場合は、インポートするファイルを少なくとも 1 つ追加する必要があります。

    このコマンドレットを実行するには、構成データ ファイルに対して前に指定したパスワードと、前の手順で識別したキーの URL が必要です。

    たとえば、C:\contoso_keyless.xml の構成データ ファイルと前の手順のキー URL 値を使用して、最初に次を実行してパスワードを格納します。

     $TPD_Password = Read-Host -AsSecureString
    

    構成データ ファイルをエクスポートするために指定したパスワードを入力します。 次に、次のコマンドを実行し、このアクションを実行することを確認します。

    Import-AipServiceTpd -TpdFile "C:\contoso_keyless.xml" -ProtectionPassword $TPD_Password –KeyVaultStringUrl https://contoso-byok-kv.vault.azure.net/keys/contosorms-byok/aaaabbbbcccc111122223333 -Verbose
    

    このインポートの一環として、SLC キーがインポートされ、アーカイブ済みとして自動的に設定されます。

  3. 各ファイルをアップロードしたら Set-AipServiceKeyProperties を実行して、AD RMS クラスターで現在アクティブな SLC キーと一致するインポート済みのキーを指定します。

  4. Disconnect-AipServiceService コマンドレットを使用して Azure Rights Management サービスから切断します。

    Disconnect-AipServiceService
    

Azure Key Vault で Azure Information Protection テナント キーが使用しているキーを後で確認する必要がある場合は、Azure RMS コマンドレット Get-AipServiceKeys を使用します。

これで、「手順 5. Azure Rights Management サービスをアクティブにする」に進む準備ができました。