次の方法で共有


Azure SQL Edge のセキュリティ保護

重要

Azure SQL Edge の提供は、2025 年 9 月 30 日に終了する予定です。 詳細な情報と移行オプションについては、提供終了に関する通知を参照してください。

Note

Azure SQL Edge では、ARM64 プラットフォームがサポートされなくなりました。

業界全体への IoT やエッジ コンピューティングの導入が進むにつれて、デバイスの数やそれらのデバイスから生成されるデータも増えていきます。 データの量やデバイス エンドポイントの数が増えると、データやデバイスのセキュリティ面で重大な課題が生じます。

Azure SQL Edge には、SQL Server データベース内の IoT データのセキュリティ保護を比較的簡単に行える複数の機能が備わっています。 Azure SQL Edge は Microsoft SQL Server や Azure SQL に利用されているものと同じデータベース エンジンを使って構築され、同じセキュリティ機能を共有しているため、同じセキュリティ ポリシーとプラクティスをクラウドからエッジに簡単に拡張できます。

Microsoft SQL Server や Azure SQL と同様に、Azure SQL Edge デプロイのセキュリティ保護は、プラットフォーム、認証、オブジェクト (データを含む)、およびシステムにアクセスするアプリケーションの 4 つの領域から成る一連の手順と見なすことができます。

プラットフォームとシステムのセキュリティ

Azure SQL Edge のプラットフォームには、物理 Docker ホスト、ホスト上のオペレーティング システム、物理デバイスをアプリケーションとクライアントに接続するネットワーク システムが含まれています。

プラットフォームのセキュリティを実装する第一歩は、承認されていないユーザーがネットワークにアクセスできないようにすることです。 次のようなベスト プラクティスがありますが、これらだけではありません。

  • 組織のセキュリティ ポリシーを確保するためのファイアウォール規則の実装。
  • 物理デバイス上のオペレーティング システムに最新のセキュリティ更新プログラムがすべて適用されていることを確認します。
  • Azure SQL Edge に使用されるホスト ポートの指定と制限
  • Azure SQL Edge データをホストするすべてのデータ ボリュームに適切なアクセス制御が適用されていることの確認。

Azure SQL Edge のネットワーク プロトコルと TDS エンドポイントの詳細については、ネットワーク プロトコルと TDS エンドポイントに関する記事を参照してください。

認証と承認

認証

認証は、ユーザーが本人の主張どおりの人物であることを証明するプロセスです。 Azure SQL Edge では現在、SQL Authenticationメカニズムのみがサポートされています。

  • SQL 認証:

    SQL 認証とは、ユーザーがユーザー名とパスワードを使用して Azure SQL Edge に接続するときに、そのユーザーを認証することを指します。 SQL Edge のデプロイ中に SQL の sa ログイン パスワードを指定する必要があります。 その後、サーバー管理者は、追加の SQL ログインとユーザーを作成できます。これにより、ユーザーはユーザー名とパスワードを使用して接続できるようになります。

    SQL Edge でのログインとユーザーの作成と管理について詳しくは、「ログインの作成」と「データベース ユーザーの作成」をご覧ください。

認可

承認は、Azure SQL Edge のデータベース内のユーザーに割り当てられるアクセス許可を指し、ユーザーが実行できる操作を決定するものです。 アクセス許可を制御するには、データベース ロールにユーザー アカウントを追加してデータベース レベルのアクセス許可をこれらのロールに割り当てるか、特定のオブジェクト レベルのアクセス許可をユーザーに付与することができます。 詳細については、「ログインとユーザー」を参照してください。

ベスト プラクティスとして、必要なときにカスタム ロールを作成することをお勧めします。 職務に必要な最小限の特権を持つロールにユーザーを追加してください。 ユーザーにアクセス許可を直接割り当てないでください。 サーバー管理者アカウントは、広範なアクセス許可を持つ組み込み db_owner ロールのメンバーです。管理業務を行うごく少数のユーザーにのみ、これを付与してください。 アプリケーションでは、呼び出されるモジュールの実行コンテキストを指定するために EXECUTE AS を使用するか、限定的なアクセス許可を持つアプリケーション ロールを使用します。 こうすると、データベースに接続するアプリケーションに、そのアプリケーションで必要な最小限の特権が確実に付与されます。 また、このようなベスト プラクティスに従うことで、職務の分離も促進されます。

データベース オブジェクト セキュリティ

プリンシパルとは、SQL Edge へのアクセスを許可された個人、グループ、プロセスです。 "セキュリティ保護可能なリソース" とは、サーバー、データベース、およびデータベースに含まれているオブジェクトを指します。 それぞれのリソースには、外部からのアクセスを縮小するために構成できる一連のアクセス許可が割り当てられています。 次の表に、プリンシパルおよびセキュリティ保護可能なリソースに関する情報を示します。

情報 参照トピック
サーバーとデータベースのユーザー、ロール、プロセス プリンシパル データ ベース エンジン
サーバーとデータベース オブジェクトのセキュリティ セキュリティ保護可能

暗号化と証明書

暗号化では、アクセスの制御の問題は解決されません。 ただし、暗号化を使用すると、アクセス コントロールがバイパスされるようなまれな状況においてもデータ損失のリスクが限定されるので、セキュリティが強化されます。 たとえば、データベース ホスト コンピューターの構成が適切でない場合に、クレジット カード番号などの機密データを悪意のあるユーザーが入手したとしても、盗まれた情報が暗号化されていれば悪用される可能性が小さくなります。 次の表に、Azure SQL Edge での暗号化に関する詳細情報を示します。

対象 参照トピック
安全な接続の実装 接続の暗号化
暗号化関数 暗号化関数 (Transact-SQL)
保存データの暗号化 Transparent Data Encryption
Always Encrypted 常に暗号化

Note

SQL Server on Linux について書かれたセキュリティの制限事項は、Azure SQL Edge にも当てはまります。

Note

Azure SQL Edge には、mssql-conf ユーティリティは含まれません。 暗号化関連の構成を含むすべての構成は、mssql.conf ファイルまたは環境変数を使用して実行する必要があります。

Azure SQL および Microsoft SQL Server と同様に、Azure SQL Edge にも、証明書を作成および使用してオブジェクトと接続のセキュリティを強化する同じメカニズムが備わっています。 詳細については、CREATE CERTIFICATE (TRANSACT-SQL) を参照してください。

アプリケーション のセキュリティ

クライアント プログラム

Azure SQL Edge のセキュリティのベスト プラクティスには、安全なクライアント アプリケーションの作成が含まれています。 クライアント アプリケーションをネットワーク レイヤーで保護する方法の詳細については、「 クライアント ネットワーク構成」を参照してください。

セキュリティ カタログ ビューと関数

セキュリティ情報は、パフォーマンスや実用性に合わせて最適化されるいくつかのビューおよび関数で公開されます。 次の表は、Azure SQL Edge でのセキュリティ ビューと関数に関する情報を示したものです。

関数とビュー リンク
セキュリティ カタログ ビューには、データベース レベルおよびサーバー レベルのアクセス許可、プリンシパル、ロールなどに関する情報が表示されます。 暗号化キーと証明書に関する情報や資格情報を表示するカタログ ビューもあります。 セキュリティ カタログ ビュー (Transact-SQL)
セキュリティ関数。現在のユーザー、アクセス許可、およびスキーマに関する情報が返されます。 セキュリティ関数 (Transact-SQL)
セキュリティの動的管理ビュー。 セキュリティ関連の動的管理ビューおよび関数 (Transact-SQL)

監査

Azure SQL Edge には、SQL Server と同じ監査メカニズムが備わっています。 詳細については、「SQL Server Audit (データベース エンジン)」を参照してください。