タイトルの通りですが、SQL Server を Azure VM で動作させる場合のセキュリティ保護についてまとめておきたいと思い投稿を書きました。
自分が確認しておきたかった内容をまとめているものとなり、操作をしていて標準で気づくものは省いていますので、OS 標準の機能や、SQL Server IaaS Agent 拡張機能については記載していません。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
タイトルの通りですが、SQL Server を Azure VM で動作させる場合のセキュリティ保護についてまとめておきたいと思い投稿を書きました。
自分が確認しておきたかった内容をまとめているものとなり、操作をしていて標準で気づくものは省いていますので、OS 標準の機能や、SQL Server IaaS Agent 拡張機能については記載していません。
2023年3月の発表をあまり確認できていなかったのでまとめておきたい思います。
Enhanced Azure Arc integration with Datadog simplifies hybrid and multicloud observability でアナウンスされていますが、Datadog の Integration を使用して Azure Arc の情報を Datadog に取得できるようになりました。
Datadog は Azure Marketplace からも提供されており、Datadog – An Azure Native ISV Service とは でも解説が行われています。
この領域は情報のキャッチアップができていなかったのですが、そろそろ少しずつ把握しておかないとなと思い、後で思い出すためのメモを。
SQLBits 2023 の Keynote で紹介されていたツールになります。
SQL Server の最新の機能を使用するためには、System.Data.SqlClient ではなく、Microsoft.Data.SqlClient を使用する必要があります。
以前、PowerShell (7.0.2) で Microsoft.Data.SqlClient 2.0 を使用する という投稿を書いたのですが、Windows PowerShell を使用していて、もう少しシンプルな方法で導入することはできないかと考えてみたところ、SQL Server PowerShell モジュール の存在を思い出しました。
2023/04/06 追記
Microsoft.Data.SqlClient が使用されている 22.x が GA リリースされました。
I'm pleased to announce the GA release of the SQLServer PowerShell module v22.https://t.co/hXJuyq2Xqh
— Matteo Taveggia (@matteo_taveggia) April 4, 2023
22.0.59 以降で Preview が外れましたので、現時点では GA 版を使用することができます。
SQL Server IaaS Agent 拡張機能で新しいアクセス許可モデルの提供が開始され、「完全な sysadmin 権限」「最小特権モデル (原則) 」(least privilege mode) という二種類のアクセス許可が使用されるようになりました。
従来までのアクセス許可モデルは「完全な sysadmin 権限」と呼ばれるものとなり、現状では、
で使用されているものとなります。
上記以外の環境や、自動登録で導入された IaaS Agent 拡張機能については「最小特権の原則」で導入が行われるようになりました。
当初から提供されていた「完全な sysadmin 権限によるアクセス許可モデル」では次の 3 種類の管理モードが提供されていました。
新しく提供が開始された「最小特権モデル」については、管理モードは削除され、使用される機能に応じたカスタムロールが使用され、機能に応じて必要な権限が付与されるようになりました。
これにより「最小特権モデル」では、管理モードが削除され軽量や完全モードという管理がなくなりました。
SQL Server のトラブル解析に Bing AI (Bing チャット) / ChatGTP を活用することはできるのかが気になったので簡単にではありますが試してみました。
プロンプトの組み方によってはもっと精度を上げることもできるのかとは思いますが、今回はシンプルな自然言語の入力で試しています。
SQL Server に対して実行するクエリについて、実行元から SQL Server に対してネットワーク遅延がある場合、実行されたクエリの処理時間はどのように記録されるのかを確認したいケースがありました。
実行元は Hyper-V の仮想マシンで実行しているので帯域制限については、ある程度はネットワークアダプターの帯域幅管理でも実現はできるのですが、明示的にネットワークに遅延を発生させることはできません。
Linux であれば、tc を使用して netem で実行することができそうですが、Windows 環境で手軽に実行したいと思った場合にどのように実行するのかを探してみたところ、clumsy というツールを使用することで実現ができました。
Azure Stack HCI と Azure を連携することで使用することができる機能として、Azure Arc 仮想マシン (Azure Arc VM) があります。
Azure Arc 仮想マシンを使用すると Azure ポータルから Azure Stack HCI に仮想マシンを展開 / 展開した仮想マシンを Azure のリソースとして扱うことができるようになります。
Azure Stack HCI 上で Azure Virtual Desktop を実現する機能となる Azure Virtual Desktop for Azure Stack HCI (AVD for Azure Stack HCI) でも、展開されるセッションホストについても、Azure Arc 仮想マシンが使用されており、この機能を活用する際にも Azure Arc 仮想マシンが活用されています。
Azure Arc 仮想マシンですが、インストールの設定については、Azure Connected Machine Agent が自動的にインストールされるのですが、このエージェントについての情報をまとめておきたいと思います。