2

AはAzureのWebサイトで、Azure SQLにEntity Framework 6で接続しています。すべて実行され、標準のユーザー名/パスワード(SQLログイン)を使用して接続しています。Azure WebサイトからAzure Active Directoryを使用してAzure SQLに接続しますか?

ここでは、AADを使用してSQLに認証する方法に切り替えたいと考えています。私はすでにADアプリケーションをウェブサイト用に設定しています。

私の質問は:

  1. 私は私の証明書またはそのclientid/clientSecretに接続するにはどうすればよいですか?
  2. どのように私はSqlAzureExecutionStrategyがどれ案内はあまり 感謝感謝される機能で、まだ

であることを保証します!

答えて

1

Azure Active Directory認証を使用してSQLデータベースに接続するには、3つの方法があります。

  1. トークンのAzure ADのためのAzure AD認証について

より詳細に接続するのAzure ADプリンシパル名とパスワード

  • との接続に統合する(Windows)認証
  • を使用した接続Azure SQLデータベースは、hereを参照できます。

    アクセストークンで接続する場合は、blogで提供されているコードサンプルを参考にしてください。また、このlinkの証明書を使用してAzure ADでクライアント資格フローを使用して認証することに慣れておくと便利です。

    私の理解に基づいて、使用した接続文字列は、Entity Frameworkによって提供される接続復元機能には影響しません。

  • +0

    OK、私の "Azure Web App"はドメイン定義に参加していないので、オプション1を除外することができます。オプション2は多かれ少なかれ私が避けようとしているものです:usr/pwdを自分の設定。それは私にオプション3を残します。上記のリンクで言及しているように、ADALを使ってトークンを得ることができます。それから私はSqlConnectionに渡すことができます。ファイン。トークンの有効期限が切れたときはどうなりますか? EF6で新しいものを再生するにはどうすればいいですか?私が聞くことができるイベントはありますか? –

    +0

    トークンが期限切れになった場合、例外が発生するはずです。新しいアクセストークンを使用して、新しいデータベースコンテキストを新しいものにするための例外処理を追加する必要があります。私の理解に基づいて、このシナリオではトークンは適切ではありません。ユーザー名/パスワードがお勧めです。 –

    +0

    私は解決策3(トークン)を使用して終了し、自分自身で更新を処理しました。私はこれが何らかの形でプロバイダの統合された部分だったと思っていたかもしれません...とにかくありがとう –

    0

    これは、このシナリオで実行できる処理です。 一般に、トークンを最初に取得すると、トークンが期限切れになったときに情報が得られます。これで、時間トラッキングを維持し、トークンが失効する前にトークンを取得する接続コードを繰り返す必要があります。

    関連する問題