認証方法を調べる
Azure SQL Database へのアクセスは、ログインとファイアウォールで保護されます。 Azure SQL Database では、Microsoft Entra ID (旧称 Azure Active Directory) を使用した SQL 認証と認証の両方に対するユーザーとログインがサポートされます。
SQL 認証は、資格情報が SQL データベース内に直接格納される従来の方法です。 一方、Microsoft Entra ID を使用すると、ユーザーは Azure portal や Microsoft 365 などの他の Microsoft サービスで使用するのと同じ資格情報を使用してサインインでき、シームレスで統一されたサインイン エクスペリエンスが提供されます。
注
SQL Server ログインを使用すると、ログイン名と暗号化されたパスワードの両方がネットワーク経由で送信されるため、セキュリティが低下します。
Microsoft Entra 認証
ID プラットフォームの重要な機能は、デバイス、アプリケーション、またはサービスにサインインするときにユーザー資格情報を認証することです。 Microsoft Entra ID は、セキュリティを強化し、ヘルプ デスクのサポートを最小限に抑えるために複数のコンポーネントを組み込むことで、ユーザー名とパスワードの検証を超えています。 これらのコンポーネントには、セルフサービス パスワード リセット、多要素認証、パスワード変更の同期とオンプレミス環境でのパスワード保護ポリシーの適用のためのハイブリッド統合、パススルー認証が含まれます。
Microsoft Entra 認証を構成する
SQL Database をホストする各 Azure 論理サーバーは、1 つのサーバー管理者アカウントから始まります。 このアカウントはマスター データベースの包含データベース ユーザーであり、すべてのユーザー データベースの db_owner ロール の一部です。 ただし、セキュリティを強化し、ユーザー管理を簡素化するために、追加の管理者として Microsoft Entra ユーザーを作成することをお勧めします。
geo レプリケーションで Microsoft Entra ID を使用する場合は、プライマリとセカンダリ SQL サーバーの両方に対して Microsoft Entra 管理者を構成する必要があります。 この構成がないと、Microsoft Entra ログインとユーザーに接続エラーが発生します。
Azure portal の [SQL Server] ページに移動して、Azure SQL Database の Microsoft Entra 管理者を構成できます。 このページでは、セキュリティの設定などの、SQL サーバーのさまざまな側面を管理する一元的な場所が提供されます。
Azure SQL Database の Microsoft Entra 管理者をプロビジョニングした後、CREATE LOGIN 構文で Microsoft Entra サーバー プリンシパル (ログイン) の作成を始めることができます。
多要素認証 (MFA)
Microsoft Entra 多要素認証 では、パスワード、スマートフォン、生体認証データなどの 2 つ以上の認証要素をユーザーに提供するように要求することで、セキュリティが強化されます。 この追加の保護層により、データとアプリケーションへのアクセスが保護されるとともに、簡単なサインイン プロセスが確保され、承認されていないアクセスのリスクが大幅に軽減されます。
正しいユーザー名とパスワードを指定した後、ユーザーは、プッシュ通知への応答や Microsoft Authenticator アプリからのアクセス コードの入力など、追加の検証手順を完了する必要があります。 このプロセスにより、ユーザーの基本的な資格情報が侵害された場合でも、承認されていないアクセスが引き続き防止され、データベースのセキュリティが向上します。
Microsoft Entra ID で使用できる認証方法と検証方法の詳細については、「 Microsoft Entra ID で使用できる認証と検証方法」を参照してください。
Microsoft Entra 認証を使用して Azure SQL Database に接続する
Microsoft Entra 認証では、Microsoft Entra ID を使用して、Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analytics などのデータ ソースにアクセスします。
Microsoft.Data.SqlClient 名前空間を使用すると、クライアント アプリケーションは、これらのデータベースに接続するときに、さまざまな認証モードで Microsoft Entra 資格情報を指定できます。 Microsoft Entra 認証を使用するには、Azure SQL 内で構成して管理する必要があります。
接続文字列で Authentication 接続プロパティを設定すると、クライアントは優先する Microsoft Entra 認証モードを選択できます。
-
パスワード認証:
Active Directory Password認証モードでは、ネイティブまたはフェデレーション Microsoft Entra ユーザーが Microsoft Entra ID を使用して Azure データ ソースに対して認証を行えます。 このモードでは、ユーザー資格情報を接続文字列に含める必要があります。Server=myserver.database.windows.net;Authentication=Active Directory Password; Encrypt=True; Database=mydb;User Id=user@domain.com; Password=***"; -
統合認証:
Active Directory Integrated認証モードを使用するには、クラウドの Microsoft Entra ID に接続されたオンプレミスの Active Directory インスタンスが必要です。 ドメイン参加済みのマシンにサインインしているときに、資格情報の入力を求められることなく、Azure SQL データ ソースにアクセスできます。 .NET Framework アプリケーションの接続文字列には、ユーザー名とパスワードを指定できません。 .NET Core および .NET Standard アプリケーションの場合、ユーザー名は省略可能です。Server=myserver.database.windows.net;Authentication=Active Directory Integrated; Encrypt=True; Database=mydb;"; -
サービス プリンシパル認証:
Active Directory Service Principal認証モードでは、クライアント アプリケーションは、サービス プリンシパルのクライアント ID とシークレットを使用して Azure SQL データ ソースに接続します。Server=myserver.database.windows.net;Authentication=Active Directory Service Principal; Encrypt=True;Database=mydb; User Id=AppId; Password=secret"
その他の認証オプションの詳細については、「 Microsoft Entra 認証と SqlClient を使用した Azure SQL への接続」を参照してください。