Azure Arc 対応 SQL Managed Instance の ID とアクセスの管理

この記事では、Azure Arc 対応 SQL Managed Instance の ID とアクセスの管理 (IAM) アーキテクチャ、設計上の考慮事項、さまざまなシナリオに対する推奨事項について説明します。

Arc 対応 SQL Managed Instance は、Azure Arc 対応 Kubernetes クラスターで実行されている Azure Arc 対応データ サービスの拡張機能に依存します。 この重要な設計領域の一部として ID とアクセスの管理に重要な Azure Arc 対応データ サービスのさまざまなコンポーネントを次に示します。

  • Azure Arc データ コントローラー
  • Azure Arc Active Directory コネクタ
  • Azure Arc 対応 SQL Managed Instance

アーキテクチャ

SQL 認証

ローカル SQL ID を使用する Arc 対応 SQL Managed Instance では、SQL 認証がサポートされています。 管理者向けの Windows からサインイン資格情報を作成し、Active Directory 認証を使用して Arc 対応 SQL Managed Instance にアクセスするためのアクセス許可をデータベースに付与するために、初回サインイン時に SQL 認証方法が使用されます。 Grafana ダッシュボードと Kibana ダッシュボードでは、現時点では基本認証のみがサポートされています。

Active Directory 認証

多くの企業組織にとって、Active Directory (AD) 認証が、オンプレミスおよびクラウド環境で実行されている SQL Server を使用してロールベースのアクセス制御 (RBAC) を適用するための標準です。 Azure Arc 対応 SQL Managed Instance では、既存の SQL Server データベースを Arc 対応 SQL Managed Instance にシームレスに移行し、最新の SQL Server バージョンとセキュリティ パッチを最新の状態に保つために AD 認証がサポートされています。

Arc 対応 SQL Managed Instance では、Arc 対応 Kubernetes クラスターで実行されているとき、Kerberos keytab を使用して AD 認証がサポートされます。 Active Directory コネクタ は、AD 認証をサポートするための Arc 対応データ サービスの主要コンポーネントです。

Kerberos keytab を生成および管理し、Arc 対応 SQL Managed Instance で使用する 2 つの方法を次に示します。 次のセクションでは、シナリオと、適切な keytab モードを使用するタイミングについて説明します。

システム マネージド keytab

システム マネージド keytab モードの Active Directory コネクタを使用すると、Arc 対応 SQL Managed Instance の AD アカウントの生成と keytab 管理が簡素化されます。 AD コネクタは、AD 認証をサポートするためのサービス アカウントの作成、サービス プリンシパルの割り当て、keytab の生成を担当します。 この方法は、細かい制御よりも運用を簡素化して AD 認証用の keytab を自動管理することを希望するお客様にお勧めします。

Diagram that shows Active Directory authentication using system-managed keytab mode.

図 1: システム マネージド keytab モードの AD コネクタのアーキテクチャ図。

カスタマー マネージド keytab

カスタマー マネージド keytab モードの Active Directory コネクタは、情報技術インフラストラクチャ ライブラリ (ITIL) プロセスに厳密に従うお客様に、サービス アカウント、サービス プリンシパル、および keytab の生成のフル コントロールと、さまざまなチームにアクティビティを委任する職務の分離機能を提供します。

Diagram that shows Active Directory authentication using customer-managed keytab mode.

図 2: カスタマー マネージド keytab モードの AD コネクタのアーキテクチャ図。

Azure Arc データ コントローラー

Arc 対応データ サービスの拡張機能を直接接続モードでインストールすると、Arc 対応データ サービスが Azure Resource Manager (ARM) API のコントロール プレーンおよびデータ プレーンと対話するためのマネージド ID が作成されます。 Azure Arc データ コントローラーは、Arc 対応 SQL Managed Instance を管理するときに、このマネージド ID を使用してこれらのアクションを実行します。

間接接続モードでは、Azure Arc データ コントローラーが Azure に定期的にインベントリやリソースのなどの使用状況情報をエクスポートするために、必要なアクセス許可があるサービス プリンシパルを必要とします。

Azure Arc 対応データ サービス上の Azure RBAC

監視メトリックを Azure Monitor に発行するために必要な RBAC アクセス許可を次に示します。

Role 説明
監視メトリック パブリッシャー Azure リソースに対するメトリックの公開を有効にします。

Azure Arc 対応 SQL Managed Instance へのセキュリティで保護されたアクセス

次のアーキテクチャ図は、AD 認証を使用したセキュリティで保護されたアクセスを示しています。

Diagram that shows secure access to Arc-enabled SQL Managed Instance using AD authentication.

次のアーキテクチャ図は、SQL 認証を使用したセキュリティで保護されたアクセスを示しています。

Diagram that shows secure access to Arc-enabled SQL Managed Instance using SQL authentication.

設計上の考慮事項

Azure ランディング ゾーンの ID 管アクセスの管理の重要な設計領域を確認して、Azure Arc 対応データ サービスが全体的な ID とアクセス モデルに及ぼす影響を評価します。

Azure Arc 対応データ サービスのデプロイ

  • Arc 対応データ サービスのデプロイについて、デプロイの種類 (手動や自動など) に応じて、Azure Arc 対応データ サービスのデプロイに使用する ID を検討してください。 この ID は、基になる Azure Arc 対応 Kubernetes アクセス制御をオンプレミスまたはその他のクラウド環境で管理する方法に応じて、Active Directory Domain Services (AD DS) またはサード パーティの LDAP プロバイダーの Microsoft Entra アカウントまたはライトウェイト ディレクトリ アクセス プロトコル (LDAP) アカウントになります。

  • 情報技術 (IT) 組織が Arc 対応データ サービスを管理するために、グループベースのアクセス制御と個々の ID ベースのアクセス制御のいずれがより適切かを、両方のオプションによって作成される運用オーバーヘッドに基づいて検討します。

  • Azure Arc 対応 Kubernetes 管理者とデータベース管理グループ (DMG) とアプリケーション管理グループの間で、組織のセキュリティ ガバナンスと職務要件の分離に応じて、Azure Arc 対応データ サービスをデプロイおよび管理することを検討します。

  • Arc 対応 SQL Managed Instance で AD 認証をサポートする Azure Arc AD コネクタをデプロイするため、システム マネージド keytab とカスタマー マネージド keytab の使用パターンを検討します。 どちらの方法でも、AD 認証をサポートするためのサービス アカウントと keytab の管理をお客様がフル コントロールする場合と比較して、運用が簡素化されるという利点があります。

Arc 対応データ サービスのアクセス;

Arc 対応 SQL Managed Instance のアクセス制御は、基盤の Azure Arc 対応 Kubernetes アクセス制御からは全面的に独立しています。 Arc 対応 SQL Managed Instance を管理し、コンシューマー アプリケーションとエンド ユーザーへのアクセスを提供するために、いくつかの設計上の決定を行うことが重要です。

  • 組織のアプリケーションまたはサービス機能に応じて、AD 認証か SQL 認証を選択します。 すべてのアプリケーションが AD 認証をサポートしているわけではないため、許可されている認証の種類について組織のセキュリティ ポリシーを確認し、SQL 認証を使用するときに必要な追加のセキュリティ制御を適用します。

  • クラウド ネイティブ サービスで Arc 対応 SQL Managed Instance データベースを認証および接続してデータを抽出し、データ分析サービスに取り込む必要があるときは、SQL 経由で AD 参加しているオンプレミスのセルフホステッド ランタイムの仮想または物理マシンを使用して、Arc 対応 SQL Managed Instance に認証および接続することを検討します。

設計の推奨事項

Azure Arc 対応 Kubernetes については、Arc 対応 Kubernetes クラスターに Arc 対応 SQL Managed Instance がデプロイされるため、次の設計に関する推奨事項に加えて、ID とアクセスの管理の設計に関する推奨事項を確認してください。

Azure Arc 対応データ サービスのデプロイ

  • 厳格な ITIL プロセスに従う企業組織の場合は、別々のセキュリティ グループを作成し、Arc 対応データ サービスを管理するためのアクセス許可を割り当てることで、Arc 対応データ サービスを管理するチームを Arc 対応 Kubernetes から分離します。

  • AD 認証のサポートにシステム マネージド keytab モードを使用して、ドメイン アカウントと keytab 管理のオーバーヘッドを軽減し、運用を簡素化します。

  • AD 認証にカスタマー マネージド keytab モードを使用して、サービス アカウントの作成とキータブの生成をフル コントロールします。

  • 専用の AD 組織単位 (OU) を作成してアクセス制御を委任し、すべての Arc 対応 SQL Managed Instance アカウントの運用を簡素化します。

  • Kerberos keytab ファイルには AES256 暗号化を使用し、RC4 暗号の使用は避けてください。

Arc 対応データ サービスのアクセス;

  • 必要に応じて、SQL Managed Instance で AD 認証を使用して、ユーザー ライフサイクル管理の負荷をディレクトリ サービスに移動し、AD のセキュリティ グループを使用してユーザーのアクセス許可を管理します。

  • AD 認証を使用できないときは最も優先されない認証の種類として、Arc 対応 SQL Managed Instance で SQL 認証を使用します。

  • 組織のニーズに合わせて AD 認証が可能になったら、日常的な運用に SQL 認証を使用しないようにします。 SQL 認証は、データベース管理のためにデータベース サーバーに緊急アクセスする場合にのみ使用します。

  • AD 認証をサポートしないデプロイ シナリオでは、Arc 対応 SQL Managed Instance でサポートされている SQL 認証を使用します。 強力なパスワード ポリシーを採用し、監査を有効にして、データベース サーバーとデータベースにアクセスするために付与された SQL ユーザー ID とアクセス許可を監視するようにしてください。

ロールベースのアクセス制御 (RBAC)

システム マネージド keytab モードでは、Arc 対応 SQL Managed Instance の Active Directory OU レベルでドメイン サービス アカウント (DSA) に対する明示的なアクセス許可が必要です。

必要な RBAC アクセス許可を次に示します。 カスタマー マネージド keytab モードの場合、Active Directory OU レベルのドメイン サービス アカウントに対して明示的なアクセス許可は必要ありません。

Azure Arc AD コネクタのアクセス許可

権限 説明
すべてのプロパティの読み取り ディレクトリ オブジェクトのすべてのプロパティの読み取りを許可します。
すべてのプロパティの書き込み ディレクトリ オブジェクトのすべてのプロパティの更新を許可します。
ユーザー オブジェクトの作成 OU 内のディレクトリ オブジェクトの作成を許可します。
ユーザー オブジェクトの削除 OU 内のディレクトリ オブジェクトの削除を許可します。
[パスワードのリセット] OU 内のユーザー オブジェクトのパスワード リセットを許可します。

SQL Server ロール

次の手順

Azure Arc 対応 SQL Managed Instance の ID とアクセス管理の詳細については、次の記事を参照してください。