Azure SQL で Microsoft Entra 専用認証を有効にしたサーバーを作成する

適用対象: Azure SQL Database Azure SQL Managed Instance

この攻略ガイドでは、プロビジョニング中に Microsoft Entra 専用認証を有効にした Azure SQL Database 用論理サーバーまたは Azure SQL Managed Instance を作成する手順の概要を示します。 Microsoft Entra 専用認証機能を使用すると、ユーザーは SQL 認証を使用してサーバーまたはマネージド インスタンスに接続できなくなり、Microsoft Entra ID (旧称 Azure Active Directory) で認証した接続のみが許可されます。

Note

Microsoft Entra ID の、旧称は Azure Active Directory(Azure AD)です。

前提条件

  • Azure CLI を使用する場合は、バージョン 2.26.1 以降が必要です。 インストールと最新バージョンの詳細については、「Azure CLI のインストール」を参照してください。
  • PowerShell を使用する場合は、Az 6.1.0 モジュール以降が必要です。
  • Azure CLI、PowerShell、または REST API を使ってマネージド インスタンスをプロビジョニングする場合は、始める前に仮想ネットワークとサブネットを作成する必要があります。 詳細については、「Azure SQL Managed Instance 用の仮想ネットワークを作成する」を参照してください。

アクセス許可

論理サーバーまたはマネージド インスタンスをプロビジョニングするには、これらのリソースを作成するための適切なアクセス許可が必要です。 サブスクリプションの所有者共同作成者サービス管理者共同管理者といった、より高いアクセス許可を持つ Azure ユーザーは、SQL サーバーまたはマネージド インスタンスを作成する特権を持ちます。 最小特権の Azure RBAC ロールでこれらのリソースを作成するには、SQL Database の場合は SQL Server 共同作成者ロールを使用し、SQL Managed Instance の場合は SQL Managed Instance 共同作成者ロールを使用します。

SQL セキュリティ管理者 の Azure RBAC ロールには、Microsoft Entra 専用認証を有効にしたサーバーまたはインスタンスを作成するための十分なアクセス許可がありません。 サーバーまたはインスタンスの作成後に Microsoft Entra 専用認証機能を管理するには、SQL セキュリティ管理者ロールが必要です。

Microsoft Entra 専用認証を有効にしたプロビジョニング

次のセクションでは、サーバーまたはインスタンスの Microsoft Entra 管理者セットを使用して論理サーバーまたはマネージド インスタンスを作成する方法およびサーバー作成時に Microsoft Entra 専用認証を有効にする方法に関する例とスクリプトを紹介します。 機能の詳細については、「Azure SQL による Microsoft Entra 専用認証」を参照してください。

この例では、システムに割り当てられたサーバー管理者とパスワードを使用して、サーバーまたはマネージド インスタンスの作成時に Microsoft Entra 専用認証を有効にします。 これにより Microsoft Entra 専用認証が有効になっている場合にサーバー管理者がアクセスできなくなり、Microsoft Entra 管理者のみがリソースにアクセスできるようになります。 サーバー作成時に独自のサーバー管理者とパスワードを含めるためにパラメーターを API に追加することは省略可能です。 ただし、Microsoft Entra 専用認証を無効にするまで、パスワードをリセットすることはできません。 これらの省略可能なパラメーターを使用してサーバー管理者ログイン名を指定する方法の例は、このページの [PowerShell] タブに示されています。

Note

サーバーまたはマネージド インスタンスの作成後に既存のプロパティを変更するには、他の既存の API を使用する必要があります。 詳細については、「API を使用した Microsoft Entra 専用認証の管理」および「Azure SQL で Microsoft Entra 認証を構成して管理する」を参照してください。

Microsoft Entra 専用認証が false に設定されている場合 (既定)、サーバーまたはマネージド インスタンスの作成時にすべての API にサーバー管理者とパスワードを含める必要があります。

Azure SQL データベース

  1. Azure portal の [SQL デプロイ オプションの選択] ページを参照します。

  2. まだ Azure portal にサインインしていない場合は、求められたらサインインします。

  3. [SQL データベース] で、 [リソースの種類][単一データベース] に設定し、 [作成] を選択します。

  4. [SQL データベースの作成] フォームの [基本] タブにある [プロジェクトの詳細] で、目的の Azure [サブスクリプション] を選択します。

  5. [リソース グループ][新規作成] を選択し、リソース グループの名前を入力し、 [OK] を選択します。

  6. [データベース名] に、データベースの名前を入力します。

  7. [サーバー] で、 [新規作成] を選択し、新しいサーバー フォームに次の値を入力します。

    • [サーバー名] : 一意のサーバー名を入力します。 サーバー名は、サブスクリプション内で一意ではなく、Azure のすべてのサーバーに対してグローバルに一意である必要があります。 値を入力すると Azure portal で使用可能かどうかが示されます。
    • [場所] : ドロップダウン リストから場所を選択します
    • 認証方法: [Microsoft Entra 専用認証を使用する] を選択します。
    • [管理者の設定] を選択して [Microsoft Entra ID] ウィンドウを開き、論理サーバー の Microsoft Entra 管理者として Microsoft Entra プリンシパルを選択します。 完了したら、 [選択] ボタンを使用して管理者を設定します。

    Microsoft Entra 専用認証が有効なサーバーを作成するスクリーンショット。

  8. ページの下部にある [Next: Networking](次へ: ネットワーク) を選択します。

  9. [ネットワーク] タブの [接続方法] で、 [パブリック エンドポイント] を選択します。

  10. [ファイアウォール規則] で、 [現在のクライアント IP アドレスを追加する][はい] に設定します。 [Azure サービスおよびリソースにこのサーバー グループへのアクセスを許可する][いいえ] に設定したままにします。

  11. [接続ポリシー][最小 TLS バージョン] は規定値のままにします。

  12. ページの下部で [次へ: セキュリティ] を選択します。 ご自分の環境に、 [Microsoft Defender for SQL][Ledger][ID][Transparent Data Encryption] の設定を構成します。 これらの設定は省略することもできます。

    Note

    ユーザー割り当てマネージド ID をサーバー ID として使用することは、Microsoft Entra 専用認証ではサポートされていません。 ID としてインスタンスに接続するには、その ID を Azure 仮想マシンに割り当てて、その VM で SSMS を実行します。 運用環境では、Microsoft Entra 管理者のマネージド ID を使用することをお勧めします。これは、Azure リソースに対するパスワードレス認証によるセキュリティ対策が強化され、簡素化されているためです。

  13. ページ下部にある [確認と作成] を選択します。

  14. [確認と作成] ページで、確認後、 [作成] を選択します。

Azure SQL Managed Instance

  1. Azure portal の [SQL デプロイ オプションの選択] ページを参照します。

  2. まだ Azure portal にサインインしていない場合は、求められたらサインインします。

  3. [SQL マネージド インスタンス] で、 [リソースの種類][単一インスタンス] に設定し、 [作成] を選択します。

  4. [基本] タブの [プロジェクトの詳細][マネージド ドインスタンスの詳細] に必須情報を記入します。 これは、SQL Managed Instance をプロビジョニングするために必要な最小限の情報セットです。

    SQL Managed Instance の作成の基本タブが表示されている Azure portal のスクリーンショット。

    構成オプションの詳細については、クイック スタート: Azure SQL Managed Instance の作成に関するページを参照してください。

  5. [認証][認証方法] にある [Microsoft Entra ID 専用認証を使用] を選択します。

  6. [管理者の設定] を選択して [Microsoft Entra ID] ウィンドウを開き、マネージド インスタンスの Microsoft Entra 管理者として、Microsoft Entra プリンシパルを選択します。 完了したら、 [選択] ボタンを使用して管理者を設定します。

    ユーザー Microsoft Entra 専用認証が選択された状態の [SQL Managed Instance の作成] 基本タブの Azure portal のスクリーンショット。

  7. 残りの設定は既定値のまま使用できます。 [ネットワーク][セキュリティ] などのタブや設定の詳細については、クイック スタート: Azure SQL Managed Instance の作成に関する記事を参照してください。

  8. 設定の構成が完了したら、[確認と作成] を選択して続行します。 [作成] を選択して、マネージド インスタンスのプロビジョニングを開始します。

ディレクトリ閲覧者のアクセス許可を付与する

マネージド インスタンスのデプロイが完了すると、Microsoft Entra ID にアクセスするために、SQL Managed Instance に読み取りアクセス許可が必要であることに気付く場合があります。 読み取りアクセス許可を付与するには、十分な特権を持つユーザーが Azure portal に表示されているメッセージを選択します。 詳細については、「Azure SQL での Microsoft Entra IDのディレクトリ閲覧者ロール」を参照してください。

Azure portal で読み取りアクセス許可が必要であることを示す Microsoft Entra 管理メニューのスクリーンショット

制限事項

  • サーバー管理者のパスワードをリセットするには、Microsoft Entra 専用認証を無効にする必要があります。
  • Microsoft Entra 専用認証が無効になっている場合は、すべての API を使用するときに、サーバー管理者とパスワードを持つサーバーを作成する必要があります。