ラボ 05:Azure SQL データベースのセキュリティ保護

受講生用ラボ マニュアル

ラボのシナリオ

Azure SQL データベースのセキュリティ機能を確認するように依頼されました。 具体的には、次のことに関心があります。

  • SQL インジェクションやデータ流出などの攻撃に対する保護。
  • データベース情報を検出し、機密などのカテゴリに分類する機能。
  • データベース サーバーとデータベース クエリを監査し、イベントをログに記録する機能。

このラボのすべてのリソースについて、米国東部リージョンを使用しています。 これがクラスで使用するリージョンであることを講師に確認します。

ラボの目的

このラボでは、次の演習を行います。

  • 演習 1:SQL Database のセキュリティ機能を実装する

Azure SQL Database のセキュリティ保護の図

image

Instructions

ラボ ファイル:

  • \Allfiles\Labs\11\azuredeploy.json

演習 1:SQL Database のセキュリティ機能を実装する

推定時間:30 分

この演習では、次のタスクを実行します。

  • タスク 1:Azure SQL データベースをデプロイする
  • タスク 2:高度なデータ保護の構成
  • タスク 3:データ分類を構成する
  • タスク 4:監査の構成

タスク 1:Azure SQL データベースをデプロイする

このタスクでは、テンプレートを使用してラボ インフラストラクチャを展開します。

  1. Azure portal ( https://portal.azure.com/ ) にサインインします。

    :このラボで使用している Azure サブスクリプションで所有者ロールまたは共同作成者ロールを持つアカウントを使用して Azure portal にサインインします。

  2. Azure portal で Azure portal ページの上部にある [リソース、サービス、ドキュメントの検索] テキスト ボックスで、「カスタム テンプレートをデプロイする」と入力し、Enter キーを押します。

  3. [カスタム デプロイ] ブレードで、[エディターで独自のテンプレートをビルド] のオプションをクリックします。

  4. [テンプレートの編集] ブレードで、 [ファイルの読み込み] をクリックし、 \Allfiles\Labs\11\azuredeploy.json ファイルを見つけて、 [開く] をクリックします。

    :テンプレートの内容を確認し、Azure SQL データベースをデプロイしていることを確認します。

  5. [テンプレートの編集] ブレードで、[保存] をクリックします。

  6. [カスタム デプロイ] ブレードで、次の設定が構成されていることを確認します (既定値を使用して他の設定を行います)。

    設定
    サブスクリプション このラボで使用する Azure サブスクリプションの名前
    リソース グループ [新規作成] をクリックし、「AZ500LAB11」という名前を入力する
    場所 (米国) 米国東部
  7. [確認と作成] をクリックしてから、[作成] をクリックします。

    : デプロイが完了するまで待ちます。

タスク 2:高度なデータ保護の構成

  1. Azure portal の、Azure portal ページの上部にある [ソース、サービス、ドキュメントの検索] テキスト ボックスで、「リソース グループ」と入力し、Enter キーを押します。

  2. [リソース グループ] ブレードのリソース グループの一覧で、 [AZ500LAB11] エントリをクリックします。

  3. [AZ500LAB11] ブレードで、新しく作成された SQL サーバーを表すエントリをクリックします。

  4. [SQL サーバー] ブレードの [セキュリティ] セクションで、 [Microsoft Defender for Cloud] をクリックし、 [Microsoft Defender for SQL を有効にする] を選択します。

    :Azure Defender for SQL が正常に有効になったことを示す通知が表示されるまで待ちます。

  5. [SQL サーバー] ブレードの [セキュリティ] セクションの [Microsoft Defender for Cloud] ページにある [Microsoft Defender for SQL: サブスクリプションレベルで有効化 (構成)] パラメーターで、 [(構成)] をクリックします。

    : [(構成)] が表示されない場合は、ブラウザーを更新してください。

  6. [サーバー設定] ブレードで、価格と試用期間、 [脆弱性評価設定] 、および [高度な脅威保護設定] に関する情報を確認します。

  7. [Microsoft Defender for Cloud] ブレードに戻り、 [推奨事項][セキュリティ アラート] を確認します。

    :推奨事項が [Microsoft Defender for Cloud] ブレードに表示されるまでに、10 分から 15 分かかる場合があります。 完了を待たずに、次のタスクに進み、残りのすべてのタスクを完了してから、このブレードに戻ることも可能です。

タスク 3:データ分類を構成する

このタスクでは、GPDR とデータ保護のコンプライアンスに関する SQL Database 内の情報を検出し、分類します。

  1. [SQL サーバー] ブレードの [設定] セクションで、 [SQL データベース] をクリックします。

  2. ポリシーの一覧で、 [AZ500LabDb] エントリを選択します。

  3. [AZ500LabDb SQL Database] ブレードの [セキュリティ] セクションで、 [データ検出と分類] をクリックします。

  4. [データ検出と分類] ブレードで、 [分類] タブをクリックします。

    :分類エンジンによって、機密データが含まれる可能性のある列についてデータベースがスキャンされ、推奨される列の分類のリストが提供されます。

  5. ブレードの上部にある青いバーに表示されたテキスト メッセージ [分類の推奨事項を備えた 15 列が見つかりました] をクリックします。

  6. リストされた列と推奨される秘密度ラベルを確認します。

  7. [すべて選択] チェック ボックスをオンにし、 [選択した推奨事項を受け入れる] をクリックします。

    :または、特定の列だけを選択して他の列を無視することができます。

    :情報タイプと秘密度ラベルを変更することもできます。

  8. レビューが完了したら、 [保存] をクリックします。

    :これで分類が完了し、データベース列に新しい分類メタデータが永続的にラベル付けされます。

  9. [データの検出と分類] ブレードの [概要] タブに戻り、最新の分類情報を考慮して更新されていることを確認してください。

タスク 4:監査の構成

このタスクでは、まずサーバー レベルの監査を構成し、次にデータベース レベルの監査を構成します。

  1. Azure portal で、[SQL Server] ブレードに戻ります。

  2. [SQL Server] ブレードの [セキュリティ] セクションで、 [監査] をクリックします。

    :これはサーバー レベルの監査です。 既定の監査設定には、データベースに対して実行されたすべてのクエリとストアド プロシージャ、およびログインの成功と失敗が含まれます。

  3. [Azure SQL 監査を有効にする] スイッチをオンに設定して、監査を有効にします。

  4. [ストレージ] チェックボックスを選択すると、 [サブスクリプション][ストレージ アカウント] の入力ボックスが表示されます。

  5. ドロップダウン リストから [サブスクリプション] を選びます。

  6. [ストレージ アカウント] をクリックして、 [新規作成] を選択します。

  7. [ストレージ アカウントの作成] ブレードの [名前] ボックスに、小文字と数字を含めた 3 ~ 24 文字のグローバルな一意の名前を入力し、 [OK] をクリックします。

    :ストレージ アカウントが使用可能になる前に、ブラウザーの更新が必要になる場合があります。

  8. [監査] ブレードに戻り、[詳細プロパティ][保有期間 (日数)] を [5] に設定します。

  9. [監査] ブレードで、 [保存] をクリックして監査の設定を保存します。

    :ストレージ コンテナーのパスが無効な場合、ストレージ アカウントがまだプロビジョニングされていない可能性があります。 数分待ってから、 [ストレージ アカウント] をクリックし、 [ストレージ アカウントの選択] ブレードで新しく作成したストレージ アカウントを選択し、[監査] ブレードで [保存] をクリックします。

  10. サーバー ブレードの [設定] セクションで、 [SQL データベース] をクリックします。

  11. ポリシーの一覧で、 [AZ500LabDb] エントリを選択します。

  12. [AZ500LabDb SQL データベース] ブレードの [セキュリティ] セクションで、 [監査] をクリックします。

    :これはデータベース レベルの監査です。 サーバー レベルの監査は既に有効になっています。

    :監査は、Azure ストレージ アカウント、Log Analytics ワークスペース、またはイベント ハブに書き込むことができます。 これらのオプションは、任意に組み合わせて構成できます。

    :サーバーでストレージベースの監査が有効になっている場合、データベースの設定に関係なく、常にデータベースに適用されます。

  13. Azure portal の [SQL データベースの概要] ページで、左側のメニューから [クエリ エディター (プレビュー)] を選択します。 サインインしようとして、パスワード、IP アドレスのファイアウォール規則で失敗すると、すべてが監査されます。 同様に、ログインの成功を試し、クエリを実行すると、監査ログでさらに多くの詳細が見つかる場合があります

  14. DB の [監査] に戻り、[監査ログの表示] をクリックします。

  15. [監査レコード] ブレードで、サーバー監査とデータベース監査を切り替えることができることに注意してください。

結果:SQL サーバーとデータベースを作成し、データ分類を構成し、監査を行いました。

リソースをクリーンアップする

新規に作成し、使用しなくなったすべての Azure リソースを削除することを忘れないでください。 使用していないリソースを削除することで、予期しないコストが発生しなくなります。

  1. Azure portal から、Azure portal の右上にあるアイコンをクリックして、Cloud Shell を開きます。 メッセージが表示されたら、[PowerShell][ストレージの作成] をクリックします。

  2. [Cloud Shell] ペインの左上隅にあるドロップダウン メニューで [PowerShell] が選択されていることを確認します。

  3. Cloud Shell ペイン内の PowerShell セッションで、次の手順を実行して、このラボで作成したリソース グループを削除します。

     Remove-AzResourceGroup -Name "AZ500LAB11" -Force -AsJob
    
  4. [Cloud Shell] ペインを閉じます。