Azure 仮想マシンの暗号化Encrypt an Azure Virtual Machine

暗号化されていない仮想マシンがある場合には、Azure Security Center からアラートを受け取ります。Azure Security Center will alert you if you have virtual machines that are not encrypted. これらのアラートは重要度が高いとして表示されるため、このような仮想マシンを暗号化することをお勧めします。These alerts will show as High Severity and the recommendation is to encrypt these virtual machines.

Disk encryption recommendation

注意

このドキュメントの情報は、キー暗号化キー (Azure Backup を使用して仮想マシンをバックアップするために必要) を使用しない仮想マシンの暗号化に適用されます。The information in this document applies to encrypting virtual machines without using a Key Encryption Key (which is required for backing up virtual machines using Azure Backup). キー暗号化キーを使用して、暗号化された Azure Virtual Machines に対して Azure Backup をサポートする方法の詳細については、Windows と Linux の Azure 仮想マシンの Azure Disk Encryption に関する記事を参照してください。Please see the article Azure Disk Encryption for Windows and Linux Azure Virtual Machines for information on how to use a Key Encryption Key to support Azure Backup for encrypted Azure Virtual Machines.

Azure Security Center で暗号化が必要と識別された Azure 仮想マシンを暗号化するには、次の手順をお勧めします。To encrypt Azure Virtual Machines that have been identified by Azure Security Center as needing encryption, we recommend the following steps:

  • Azure PowerShell のインストールおよび構成。Install and configure Azure PowerShell. これにより、Azure 仮想マシンの暗号化に必要な必須コンポーネントを設定するための PowerShell コマンドを実行できるようになります。This will enable you to run the PowerShell commands required to set up the prerequisites required to encrypt Azure Virtual Machines.
  • Azure Disk Encryption の前提条件となる Azure PowerShell スクリプトの取得と実行。Obtain and run the Azure Disk Encryption Prerequisites Azure PowerShell script
  • 仮想マシンの暗号化。Encrypt your virtual machines

このドキュメントの目的は、Azure PowerShell の知識がほとんどまたはまったくない場合でも、仮想マシンを暗号化できるようにすることです。The goal of this document is to enable you to encrypt your virtual machines, even if you have little or no background in Azure PowerShell. このドキュメントでは、Azure Disk Encryption を構成するクライアント コンピューターとして Windows 10 を使用していることを想定しています。This document assumes you are using Windows 10 as the client machine from which you will configure Azure Disk Encryption.

必須コンポーネントの設定と Azure 仮想マシンの暗号化の構成に使用できる方法は多数あります。There are many approaches that can be used to setup the prerequisites and to configure encryption for Azure Virtual Machines. 既に Azure PowerShell または Azure CLI についてよく知っている方は、他の方法を好む場合もあります。If you are already well-versed in Azure PowerShell or Azure CLI, then you may prefer to use alternate approaches.

注意

Azure 仮想マシンの暗号化を構成する他の方法の詳細については、「 Azure Disk Encryption for Windows and Linux Azure Virtual Machines (Windows とLinux の Azure 仮想マシンの Azure Disk Encryption)」を参照してください。To learn more about alternate approaches to configuring encryption for Azure virtual machines, please see Azure Disk Encryption for Windows and Linux Azure Virtual Machines.

Azure PowerShell のインストールおよび構成Install and configure Azure PowerShell

お使いのコンピューターに Azure PowerShell Version 1.2.1 以降がインストールされている必要があります。You need Azure PowerShell version 1.2.1 or above installed on your computer. Azure PowerShell のインストールおよび構成方法 」には、Azure PowerShell を操作するためにコンピューターをプロビジョニングする際に必要な手順がすべて記載されています。The article How to install and configure Azure PowerShell contains all the steps you need to provision your computer to work with Azure PowerShell. 最も簡単なのは、この記事で説明されている Web PI によるインストール方法です。The most straightforward approach is to use the Web PI installation approach mentioned in that article. 既に Azure PowerShell がインストールされている場合でも、Azure PowerShell の最新バージョンを入手するために Web PI による方法を使用して再インストールしてください。Even if you already have Azure PowerShell installed, install again using the Web PI approach so that you have the latest version of Azure PowerShell.

Azure Disk Encryption の前提条件となる構成スクリプトの取得と実行Obtain and run the Azure disk encryption prerequisites configuration script

Azure Disk Encryption の前提条件となる構成スクリプトを使用すると、Azure 仮想マシンの暗号化に必要な必須コンポーネントすべてが設定されます。The Azure Disk Encryption Prerequisites Configuration Script will set up all the prerequisites required for encrypting your Azure Virtual Machines.

  1. Azure Disk Encryption Prerequisite Setup スクリプトがある GitHub ページにアクセスします。Go to the GitHub page that has the Azure Disk Encryption Prerequisite Setup Script.
  2. GibHub ページで、 [Raw] (元データ) をクリックします。On the GibHub page, click the Raw button.
  3. Ctrl + A キーを押してそのページのテキストすべてを選択し、Ctrl + C キーを押して、選択したテキストをクリップボードにコピーします。Use CTRL-A to select all the text on the page and then use CTRL-C to copy all the text on the page to the clipboard.
  4. メモ帳 を開き、コピーしたテキストをメモ帳に貼り付けます。Open Notepad and paste the copied text into Notepad.
  5. C: ドライブ上に、 AzureADEScriptという名前の新しいフォルダーを作成します。Create a new folder on your C: drive named AzureADEScript.
  6. メモ帳のファイルを保存します。これには、[ファイル] をクリックし、[名前を付けて保存] をクリックします。Save the Notepad file – click File, then click Save As. [ファイル名] ボックスに「"ADEPrereqScript.ps1"」と入力し、[保存] をクリックします In the File name textbox, enter “ADEPrereqScript.ps1” and click Save. (必ず名前を引用符で囲んでください。そうしないと、ファイルは .txt という拡張子付きで保存されます)。(make sure you put the quotation marks around the name, otherwise it will save the file with a .txt file extension).

スクリプトの内容が保存されたので、PowerShell ISE でそのスクリプトを開きます。Now that the script content is saved, open the script in the PowerShell ISE:

  1. Windows PowerShell ISE を起動します。Start - Windows PowerShell ISE
  2. [Windows PowerShell ISE] を右クリックし、[管理者として実行] をクリックします。Right click Windows PowerShell ISE and click Run as administrator.
  3. [Administrator: Windows PowerShell ISE (管理者: Windows PowerShell ISE)] ウィンドウで、[表示] をクリックし、[Show Script Pane (スクリプト ウィンドウの表示)] をクリックします。In the Administrator: Windows PowerShell ISE window, click View and then click Show Script Pane.
  4. ウィンドウの右側に [コマンド] ウィンドウが表示される場合は、そのウィンドウの右上隅にある閉じるボタンをクリックして閉じます。If you see the Commands pane on the right side of the window, click the “x” in the top right corner of the pane to close it. 表示されるテキストが小さすぎる場合は、 Ctrl + プラス記号 (+) キーを押します。If the text is too small for you to see, use CTRL+Add (“Add” is the “+” sign). テキストが大きすぎる場合は、 Ctrl + マイナス記号 (-) キーを押します。If the text is too large, use CTRL+Subtract (Subtract is the “-“ sign).
  5. [ファイル] をクリックし、[開く] をクリックします。Click File and then click Open. C:\AzureADEScript フォルダーに移動し、ADEPrereqScript をダブルクリックします。Navigate to the C:\AzureADEScript folder and the double-click on the ADEPrereqScript.
  6. ADEPrereqScript の内容は PowerShell ISE で表示され、各種コンポーネント (コマンド、パラメーター、変数など) がよりわかりやすくなるように色分けされています。The ADEPrereqScript contents should now appear in the PowerShell ISE and is color-coded to help you see various components, such as commands, parameters and variables more easily.

次の図のように表示されます。You should now see something like the figure below.

PowerShell ISE window

上部のウィンドウは "スクリプト ウィンドウ"、下部のウィンドウは "コンソール" と呼ばれています。The top pane is referred to as the “script pane” and the bottom pane is referred to as the “console”. この記事では、これ以降、これらの用語を使用します。We will use these terms later in this article.

Azure Disk Encryption の前提条件となる PowerShell スクリプトの実行Run the Azure disk encryption prerequisites PowerShell script

Azure Disk Encryption の前提条件となる PowerShell スクリプトは、次のパラメーターを受け入れます。The Azure Disk Encryption Prerequisites script will accept the following parameters:

  • リソース グループ名 - Key Vault を配置するリソース グループの名前。Resource Group Name - Name of the Resource Group that you want to put the Key Vault into. 入力した名前のリソース グループがまだ作成されていない場合は、その名前の付いた新しいリソース グループが作成されます。A new Resource Group with the name you enter will be created if there isn’t already one with that name created. このサブスクリプションで使用するリソース グループが既にある場合は、そのリソース グループ名を入力します。If you already have a Resource Group that you want to use in this subscription, then enter the name of that Resource Group.
  • Key Vault 名 - 暗号化キーが配置される Key Vault の名前。Key Vault Name - Name of the Key Vault in which encryption keys are to be placed. この名前の Key Vault がまだない場合は、この名前の付いた新しい Key Vault が作成されます。A new Key Vault with this name will be created if you don’t already have a Key Vault with this name. 使用する Key Vault が既にある場合は、既存の Key Vault の名前を入力します。If you already have a Key Vault that you want to use, enter the name of the existing Key Vault.
  • 場所 - Key Vault の場所。Location - Location of the Key Vault. Key Vault と暗号化する VM が同じ場所にあることを確認します。Make sure the Key Vault and VMs to be encrypted are in the same location. 場所がわからない場合は、その確認方法を説明する手順がこの記事の後半にあります。If you don’t know the location, there are steps later in this article that will show you how to find out.
  • Azure Active Directory アプリケーション名 - Key Vault へのシークレットの書き込みに使用される Azure Active Directory アプリケーションの名前。Azure Active Directory Application Name - Name of the Azure Active Directory application that will be used to write secrets to the Key Vault. 該当するアプリケーションがない場合は、この名前の付いた新しいアプリケーションが作成されます。A new application with this name will be created if one doesn't exist. 使用する Azure Active Directory アプリケーションが既にある場合は、その Azure Active Directory アプリケーションの名前を入力します。If you already have an Azure Active Directory application that you want to use, enter the name of that Azure Active Directory application.

注意

Azure Active Directory アプリケーションを作成する必要がある理由について知りたい場合は、「 Azure Key Vault の概要 」の「 Azure Active Directory にアプリケーションを登録する」セクションを参照してください。If you’re curious as to why you need to create an Azure Active Directory application, please see Register an application with Azure Active Directory section in the article Getting Started with Azure Key Vault.

Azure 仮想マシンを暗号化するには、次の手順を実行してください。Perform the following steps to encrypt an Azure Virtual Machine:

  1. PowerShell ISE を閉じた場合は、PowerShell ISE のインスタンスを管理者特権で開きます。If you closed the PowerShell ISE, open an elevated instance of the PowerShell ISE. PowerShell ISE がまだ開いていない場合は、この記事で前に説明した手順に従います。Follow the instructions earlier in this article if the PowerShell ISE is not already open. スクリプトを閉じた場合は、ADEPrereqScript.ps1 を開きます (これには、[ファイル][開く] の順にクリックし、C:\AzureADEScript フォルダーからスクリプトを選択します)。If you closed the script, then open the ADEPrereqScript.ps1 clicking File, then Open and selecting the script from the c:\AzureADEScript folder. この記事の手順を最初から実行している場合は、そのまま次の手順に進んでください。If you have followed this article from the start, then just move on to the next step.
  2. PowerShell ISE のコンソール (PowerShell ISE の下部のウィンドウ) で、「cd c:\AzureADEScript」と入力して Enter キーを押すことで、スクリプトの場所にフォーカスを移動します。In the console of the PowerShell ISE (the bottom pane of the PowerShell ISE), change the focus to the local of the script by typing cd c:\AzureADEScript and press ENTER.
  3. スクリプトを実行できるようにコンピューター上で実行ポリシーを設定します。Set the execution policy on your machine so that you can run the script. コンソールで「 Set-ExecutionPolicy Unrestricted 」と入力し、Enter キーを押します。Type Set-ExecutionPolicy Unrestricted in the console and then press ENTER. 変更による実行ポリシーへの影響を示すダイアログ ボックスが表示されたら、[すべてはい] または [はい] をクリックします ([すべてはい] が表示される場合はそれを選択し、[すべてはい] が表示されない場合は [はい] をクリックします)。If you see a dialog box telling about the effects of the change to execution policy, click either Yes to all or Yes (if you see Yes to all, select that option – if you do not see Yes to all, then click Yes).
  4. Azure アカウントにログインします。Log into your Azure account. コンソールで、「Login-AzureRmAccount」と入力し、Enter キーを押します。In the console, type Login-AzureRmAccount and press ENTER. 資格情報を入力するダイアログ ボックスが表示されます (仮想マシンを変更する権限を持っていることを確認してください。権限がない場合は、仮想マシンを暗号化することができません。A dialog box will appear in which you enter your credentials (make sure you have rights to change the virtual machines – if you do not have rights, you will not be able to encrypt them. わからない場合は、サブスクリプションの所有者または管理者に問い合わせてください)。If you are not sure, ask your subscription owner or administrator). 環境アカウントTenantIdSubscriptionIdCurrentStorageAccount に関する情報が表示されます。You should see information about your Environment, Account, TenantId, SubscriptionId and CurrentStorageAccount. SubscriptionId をメモ帳にコピーします。Copy the SubscriptionId to Notepad. これは手順 6. で必要になります。You will need to use this in step #6.
  5. 仮想マシンが属しているサブスクリプションとその仮想マシンの場所を探します。Find what subscription your virtual machine belongs to and its location. https://portal.azure.com に移動してログインします。Go to https://portal.azure.com and log in. ページの左側にある [Virtual Machines] をクリックします。On the left side of the page, click Virtual Machines. 仮想マシンとそれが属しているサブスクリプションの一覧が表示されます。You will see a list of your virtual machines and the subscriptions they belong to.

    Virtual Machines

  6. PowerShell ISE に戻ります。Return to the PowerShell ISE. スクリプトが実行されるサブスクリプションのコンテキストを設定します。Set the subscription context in which the script will be run. コンソールで、「Select-AzureRmSubscription –SubscriptionId <your_subscription_Id>」と入力し、Enter キーを押します (< your_subscription_Id > は実際のサブスクリプション ID に置き換えてください)。In the console, type Select-AzureRmSubscription –SubscriptionId <your_subscription_Id> (replace < your_subscription_Id > with your actual Subscription ID) and press ENTER. 環境、アカウントTenantIdSubscriptionIdCurrentStorageAccount に関する情報が表示されます。You will see information about the Environment, Account, TenantId, SubscriptionId and CurrentStorageAccount.
  7. コマンド ウィンドウで、以下をパラメーターとして渡すスクリプト コマンドを実行します。From within the command window, execute the script command passing the following as parameters:

    Executing PowerShell Script

  8. -resourceGroupName: 使用する "リソース グループ" の名前を入力します。-resourceGroupName: - enter the name of Resource Group you want to use. Azure Active Directory アプリケーションがない場合は、新しい Azure Active Directory アプリケーションに使用する名前を入力します。If you don’t have one, enter a name you want to use for a new one. 使用する "リソース グループ" (仮想マシンが存在するものなど) が既にある場合は、既存のリソース グループの名前を入力します。If you already have a Resource Group that you want to use (such as the one that your virtual machine is in), enter the name of the existing Resource Group.
  9. -keyVaultName: 使用する "キー コンテナー" の名前を入力します。-keyVaultName: - enter the name of the Key Vault you want to use. Azure Active Directory アプリケーションがない場合は、新しい Azure Active Directory アプリケーションに使用する名前を入力します。If you don’t have one, enter a name you want to use for a new one. 使用するキー コンテナーが既にある場合は、既存の "キー コンテナー" の名前を入力します。If you already have a Key Vault that you want to use, enter the name of the existing Key Vault.
  10. スクリプトにより location: の入力が求められます。暗号化する VM がある場所の名前を入力し、Enter キーを押します。The script asks for location: - enter the name of the location in which the VM you want to encrypt is located, then press ENTER. 場所を覚えていない場合は、手順 5. に戻ってください。If you don’t remember the location, go back to step #5.
  11. -aadAppName: 使用する Azure Active Directory アプリケーションの名前を入力します。-aadAppName: - enter the name of the Azure Active Directory application you want to use. Azure Active Directory アプリケーションがない場合は、新しい Azure Active Directory アプリケーションに使用する名前を入力します。If you don’t have one, enter a name you want to use for a new one. 使用する "Azure Active Directory アプリケーション" が既にある場合は、既存の "Azure Active Directory アプリケーション" の名前を入力します。If you already have an Azure Active Directory application that you want to use, enter the name of the existing Azure Active Directory application.
  12. ログイン ダイアログ ボックスが表示されます。A log in dialog box will appear. 資格情報を入力します (一度ログインしていますが、ここでもう一度入力する必要があります)。Provide your credentials (yes, you have logged in once, but now you need to do it again).
  13. スクリプトが実行され、完了時に、aadClientIDaadClientSecretdiskEncryptionKeyVaultUrlkeyVaultResourceId の値をコピーするよう求められます。The script runs and when complete it will ask you to copy the values of the aadClientID, aadClientSecret, diskEncryptionKeyVaultUrl, and keyVaultResourceId. これらの値をそれぞれクリップボードにコピーし、メモ帳に貼り付けます。Copy each of these values to the clipboard and paste them into Notepad.
  14. PowerShell ISE に戻り、最後の行の末尾にカーソルを置いて、 Enterキーを押します。Return to the PowerShell ISE and place the cursor at the end of the last line, and press ENTER.

スクリプトの出力は次の画面のようになります。The output of the script should look something like the screen below:

PowerShell の出力

Azure 仮想マシンの暗号化Encrypt the Azure virtual machine

これで、仮想マシンを暗号化する準備が整いました。You are now ready to encrypt your virtual machine. 仮想マシンが Key Vault と同じリソース グループにある場合は、「暗号化の手順」に進むことができます。If your virtual machine is located in the same Resource Group as your Key Vault, you can move on to the encryption steps section. ただし、仮想マシンが Key Vault と同じリソース グループにない場合は、PowerShell ISE のコンソールに次のコマンドを入力する必要があります。However, if your virtual machine is not in the same Resource Group as your Key Vault, you will need to enter the following in the console in the PowerShell ISE:

$resourceGroupName = <'Virtual_Machine_RG'>$resourceGroupName = <’Virtual_Machine_RG’>

<'Virtual_Machine_RG'> は、仮想マシンが含まれるリソース グループの名前を単一引用符で囲んだものに置き換えてください。Replace < Virtual_Machine_RG > with the name of the Resource Group in which your virtual machines are contained, surrounded by a single quote. 次に、 Enterキーを押します。Then press ENTER. 正しいリソース グループ名が入力されたことを確認するには、PowerShell ISE のコンソールで次のコマンドを入力します。To confirm that the correct Resource Group name was entered, type the following in the PowerShell ISE console:

$resourceGroupName$resourceGroupName

Enterキーを押します。Press ENTER. 仮想マシンが存在するリソース グループの名前が表示されます。You should see the name of Resource Group that your virtual machines are located in. 例: For example:

PowerShell の出力

暗号化の手順Encryption steps

まず、PowerShell に対して、暗号化する仮想マシンの名前を指定する必要があります。First, you need to tell PowerShell the name of the virtual machine you want to encrypt. コンソールで、次のコマンドを入力します。In the console, type:

$vmName = <'your_vm_name'>$vmName = <’your_vm_name’>

<'your_vm_name'> を VM の名前に置き換え (名前は単一引用符で囲んでください)、Enter キーを押します。Replace <’your_vm_name’> with the name of your VM (make sure the name is surrounded by a single quote) and then press ENTER.

正しい VM 名が入力されたことを確認するには、次のコマンドを入力します。To confirm that the correct VM name was entered, type:

$vmName$vmName

Enterキーを押します。Press ENTER. 暗号化する仮想マシンの名前が表示されます。You should see the name of the virtual machine you want to encrypt. 例: For example:

PowerShell の出力

暗号化コマンドを実行して仮想マシンのすべてのドライブを暗号化する方法は 2 とおりあります。There are two methods to run the encryption command to encrypt all drives on the virtual machine. 1 つ目の方法では、PowerShell ISE のコンソールで次のコマンドを入力します。The first method is to type the following command in the PowerShell ISE console:

Set-AzureRmVMDiskEncryptionExtension -ResourceGroupName $resourceGroupName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $keyVaultResourceId -VolumeType All

上記のコマンドを入力した後、 Enterキーを押します。After typing this command press ENTER.

2 つ目の方法では、スクリプト ウィンドウ (PowerShell ISE の上部のウィンドウ) をクリックし、スクリプトの一番下までスクロールします。The second method is to click in the script pane (the top pane of the PowerShell ISE) and scroll down to the bottom of the script. 次に、上記のコマンドを強調表示し、右クリックして [選択範囲の実行] をクリックするか、F8 キーを押します。Highlight the command listed above, and then right click it and then click Run Selection or press F8 on the keyboard.

PowerShell ISE

使用する方法にかかわらず、操作が完了するまでに 10 ~ 15 分かかることを示すダイアログ ボックスが表示されます。Regardless of the method you use, a dialog box will appear informing you that it will take 10-15 minutes for the operation to complete. [はい] をクリックします。Click Yes.

暗号化処理が行われている間に、Azure Portal に戻って、仮想マシンの状態を確認することができます。While the encryption process is taking place, you can return to the Azure Portal and see the status of the virtual machine. ページの左側にある [Virtual Machines] をクリックし、[Virtual Machines] ブレードで、暗号化している仮想マシンの名前をクリックします。On the left side of the page, click Virtual Machines, then in the Virtual Machines blade, click the name of the virtual machine you’re encrypting. 表示されたブレードで、[状態][更新中] と表示されていることに気付きます。In the blade that appears, you’ll notice that the Status says that it’s Updating. これは、暗号化が進行中であることを示します。This demonstrates that encryption is in process.

More details about the VM

PowerShell ISE に戻ります。Return to the PowerShell ISE. スクリプトが完了すると、次の図のように表示されます。When the script completes, you’ll see what appears in the figure below.

PowerShell の出力

仮想マシンが暗号化されることを示すには、Azure Portal に戻り、ページの左側にある [Virtual Machines] をクリックします。To demonstrate that the virtual machine is now encrypted, return to the Azure Portal and click Virtual Machines on the left side of the page. 暗号化した仮想マシンの名前をクリックします。Click the name of the virtual machine you encrypted. [設定] ブレードで [ディスク] をクリックします。In the Settings blade, click Disks.

Settings options

[ディスク] ブレードで、[暗号化][有効] になっていることがわかります。On the Disks blade, you will see that Encryption is Enabled.

Disks properties

次の手順Next steps

このドキュメントでは、Azure 仮想マシンを暗号化する方法について説明しました。In this document, you learned how to encrypt an Azure Virtual Machine. Azure セキュリティ センターの詳細については、次を参照してください。To learn more about Azure Security Center, see the following: