MySQL での認証に Microsoft Entra ID を使用する

適用対象: Azure Database for MySQL - シングル サーバー

重要

Azure Database for MySQL の単一サーバーは提供終了パスにあります。 Azure Database for MySQL フレキシブル サーバーにアップグレードすることを強くお勧めします。 Azure Database for MySQL フレキシブル サーバーへの移行の詳細については、「Azure Database for MySQL 単一サーバーの動作」を参照してください

Microsoft Entra 認証は、Microsoft Entra ID で定義された ID を使用して Azure Database for MySQL に接続するメカニズムです。 Microsoft Entra 認証を使用すると、データベース ユーザーの ID や他の Microsoft サービスを一元管理でき、アクセス許可の管理が容易になります。

Microsoft Entra ID を使うと次のようなベネフィットがあります。

  • Azure サービス全体でのユーザー認証の一元化
  • パスワード ポリシーとパスワード ローテーションの一元管理
  • Microsoft Entra ID による複数の認証形式のサポート (パスワードを格納する必要がなくなる)
  • お客様は、外部の (Microsoft Entra ID) グループを使用してデータベースのアクセス許可を管理できます。
  • Microsoft Entra 認証では、MySQL データベース ユーザーを使用してデータベース レベルで ID を認証します
  • Azure Database for MySQL に接続するアプリケーションに対するトークンベースの認証のサポート

Microsoft Entra 認証を構成して使用するには、次のプロセスを使用します。

  1. 必要に応じて、Microsoft Entra ID を作成し、ユーザー ID を設定します。
  2. (省略可能) Active Directory を関連付けるか、現在 Azure サブスクリプションに関連付けられている Active Directory を変更します。
  3. Azure Database for MySQL サーバーの Microsoft Entra 管理者を作成します。
  4. Microsoft Entra の ID にマップされているデータベース ユーザーをデータベースに作成します。
  5. Microsoft Entra の ID 用のトークンを取得してログインし、自分のデータベースに接続します。

Note

Microsoft Entra ID を作成して設定し、Azure Database for MySQL で Microsoft Entra ID を構成する方法については、「Azure Database for MySQL の Microsoft Entra ID を使用した構成とサインイン」を参照してください

Architecture

次の概要図は、Azure Database for MySQL で Microsoft Entra 認証を使用した認証のしくみをまとめたものです。 矢印は通信経路を示します。

authentication flow

管理者の構造

Microsoft Entra 認証を使用する場合、MySQL サーバーには、元の MySQL 管理者と Microsoft Entra 管理者の 2 つの 管理istrator アカウントがあります。 ユーザー データベースに最初の Microsoft Entra ID 包含データベース ユーザーを作成できるのは、Microsoft Entra アカウントに基づく管理者のみです。 Microsoft Entra ユーザーまたは Microsoft Entra グループを Microsoft Entra 管理者のログインにすることができます。 管理者がグループ アカウントである場合は、任意のグループ メンバーが使用でき、MySQL サーバーに対して複数の Microsoft Entra 管理者が有効になります。 管理者としてグループ アカウントを使用すると、MySQL サーバーのユーザーやアクセス許可を変更することなく、Microsoft Entra ID のグループ メンバーを一元的に追加および削除できるため、管理性が向上します。 構成できる Microsoft Entra 管理者 (ユーザーまたはグループ) は常に 1 つだけです。

admin structure

アクセス許可

Microsoft Entra ID で認証できる新しいユーザーを作成するには、指定された Microsoft Entra 管理者である必要があります。 このユーザーは、特定の Azure Database for MySQL サーバーの Microsoft Entra 管理istrator アカウントを構成することによって割り当てられます。

新しい Microsoft Entra データベース ユーザーを作成するには、Microsoft Entra 管理者として接続する必要があります。 これは、「Azure Database for MySQL の Microsoft Entra ID を使用した構成とログイン」で示されています

Microsoft Entra 認証は、Microsoft Entra 管理者が Azure Database for MySQL 用に作成された場合にのみ可能です。 Microsoft Entra 管理者がサーバーから削除された場合、以前に作成された既存の Microsoft Entra ユーザーは、Microsoft Entra 資格情報を使用してデータベースにアクセスできなくなります。

Microsoft Entra の ID を使用して接続する

Microsoft Entra 認証では、Microsoft Entra の ID を使用してデータベースに接続する場合、次の方法がサポートされています。

  • Microsoft Entra パスワード
  • Microsoft Entra 統合
  • MFA による Microsoft Entra ユニバーサル
  • Active Directory Application 証明書またはクライアント シークレットの使用
  • Managed Identity

Active Directory に対して認証された後、トークンを取得します。 このトークンはログイン用のパスワードです。

新しいユーザーの追加などの管理操作は、現時点では Microsoft Entra ユーザー ロールに対してのみサポートされることに注意してください。

Note

Active Directory トークンを使用して接続する方法の詳細については、「Azure Database for MySQL の Microsoft Entra ID を使用した構成とサインイン」を参照してください

その他の考慮事項

  • Microsoft Entra 認証は、MySQL 5.7 以降でのみ使用できます。
  • Azure Database for MySQL サーバーに対して構成できる Microsoft Entra 管理者は、いつでも 1 つだけです。
  • Microsoft Entra アカウントを使用して Azure Database for MySQL に最初に接続できるのは、MySQL の Microsoft Entra 管理者だけです。 Active Directory 管理者は、それ以降の Microsoft Entra のデータベース ユーザーを構成できます。
  • Microsoft Entra ID からユーザーが削除されると、そのユーザーは Microsoft Entra ID で認証されることができなくなります。したがって、そのユーザーのアクセス トークンを取得できなくなります。 この場合、一致するユーザーがデータベースに残るものの、そのユーザーを使用してサーバーに接続することはできなくなります。

Note

削除された Microsoft Entra ユーザーによるログインは、トークンの有効期限 (トークンの発行から最大 60 分) が切れるまで、引き続き行うことができます。 Azure Database for MySQL からもユーザーを削除する場合は、そのアクセスはすぐに取り消されます。

  • サーバーから Microsoft Entra 管理者が削除されると、サーバーと Microsoft Entra テナントの関連付けが解消されます。したがって、サーバーへのすべての Microsoft Entra ログインは無効になります。 同じテナントから新しい Microsoft Entra 管理者を追加すると、Microsoft Entra ログインが再度有効になります。
  • Azure Database for MySQL は、ユーザー名を使用するのではなく、ユーザーの一意の Microsoft Entra ユーザー ID を使用して、Azure Database for MySQL ユーザーにアクセス トークンを照合します。 つまり、Microsoft Entra ユーザーが Microsoft Entra ID で削除され、同じ名前で新しいユーザーが作成された場合、Azure Database for MySQL では別のユーザーと見なされます。 そのため、ユーザーが Microsoft Entra ID から削除され、同じ名前の新しいユーザーが追加された場合、新しいユーザーは既存のユーザーと接続できなくなります。

Note

Microsoft Entra 認証が有効になっている Azure MySQL のサブスクリプションを別のテナントまたはディレクトリに転送することはできません。

次のステップ