SQL Server ビッグ データ クラスターのセキュリティの概念

適用対象: SQL Server 2019 (15.x)

重要

Microsoft SQL Server 2019 ビッグ データ クラスターのアドオンは廃止されます。 SQL Server 2019 ビッグ データ クラスターのサポートは、2025 年 2 月 28 日に終了します。 ソフトウェア アシュアランス付きの SQL Server 2019 を使用する既存の全ユーザーはプラットフォームで完全にサポートされ、ソフトウェアはその時点まで SQL Server の累積更新プログラムによって引き続きメンテナンスされます。 詳細については、お知らせのブログ記事と「Microsoft SQL Server プラットフォームのビッグ データ オプション」を参照してください。

この記事では、セキュリティに関する重要な概念について説明します。

SQL Server ビッグ データ クラスターでは、明確で一貫性のある承認と認証が提供されます。 ビッグ データ クラスターは、既存のドメインに対して Active Directory (AD) 統合をセットアップする完全に自動化されたデプロイを通じて、AD と統合できます。 AD 統合を使用してビッグ データ クラスターを構成すると、既存の ID とユーザー グループを活用して、すべてのエンドポイントにわたる統合アクセスを実現できます。 また、SQL Server 内で外部テーブルを作成した後は、外部テーブルへのアクセスを AD ユーザーとグループに許可することで、データ ソースへのアクセスを制御できます。これにより、データ アクセス ポリシーが 1 か所に一元化されます。

この 14 分のビデオでは、ビッグ データ クラスター セキュリティの概要を把握できます。

認証

外部クラスター エンドポイントでは、AD 認証がサポートされます。 AD ID を使用してビッグ データ クラスターを認証します。

クラスター エンドポイント

ビッグ データ クラスターには 5 つのエントリ ポイントがあります

  • マスター インスタンス - SSMS や Azure Data Studio など、データベース ツールとアプリケーションを使用してクラスター内の SQL Server マスター インスタンスにアクセスするための TDS エンドポイント。 Azure Data CLI (azdata) から HDFS または SQL Server コマンドを使用する場合、操作に応じて、ツールは他のエンドポイントに接続します。

  • HDFS ファイル、Spark (Knox) にアクセスするためのゲートウェイ - webHDFS や Spark などのサービスにアクセスするための HTTPS エンドポイントです。

  • クラスター管理サービス (コントローラー) エンドポイント - クラスターを管理するための REST API を公開しているビッグ データ クラスター管理サービスです。 Azdata ツールは、このエンドポイントに接続する必要があります。

  • 管理プロキシ - ログ検索ダッシュボードとメトリック ダッシュボードにアクセスするために使用します。

  • アプリケーション プロキシ - ビッグ データ クラスター内に展開されたアプリケーションを管理するためのエンドポイント。

Cluster endpoints

現時点では、外部からクラスターにアクセスするための追加のポートを開くオプションはありません。

承認

クラスター全体におよぶさまざまなコンポーネント間の統合セキュリティにより、Spark と SQL Server から HDFS までクエリを発行するときに元のユーザーの ID を渡すことができます。 前述のように、さまざまな外部クラスター エンドポイントで AD 認証がサポートされています。

クラスターには、データ アクセスを管理するための 2 レベルの承認チェックがあります。 ビッグ データのコンテキストでの承認は、オブジェクトに対する従来の SQL Server アクセス許可を使用して SQL Server 内で、また、ユーザー ID を特定のアクセス許可に関連付ける制御リスト (ACL) を使用して HDFS 内で行われます。

セキュリティで保護されたビッグ データ クラスターとは、SQL Server と HDFS/Spark の両方にまたがる、認証と承認のシナリオに対する一貫性のあるわかりやすいサポートを意味します。 認証とは、ユーザーまたはサービスの身元を確認し、ユーザーまたはサービスが本物であることを確認するプロセスです。 承認とは、要求元のユーザーの ID に基づいて、特定のリソースへのアクセスを許可または拒否することを意味します。 この手順は、ユーザーが認証によって識別された後に実行されます。

ビッグ データのコンテキストにおける承認は、ユーザー ID と特定のアクセス許可を関連付けるアクセス制御リスト (ACL) を使用して実行されます。 HDFS は、サービス API、HDFS ファイル、およびジョブ実行に対するアクセスを制限することで、承認をサポートするものです。

フライトとその他のセキュリティ メカニズムでの暗号化

クライアントと外部エンドポイント間およびクラスター内のコンポーネント間の通信の暗号化は、証明書を使用して TLS/SSL で保護されます。

データ プールと通信する SQL マスター インスタンスなど、SQL Server 間のすべての通信は、SQL ログインを使用して保護されます。

重要

ビッグ データ クラスターでは、etcd を使用して資格情報が保存されます。 ベスト プラクティスとして、Kubernetes クラスターで保存時に etcd 暗号化が使用されるように、確実に構成する必要があります。 既定では、etcd に格納されるシークレットは暗号化されません。 Kubernetes のドキュメントでは、この管理タスクの詳細について説明しています (https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/ )。

保存データの暗号化

SQL Server および HDFS コンポーネントのアプリケーション レベルの暗号化の主要なシナリオは、SQL Server ビッグ データ クラスターの保存時の暗号化機能セットによってサポートされています。 包括的な機能の使用ガイドについては、保存時の暗号化の概念と構成ガイドの記事を参照してください。

重要

ボリューム暗号化は、すべての SQL Server ビッグ データ クラスターのデプロイに推奨されます。 保管時のデータ暗号化への包括的なアプローチとして、Kubernetes クラスターで構成されたお客様提供のストレージ ボリュームも暗号化する必要があります。 SQL Server ビッグ データ クラスターの保存時の暗号化機能は追加のセキュリティ レイヤーであり、SQL Server データとログ ファイルのアプリケーション レベルの暗号化と HDFS 暗号化ゾーンのサポートが提供されます。

基本管理者ログイン

クラスターを AD モードで展開するか、基本管理者ログインのみを使用して展開するかを選択できます。 基本管理者ログインのみを使用することは、運用環境でサポートされているセキュリティ モードではなく、製品の評価を目的としています。

Active Directory モードを選択した場合でも、クラスター管理者に対して基本ログインが作成されます。 この機能により、AD 接続が停止した場合の代替アクセスが提供されます。

展開時に、この基本ログインにはクラスター内での管理者権限が付与されます。 ログイン ユーザーは SQL Server マスター インスタンス内のシステム管理者となり、クラスター コントローラー内の管理者になります。 Hadoop コンポーネントでは混合モード認証がサポートされません。つまり、基本管理者ログインを使用してゲートウェイ (Knox) に対する認証を行うことはできません。

デプロイ時に定義する必要があるログイン資格情報には、以下が含まれます。

クラスター管理者のユーザー名:

  • AZDATA_USERNAME=<username>

クラスター管理者のパスワード:

  • AZDATA_PASSWORD=<password>

Note

非 AD モードでは、HDFS/Spark にアクセスするためにゲートウェイ (Knox) に対して認証を行うために、ユーザー名を上記のパスワードと組み合わせて使用する必要があることにご注意ください。 SQL Server 2019 CU5 より前では、ユーザー名は root でした。

SQL Server 2019 (15.x) CU 5 以降、基本認証で新しいクラスターを展開すると、ゲートウェイを含むすべてのエンドポイントで AZDATA_USERNAMEAZDATA_PASSWORD が使用されます。 CU 5 にアップグレードされるクラスターのエンドポイントでは、ゲートウェイ エンドポイントに接続するとき、ユーザー名として root が引き続き使用されます。 この変更は、Active Directory 認証による展開には適用されません。 このリリース ノートの「ゲートウェイ エンドポイント経由でサービスにアクセスするための資格情報」を参照してください。

キー バージョンを管理する

SQL Server 2019 ビッグ データ クラスター では、暗号化ゾーンを利用し、SQL Server と HDFS でキー バージョンを管理できます。 詳細については、「ビッグ データ クラスターのキー バージョン」を参照してください。

次のステップ

SQL Server 2019 ビッグ データ クラスターとは

ワークショップ: Microsoft SQL Server ビッグ データ クラスター アーキテクチャ

Kubernetes RBAC

ビッグ データ クラスターに関する FAQ