これらのMicrosoft SQL セキュリティ サンプルを使用して、Data API Builder (DAB) が SQL に対して認証し、ユーザーを検証し、ユーザーごとのアクセスを強制する方法を比較します。 各サンプルは自己完結型ですが、シリーズは基本資格情報からユーザー委任Azure SQL アクセスに移行します。
クイックスタートを選択
目標に一致する質問から始めます。
| もし望むなら... | このクイック スタートを使用する |
|---|---|
| 最も単純な DAB から SQL への接続パターンについて説明します | ユーザー名/パスワード |
| Azure構成から SQL パスワードを削除する | マネージド ID |
| サインインを必須にする前に Microsoft Entra トークンの検証を追加する | Microsoft Entra |
| トークン要求を使用して DAB の行をフィルター処理する | DAB ポリシー |
| データベースによって適用される行レベルのセキュリティを使用して SQL の行をフィルター処理する | SQL 行レベルのセキュリティ |
| サインインしているユーザー Azure SQL直接認証できるようにする | Azure SQL への代理アクセス |
デシジョン ツリー
- 基本的な作業サンプルのみが必要ですか?
- パスワードレスの DAB から Azure SQL へのアクセスが必要ですか?
- Microsoft Entra トークンを検証するには DAB が必要ですか?
- Microsoft Entraを使用します。
- サインインしているユーザーは自分の行のみを表示する必要がありますか?
- DAB でフィルターを適用する必要がある場合は、 DAB ポリシーを使用します。
- SQL でフィルターを適用する必要がある場合は、 SQL 行レベルのセキュリティを使用します。
- 監査ログまたはデータベース ポリシーには、SQL ID として実際にサインインしているユーザーが必要ですか?
- Azure SQL に対する On-behalf-of を使用します。
セキュリティ モデルを比較する
DAB 認証プロバイダーの列には、runtime.host.authentication.providerの有効な値が表示されます。 構成でこの設定が省略されている場合、DAB は Unauthenticatedを使用します。 ユーザー名/パスワードと代理サンプルを除き、ローカル実行では SQL 資格情報が使用され、Azureデプロイではマネージド ID が使用されます。 また、on-behalf-of サンプルでは、 data-source.user-delegated-auth.provider が EntraIdに設定されます。
| クイック スタート | ユーザーから Web アプリへ | Web アプリから DAB へ | DAB 認証プロバイダー | DAB から SQL への変換 |
|---|---|---|---|---|
| ユーザー名/パスワード | アノニマス | アノニマス | Unauthenticated |
SQL 資格情報 |
| マネージド ID | アノニマス | アノニマス | Unauthenticated |
Azureのマネージド ID |
| Microsoft Entra | アノニマス | アノニマス | EntraId |
Azureのマネージド ID |
| DAB ポリシー | Microsoft Entra サインイン | ベアラー トークン | EntraId |
Azureのマネージド ID |
| SQL 行レベルのセキュリティ | Microsoft Entra サインイン | ベアラー トークン | EntraId |
Azureのマネージド ID |
| Azure SQL への代理アクセス | Microsoft Entra サインイン | ベアラー トークン | EntraId |
Azure SQLへのユーザー委任トークン |
関連するコンテンツ
- クイック スタート: SQL でデータ API ビルダーを使用する
- データ API ビルダーでの Microsoft Entra ID 認証
- 承認の概要
- 代理認証の構成