AzureでWebAppsとSQL Databaseを使った簡単なWebアプリケーションを作成してデータベース接続について学ぶ

Youtubeの動画作成リクエストをもらったので作成しました。 Microsoftが公開しているチュートリアルに沿ってアプリケーションを動かしながらどのようにWebアプリケーションからデータベースに接続をしているのかという点を説明しています。 https://youtu.be/kqx2ds1NBhA 一番単純に接続する方法としては接続文字列をアプリケーションのコードに生で書いてしまうことでしょうが、さすがにそれは筋が悪すぎるので、チュートリアルでは接続文字列内にIDとパスワードを記載しそれを利用して接続する形態になっています。 次のステップとしてはKeyvaultの利用、あるいはマネージドIDの利用ということになります。 https://www.youtube.com/watch?v=tAfwj_HH02E

October 21, 2021 · 1 min · 胡田昌彦

Azure SQL DBにアクセスしているユーザー名の取得

Microsoft.Data.SqlClientを使ってインタラクティブなAzure AD認証でSQL DBにアクセスしている状況で「現在のユーザー名」を取得する方法でかなり悩んでしまいました。自由にユーザー名を入手できる状況ですし、MSALライブラリは隠ぺいされているのでトークンの情報の取得方法もわからず。 かなり悩んでしまったのですが、結局SQL側でユーザー名を取得するようにすればそれでよいことに気がつきました。最近頭が固くてダメです。

September 28, 2021 · 1 min · 胡田昌彦

Azure SQL DBへのプログラムからのアクセス

Azure SQL DBの認証にAzure ADを利用している場合にプログラムからアクセスしたいとします。 Azure AD認証を行う方法は色々とあるのですが、Azure ADにアプリケーションを登録するところから始めると色々と面倒だったりもしますよね、管理者が登録を禁止してたりとか…。 そんな時に一番簡単にできるのはMicrosoft.Data.SqlClientを使ってインタラクティブにAAD認証する方法だと思います。これならアプリケーションのAADへの登録すら必要ありません。 u u n { } s s a i i m n n e g g s c { } p l S M a a y i c s s c e s s { } t r t e o A P a m s z r t ; o u o i s u } f r g c t s t e r r i . S a i n D Q m o n g c a L i g o t D d ( n a B C S n . A M o q . S u a n l O q t i n C p l h n e o e C e ( c n n l n s t n ( i t t i e ) e i r o c ; n c i n t t a n S i ; t g t o i [ r n o ] i n n c a g o r n g = n s ) @ = " S n e e r w v e S r q = l x C x o x n s n q e l c s t e i r o v n e ( r C n o a n m n e e x c x t x i . o d n a S t t a r b i a n s g e ) . ) w i { n d o w s . n e t ; A u t h e n t i c a t i o n = A c t i v e D i r e c t o r y I n t e r a c t i v e ; D a t a b a s e = t e s t d b ; " ; これだけでOKです。 ...

September 27, 2021 · 2 min · 胡田昌彦

Azure SQL DBからのログ取り込み

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします! Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators 今回はPaaSであるAzure SQL DBのログをAzure LogAnalyticsワークスペースに取り込んでみます。 まずはSQL DBとそれを動作させるSQL Serverを作成します。 作成後、診断設定を行います。 診断設定を追加する また、監査データもLog Analyticsワークスペースに取り込むことができます。これは「監査」で設定可能です。 既定の監査設定には、次の一連のアクション グループが含まれています。これにより、データベースに対して実行されたすべてのクエリとストアド プロシージャ、および成功したログインと失敗したログインが監査されます。BATCH_COMPLETED_GROUPSUCCESSFUL_DATABASE_AUTHENTICATION_GROUPFAILED_DATABASE_AUTHENTICATION_GROUP これでログの取り込み設定としては完了です。 実際にDBにクエリを実行しつつ、ログを確認してみます。(クエリは何でもいいので、適当にネットで検索して実行しています。) ログとしては、AzureDiagnostics, AzureMetricsというテーブルが定義され、データが取り込まれていることが確認できます。 SQLの実際のクエリなんかも記録されています。

July 11, 2021 · 1 min · 胡田昌彦