ラボ 07:Key Vault (Always Encrypted を設定して、セキュアなデータを実装する)
受講生用ラボ マニュアル
ラボのシナリオ
Azure SQL データベースの Always Encrypted 機能のサポートを利用する概念実証アプリケーションの作成を依頼されました。 このシナリオで使用されるすべてのシークレットとキーは、Key Vault に格納する必要があります。 セキュリティ体制を強化するには、アプリケーションを Microsoft Entra ID に登録する必要があります。 これらの目的を達成するには、概念実証に以下を含める必要があります。
- Azure Key Vault を作成し、キーとシークレットをコンテナーに格納します。
- Always Encrypted を使用して、SQL Database を作成し、データベース テーブル内の列の内容を暗号化します。
注:このラボのすべてのリソースについて、米国東部リージョンを使用しています。 これがクラスで使用するリージョンであることを講師に確認します。
この概念実証の構築に関連する Azure のセキュリティの側面に焦点を当て続けるために、自動化された ARM テンプレートのデプロイから開始し、Visual Studio 2019 と SQL Server Management Studio 19 を使用して仮想マシンをセットアップします。
ラボの目的
このラボでは、次の演習を行います。
- 演習 1:ARM テンプレートから基本インフラストラクチャをデプロイする
- 演習 2:キーとシークレットを使用して Key Vault のリソースを構成する
- 演習 3:Azure SQL データベースとデータ駆動型アプリケーションを構成する
- 演習 4:Azure SQL データベースの暗号化における Azure Key Vault の使用方法を示す
Key Vault の図
Instructions
ラボ ファイル:
-
\Allfiles\Labs\10\az-500-10_azuredeploy.json
-
\Allfiles\Labs\10\program.cs
予想合計ラボ時間:60 分
演習 1:ARM テンプレートから基本インフラストラクチャをデプロイする
この演習では、次のタスクを実行します。
- タスク 1:Azure VM と Azure SQL データベースをデプロイする
タスク 1:Azure VM と Azure SQL データベースをデプロイする
このタスクでは、Azure VM をデプロイします。これにより、デプロイの一部として Visual Studio 2019 と SQL Server Management Studio 19 が自動的にインストールされます。
-
Azure portal
https://portal.azure.com/
にサインインします。注:このラボで使用している Azure サブスクリプションで所有者ロールまたは共同作成者ロールを持つアカウントを使用して Azure portal にサインインします。
-
Azure portal で Azure portal ページの上部にある [リソース、サービス、ドキュメントの検索] テキスト ボックスで、「カスタム テンプレートをデプロイする」と入力し、Enter キーを押します。
-
[カスタム デプロイ] ウィンドウで、[エディターで独自のテンプレートを作成する] オプションをクリックします。
-
[テンプレートの編集] ブレードで、 [ファイルの読み込み] をクリックし、 \Allfiles\Labs\10\az-500-10_azuredeploy.json ファイルを見つけて、 [開く] をクリックします。
-
[テンプレートの編集] ウィンドウで、[保存] をクリックします。
-
[カスタム デプロイ] ウィンドウの [デプロイ スコープ] で、次の設定が構成されていることを確認します (既定値を使用して他の設定を行います)。
設定 値 サブスクリプション このラボで使用する Azure サブスクリプションの名前 リソース グループ [新規作成] をクリックして、「AZ500LAB10」という名前を入力します 場所 米国東部 ユーザー名 Student パスワード ラボ 02 > 演習 2 > タスク 1 > 手順 3 で作成した自分の個人用パスワードを使ってください。 注:仮想マシンへのログオンに使用される管理資格情報を変更できますが、変更する必要はありません。
注:Azure VM をプロビジョニングできる Azure リージョンを特定するには、 https://azure.microsoft.com/en-us/regions/offers/ を参照してください
-
[確認と作成] ボタンをクリックし、[作成] ボタンをクリックしてデプロイを確認します。
注:これにより、このラボに必要な Azure VM と Azure SQL データベースのデプロイが開始されます。
注:ARM テンプレートのデプロイが完了するのを待たずに、次の演習に進んでください。 デプロイには約 20~25 分間かかります。
演習 2:キーとシークレットを使用して Key Vault のリソースを構成する
注:このラボのすべてのリソースに対して、東部 (米国) リージョンを使用しています。 これがクラスで使用するリージョンであることを講師に確認します。
この演習では、次のタスクを実行します。
- タスク 1:Key Vault を作成して構成する
- タスク 2:Key Vault にキーを追加する
- タスク 3:Key Vault にシークレットを追加する
タスク 1:Key Vault を作成して構成する
このタスクでは、Azure Key Vault リソースを作成します。 Azure Key Vault のアクセス許可も構成します。
-
Azure portal の右上にある最初のアイコン(検索バーの横)をクリックして、Cloud Shell を開きます。 メッセージが表示されたら、[PowerShell] と [ストレージの作成] を選択します。
-
Cloud Shell ペインの左上隅にあるドロップダウン メニューで [PowerShell] が選択されていることを確認します。
-
[Cloud Shell] ペイン内の PowerShell セッションで次のように実行して、リソース グループ AZ500LAB10 に Azure Key Vault を作成します。 (タスク 1 でラボのリソース グループに別の名前を使用した場合は、このタスクでもその名前を使用してください)。 Key Vault 名は一意である必要があります。 選択した名前を覚えておいてください。 このラボ全体で必要になります。
$kvName = 'az500kv' + $(Get-Random) $location = (Get-AzResourceGroup -ResourceGroupName 'AZ500LAB10').Location New-AzKeyVault -VaultName $kvName -ResourceGroupName 'AZ500LAB10' -Location $location -DisableRbacAuthorization
注:最後のコマンドの出力には、コンテナー名とコンテナーURIが表示されます。 コンテナー URI の形式は
https://<vault_name>.vault.azure.net/
です -
[Cloud Shell] ペインを閉じます。
-
Azure portal ページの上部にある [ソース、サービス、ドキュメントの検索] テキスト ボックスで、「リソース グループ」と入力し、Enter キーを押します。
-
[リソース グループ] ウィンドウのリソース グループのリストで、AZ500LAB10 (または以前にリソース グループに選択した他の名前) エントリをクリックします。
-
リソース グループ ブレードで、新しく作成された Key Vault を表すエントリをクリックします。
-
Key Vault ブレードの [概要] セクションで、 [アクセス ポリシー] をクリックし、 [作成] をクリックします。
-
[アクセス ポリシーの作成] ブレードで、次の設定を指定します (他の設定はすべて既定値のままにします)。
設定 値 テンプレートから構成する (オプション) キー、シークレット、および証明書の管理 キーのアクセス許可 [すべて選択] をクリックすると、合計 9 個の権限が選択されます キーのアクセス許可/暗号化操作 [サイン] をクリックすると、合計 1 個の権限が選択されます シークレットのアクセス許可 [すべて選択] をクリックすると、合計 7 個の選択済み権限が選択されます 証明書のアクセス許可 [すべて選択] をクリックすると、合計 15 個の選択済み権限が選択されます プリンシパルの選択 [選択なし] をクリックし、 [プリンシパル] ブレードでご自分のユーザー アカウントを選択して、 [次へ] をクリックします アプリケーション (オプション) [次へ] をクリックします [確認および作成] [作成] をクリックします 注: 以前の [確認と作成] 操作は、[アプリケーション]、[メール]、[キーのアクセス許可]、[シークレットのアクセス許可]、[証明書のアクセス許可] のリストが表示された [アクセス ポリシー] ページに戻ります。
タスク 2:Key Vault へのキーの追加
このタスクでは、Key Vault にキーを追加し、キーに関する情報を表示します。
-
Azure portal の [Cloud Shell] ペインで PowerShell セッションを開きます。
-
Cloud Shell ペインの左上のドロップダウン メニューで、「PowerShell」が選択されていることを確認します。
-
Cloud Shell ペイン内の PowerShell セッションで次のコマンドを実行して、ソフトウェアで保護されたキーを Key Vault に追加します。
$kv = Get-AzKeyVault -ResourceGroupName 'AZ500LAB10' $key = Add-AZKeyVaultKey -VaultName $kv.VaultName -Name 'MyLabKey' -Destination 'Software'
注:キーの名前は MyLabKey です。
-
Cloud Shell ペイン内の PowerShell セッションで次を実行して、キーが作成されたことを確認します。
Get-AZKeyVaultKey -VaultName $kv.VaultName
-
Cloud Shell ペイン内の PowerShell セッションで次を実行して、キー識別子を表示します。
$key.key.kid
-
Cloud Shell ペインを最小化します。
-
Azure portal に戻り、Key Vault ブレードの [オブジェクト] セクションで、 [キー] をクリックします。
-
キーの一覧、MyLabKey エントリをクリックし、MyLabKey のウィンドウで、キーの現在のバージョンを表すエントリをクリックします。
注:作成したキーに関する情報を調べます。
注:キー識別子を使用して、任意のキーを参照できます。 最新バージョンを入手するには、
https://<key_vault_name>.vault.azure.net/keys/MyLabKey
を参照します。または、次で特定のバージョンを取得します:https://<key_vault_name>.vault.azure.net/keys/MyLabKey/<key_version>
タスク 3:Key Vault にシークレットを追加する
-
Cloud Shell ペインに切り替えます。
-
Cloud Shell ペイン内の PowerShell セッションで次のコマンドを実行して、安全な文字列値を持つ変数を作成します。
$secretvalue = ConvertTo-SecureString 'Pa55w.rd1234' -AsPlainText -Force
-
Cloud Shell ペイン内の PowerShell セッションで、次を実行してシークレットをコンテナーに追加します。
$secret = Set-AZKeyVaultSecret -VaultName $kv.VaultName -Name 'SQLPassword' -SecretValue $secretvalue
注:シークレットの名前は SQLPassword です。
-
Cloud Shell ペイン内の PowerShell セッションで次を実行して、シークレットが作成されたことを確認します。
Get-AZKeyVaultSecret -VaultName $kv.VaultName
-
Cloud Shell ペインを最小化します。
-
Azure portal で Key Vault ブレードに戻り、 [オブジェクト] セクションで [シークレット] をクリックします。
-
シークレットのリストで、SQLPassword エントリをクリックし、SQLPassword ブレードで、シークレットの現在のバージョンを表すエントリをクリックします。
注:作成したシークレットに関する情報を調べます。
注:シークレットの最新バージョンを入手するには、
https://<key_vault_name>.vault.azure.net/secrets/<secret_name>
を参照します。特定のバージョンを入手するには、https://<key_vault_name>.vault.azure.net/secrets/<secret_name>/<secret_version>
を参照します
演習 3:Azure SQL データベースとデータ駆動型アプリケーションを構成する
この演習では、次のタスクを実行します。
- タスク 1:クライアント アプリケーションを有効にして Azure SQL データベース サービスにアクセスできるようにする。
- タスク 2:アプリケーションからキー コンテナーへのアクセスを許可するポリシーを作成する。
- タスク 3:SQL Azure データベースの ADO.NET 接続文字列を取得する
- タスク 4: Visual Studio 2019 および SQL Management Studio 19 を実行している Azure VM にログオンする
- タスク 5:SQL Database でテーブルを作成し、暗号化するデータ列を選択する
タスク 1:クライアント アプリケーションを有効にして Azure SQL データベース サービスにアクセスできるようにする。
このタスクでは、クライアント アプリケーションを有効にして Azure SQL データベース サービスにアクセスできるようにします。 これは、必要な認証を設定し、アプリケーションの認証に必要なアプリケーション ID とシークレットを取得することにより行われます。
-
Azure portal ページの上部にある [リソース、サービス、ドキュメントを検索] テキスト ボックスに「アプリの登録」と入力して、Enter キーを押します。
-
[アプリの登録] ウィンドウで、[+ 新規登録] をクリックします。
-
[アプリケーションの登録] ウィンドウで、次の設定を指定します (他の設定はすべて既定値のままにします)。
設定 値 名前 sqlApp リダイレクト URI (省略可能) Web および https://sqlapp -
[アプリケーションの登録] ウィンドウで、[登録] をクリックします。
注: 登録が完了すると、ブラウザーは自動的に sqlApp のウィンドウにリダイレクトされます。
-
sqlApp ウィンドウで、[アプリケーション (クライアント) ID] の値を確認します。
注:この値は記録しておいてください。 これは、次のタスクで必要になります。
-
sqlApp ウィンドウの [管理] セクションで、[証明書とシークレット] をクリックします。
-
**[sqlApp 証明書とシークレット]** ブレードの [クライアント シークレット] セクションで、 [+新しいクライアント シークレット] をクリックします -
[クライアント シークレットの追加] ウィンドウで、次の設定を指定します。
設定 値 説明 Key1 Expires 12 か月 -
[追加] をクリックして、アプリケーションの認証資格情報を更新します。
-
**[sqlApp 証明書とシークレット]** ブレードで、Key1 の値を特定します。 注:この値は記録しておいてください。 これは、次のタスクで必要になります。
注:ブレードから移動する前に、必ず値をコピーしてください。 コピーすると、クリア テキスト値を取得することができなくなります。
タスク 2:アプリケーションからキー コンテナーへのアクセスを許可するポリシーを作成する。
このタスクでは、新しく登録されたアプリに、Key Vault に格納されているシークレットにアクセスするためのアクセス許可を付与します。
-
Azure portal の [Cloud Shell] ペインで PowerShell セッションを開きます。
-
Cloud Shell ペインの左上のドロップダウン メニューで、「PowerShell」が選択されていることを確認します。
-
Cloud Shell ペイン内の PowerShell セッションで次のコマンドを実行して、前のタスクで記録したアプリケーション (クライアント) ID を格納する変数を作成します (
<Azure_AD_Application_ID>
プレースホルダーをアプリケーション (クライアント) ID の値に置き換えます)。$applicationId = '<Azure_AD_Application_ID>'
- Cloud Shell ペイン内の PowerShell セッションで次のコマンドを実行して、Key Vault 名を格納する変数を作成します。
$kvName = (Get-AzKeyVault -ResourceGroupName 'AZ500LAB10').VaultName $kvName
-
Cloud Shell ペイン内の PowerShell セッションで次のコマンドを実行して、前のタスクで登録したアプリケーションに Key Vault の権限を付与します。
Set-AZKeyVaultAccessPolicy -VaultName $kvName -ResourceGroupName AZ500LAB10 -ServicePrincipalName $applicationId -PermissionsToKeys get,wrapKey,unwrapKey,sign,verify,list
- [Cloud Shell] ペインを閉じます。
タスク 3:SQL Azure データベースの ADO.NET 接続文字列を取得する
演習 1 の ARM テンプレートのデプロイでは、Azure SQL Server インスタンスと、medical という名前の Azure SQL データベースをプロビジョニングしました。 空のデータベース リソースを新しいテーブル構造で更新し、暗号化するデータ列を選択する
-
Azure portal ページの上部にある [リソース、サービス、ドキュメントを検索] テキスト ボックスに「SQL データベース」と入力し、Enter キーを押します。
-
SQL データベースの一覧で、 **[medical(
)]** エントリをクリックします。 注:データベースが見つからない場合は、演習1で開始したデプロイがまだ完了していない可能性があります。 これを検証するには、Azure リソース グループ “AZ500LAB10” (または他の選んだ名前) を参照し、[設定] ウィンドウから [デプロイ] を選択します。
-
SQL データベースのウィンドウの [設定] セクションで、[接続文字列] をクリックします。
注:このインターフェイスには、ADO.NET、JDBC、ODBC、PHP、および Go の接続文字列が含まれています。
-
ADO.NET (SQL 認証) 接続文字列の値を記録します。 この情報は後で必要になります。
注:接続文字列を使用する場合は、
{your_password}
プレースホルダーを、演習 1 のデプロイで構成したパスワードに置き換えてください。
タスク 4: Visual Studio 2019 および SQL Management Studio 19 を実行している Azure VM にログオンする
このタスクでは、演習 1 で開始した Azure VM にログオンします。 この Azure VM は、Visual Studio 2019 と SQL Server Management Studio 19 をホストします。
>**Note**: Before you proceed with this task, ensure that the deployment you initiated in the first exercise has completed successfully. You can validate this by navigating to the blade of the Azure resource group "Az500Lab10" (or other name you chose) and selecting **Deployments** from the Settings pane.
-
Azure portal ページの上部の [リソース、サービス、ドキュメントの検索] テキスト ボックスに「仮想マシン」と入力し、Enter キーを押します。
-
表示されている仮想マシンの一覧で、az500-10-vm1のエントリを選択します。 az500-10-vm1 ウィンドウの [要点] ウィンドウで、[パブリック IP アドレス] を記録します。 これは後で使用します。
タスク 5:SQL Database でテーブルを作成し、暗号化するデータ列を選択する
このタスクでは、SQL Server Management Studio を使用して SQL データベースに接続し、テーブルを作成します。 次に、Azure Key Vault から自動生成されたキーを使用して 2 つのデータ列を暗号化します。
-
Azure portal で、医療用 SQL データベースのブレードに移動し、 [必須事項] セクションで [サーバー名] を特定 (クリップボードにコピー) してから、ツールバーで [サーバー ファイアウォールの設定] をクリックします。
注:サーバー名を記録します。 このタスクの後半でサーバー名が必要になります。
-
[ファイアウォール設定] ブレードで [規則名] まで下にスクロールし、 [+ ファイアウォール規則の追加] をクリックし、次の設定を指定します。
設定 値 規則の名前 Mgmt VM を許可する 開始 IP az500-10-vm1 のパブリック IP アドレス 終了IP 終了 IP az500-10-vm1 のパブリック IP アドレス 終了IP -
[保存] をクリックして変更を保存し、確認ウィンドウを閉じます。
注:これにより、サーバーファイアウォールの設定が変更され、このラボでデプロイした Azure VM のパブリック IP アドレスから医療用データベースに接続できるようになります。
-
az500-10-vm1 のウィンドウに戻り、[概要] をクリックし、次に [接続] をクリックして、ドロップダウン メニューで [RDP] をクリックします。
-
[RDP ファイルのダウンロード] をクリックし、それを使用して、リモート デスクトップ経由で az500-10-vm1 Azure VM に接続します。 認証を求められたら、次の資格情報を入力します。
設定 値 ユーザー名 Student パスワード ラボ 02 > 演習 1 > タスク 1 > 手順 9 で作成した個人用パスワードを使用してください。 注:リモート デスクトップ セッションと サーバー マネージャー が読み込まれるまで待ちます。 サーバー マネージャーを閉じます。
注:このラボの残りの手順は、az500-10-vm1 Azure VM へのリモート デスクトップ セッション内で実行されます。
-
SQL Server Management Studio を az500-10-vm1 にインストールします。 Azure VM。
-
SQL Server Management Studio を開きます。
-
[サーバーに接続] ダイアログ ボックスで、次の設定を指定します。
設定 値 サーバー タイプ データベース エンジン サーバー名 このタスクで前に指定したサーバー名 認証 SQL Server 認証 ユーザー名 Student パスワード ラボ 02 > 演習 2 > タスク 1 > 手順 3 で作成した自分の個人用パスワードを使ってください。 -
[サーバーに接続] ダイアログ ボックスで、[接続] をクリックします。
-
SQL Server Management Studio コンソールの [オブジェクト エクスプローラー] ペインで、[データベース] フォルダーを展開します。
-
[オブジェクト エクスプローラー] ペインで、medical データベースを右クリックし、[新しいクエリ] をクリックします。
-
次のコードをクエリ ウィンドウに貼り付け、[実行] をクリックします。 これにより、Patients テーブルが作成されます。
CREATE TABLE [dbo].[Patients]( [PatientId] [int] IDENTITY(1,1), [SSN] [char](11) NOT NULL, [FirstName] [nvarchar](50) NULL, [LastName] [nvarchar](50) NULL, [MiddleName] [nvarchar](50) NULL, [StreetAddress] [nvarchar](50) NULL, [City] [nvarchar](50) NULL, [ZipCode] [char](5) NULL, [State] [char](2) NULL, [BirthDate] [date] NOT NULL PRIMARY KEY CLUSTERED ([PatientId] ASC) ON [PRIMARY] );
-
テーブルが正常に作成されたら、[オブジェクト エクスプローラー] ペインで、medical データベース ノード、[テーブル] ノードを展開します。dbo.Patients ノードを右クリックして [列を暗号化する] をクリックします。
注:これにより、Always Encrypted ウィザードが起動します。
-
[説明] ページで [次へ] をクリックします。
-
[列の選択] ページで、SSN 列と Birthdate 列を選択し、SSN 列の [暗号化の種類] を [決定論的] に、Birthdate 列を [ランダム化] に設定し、[次へ] をクリックします。
注:暗号化の実行中に、Rotary(Microsoft.SQLServer.Management.ServiceManagement) に関連する “呼び出しのターゲットが例外をスローしました” のようなエラーがスローされる場合は、 [ポリシーのローテーション操作] の [キーのアクセス許可] の値が [オフ] であることを確認します。そうでない場合は、Azure portal で [Key Vault] » [アクセス ポリシー] » [キーのアクセス許可] に移動し、 [ポリシーのローテーション操作] ですべての値をオフにし、 [特権キー操作] で [リリース] をオフにします。
-
[マスター キーの構成] ページで [Azure Key Vault] を選択し、[サインイン] をクリックします。求められたら、このラボで行った Azure Key Vault インスタンスのプロビジョニングで使用したのと同じユーザー アカウントを使って認証します。[Azure Key Vault の選択] ドロップダウン リストにその Key Vault が表示されるのを確認し、[次へ] をクリックします。
-
[実行設定] ページで [次へ] をクリックします。
-
[概要] ページで、[完了] をクリックして暗号化を続行します。 要求されたら、このラボで Azure Key Vault インスタンスをプロビジョニングするために使用したのと同じユーザー アカウントを使用して、再度サインインします。
-
暗号化プロセスが完了したら、[結果] ページで [閉じる] をクリックします。
-
SQL Server Management Studio コンソールで、[オブジェクト エクスプローラー] ペインの medical ノードの下にある [セキュリティ] および [Always Encrypted のキー] サブノードを展開します。
注: [Always Encrypted のキー] サブノードには、[列マスター キー] と [列暗号化キー] サブフォルダーが含まれています。
演習 4:Azure SQL データベースの暗号化における Azure Key Vault の使用方法を示す
この演習では、次のタスクを実行します。
- タスク 1:データ駆動型アプリケーションを実行して、Azure SQL データベースの暗号化における Azure Key Vault の使用法を示す
タスク 1:データ駆動型アプリケーションを実行して、Azure SQL データベースの暗号化における Azure Key Vault の使用法を示す
Visual Studio を使用して暗号化列にデータを読み込むコンソール アプリケーションを作成し、Key Vault のキーにアクセスする接続文字列を使用してそのデータに安全にアクセスします。
-
RDP セッションから az500-10-vm1 まで、スタート メニューから Visual Studio 2019 を起動します。
-
Visual Studio 2019 のウェルカム メッセージを表示するウィンドウに切り替え、[サインイン] ボタンをクリックし、プロンプトが表示されたら、このラボで使用している Azure サブスクリプションへの認証に使用した資格情報を入力します。
-
[はじめに] ページで、[新しいプロジェクトの作成] をクリックします。
-
プロジェクト テンプレートの一覧で、[コンソール アプリ (.NET Framework)] を検索し、結果の一覧から [C#] の [コンソール アプリ (.NET Framework)] をクリックして [次へ] をクリックします。
-
[新しいプロジェクトの構成] ページで、次の設定を指定し (他の設定は既定値のままにします)、[作成] をクリックします。
設定 [値] プロジェクト名 OpsEncrypt ソリューション名 OpsEncrypt フレームワーク .NET Framework 4.7.2 -
Visual Studio コンソールで、[ツール] メニューをクリックし、ドロップダウン メニューで [NuGet パッケージ マネージャー] をクリックし、カスケード メニューの [パッケージ マネージャー コンソール] をクリックします。
-
[パッケージ マネージャー コンソール] ペインで、次を実行して、最初に必要な NuGet パッケージをインストールします。
Install-Package Microsoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider
-
[パッケージ マネージャー コンソール] ペインで、次を実行して、2 番目に必要な NuGet パッケージをインストールします。
Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory
-
Azure 仮想マシンへの RDP セッションを最小限に抑え、 \Allfiles\Labs\10\program.cs に移動し、メモ帳で開き、その内容をクリップボードにコピーします。
-
RDP セッションに戻り、Visual Studio コンソールの [ソリューション エクスプローラー] ウィンドウで [Program.cs] をクリックし、その内容をクリップボードにコピーしたコードに置き換えます。
-
Visual Studio ウィンドウにある Program.cs ペインの 15 行目で、
<connection string noted earlier>
プレースホルダーを、このラボで前に記録した Azure SQL データベース ADO.NET の接続文字列に置き換えます。 接続文字列で、{your_password}
のプレースホルダーを、演習 1 のデプロイで指定したパスワードに置き換えます。 ラボ コンピューターに文字列を保存した場合は、RDP セッションを終了して ADO 文字列をコピーしてから、Azure 仮想マシンに戻って貼り付ける必要がある場合があります。 -
Visual Studio ウィンドウにある Program.cs ペインの 16 行目で、
<client id noted earlier>
プレースホルダーを、このラボで前に記録した、登録済みアプリのアプリケーション (クライアント) ID の値に置き換えます。 -
Visual Studio ウィンドウにある Program.cs ペインの 17 行目で、
<key value noted earlier>
プレースホルダーを、このラボで前に記録した、登録済みアプリの Key1 の値に置き換えます。 -
Visual Studio コンソールで、[開始] ボタンをクリックして、コンソール アプリケーションの作成を開始します。
-
アプリケーションはコマンド プロンプト ウィンドウを起動します。 パスワードの入力を求められたら、演習 1 のデプロイで指定したパスワードを入力して、Azure SQL Database に接続します。
-
コンソール アプリを実行したまま、SQL Management Studio コンソールに切り替えます。
-
[オブジェクト エクスプローラー] ペインで、医療用データベースを右クリックし、右クリック メニューで、 [新しいクエリ] をクリックします。
-
クエリ ウィンドウから次のクエリを実行して、コンソール アプリからデータベースに読み込まれたデータが暗号化されていることを確認します。
SELECT FirstName, LastName, SSN, BirthDate FROM Patients;
-
有効な SSN の入力を求められるコンソール アプリに切り替えます。 これにより、データの暗号化された列がクエリされます。 コマンド プロンプトで、次のように入力し、Enter キーを押します。
999-99-0003
注:クエリによって返されたデータが暗号化されていないことを確認します。
-
コンソール アプリを終了するには、Enter キーを押します。
リソースをクリーンアップする
新規に作成し、使用しなくなったすべての Azure リソースを削除することを忘れないでください。 使用していないリソースを削除することで、予期しないコストが発生しなくなります。
-
Azure portal から、Azure portal の右上にあるアイコンをクリックして、 Cloud Shell を開きます。
-
[Cloud Shell] ペインの左上のドロップダウン メニューで、必要に応じて [PowerShell] を選択し、メッセージが表示されたら [確認] をクリックします。
-
Cloud Shell ペイン内の PowerShell セッションで、次の手順を実行して、このラボで作成したリソース グループを削除します。
Remove-AzResourceGroup -Name "AZ500LAB10" -Force -AsJob
-
[Cloud Shell] ペインを閉じます。