しばやん雑記

Azure Serverless とメイドさんが大好きなフリーランスのプログラマーのブログ

Active Directory

複数の Azure AD テナントに対応した Service Principal を作成して Terraform から利用する

App Service と Azure AD B2C というように Azure AD テナントが分かれている場合には、いつも通りの Service Principal を使った方法だと、当然ながらどちらかのテナントしか操作できません。以前書いたように Azure AD B2C 側のアプリケーションを管理しつ…

App Service Authentication と Azure AD B2C の組み合わせでログアウトを正しく実装する

少し前に App Service Authentication が OpenID Connect に対応したので、様々な IdP を利用することが出来るようになりました。Azure AD B2C も OIDC 対応によって正式利用が可能になった IdP の一つです。 ログアウト後のリダイレクト先を指定する App Se…

GitHub Actions の OpenID Connect と Azure AD を利用して Client Secret の管理を不要にする

激しく今更ですが、GitHub Actions の OpenID Connect 対応を利用して Azure リソースや Azure AD 自身へのアクセスを Client Secret 無しで行ってみます。ぶっちゃけ全ては watahani さんのブログを読んでもらえれば良いのですが、少し時間が経過したことも…

Azure AD B2C のカスタムポリシー利用に必要なアプリケーションを Terraform を使って登録する

最近の Azure AD B2C は組み込みユーザーフローの機能がかなり増えているので、ある程度のことなら Azure Portal からの設定で実現できますが、結局は IEF を使ったカスタムポリシーが必要になるケースも多いです。Azure AD B2C のカスタムポリシーは触った…

Terraform Provider for Azure AD を使って Azure AD B2C で利用するアプリケーションを管理する

未だ個人的な Terraform Provider for Azure AD ブームが続いているので、今回は Azure AD B2C の管理を目的に利用してみます。Azure サブスクリプションが紐づく Azure AD テナントとは異なり、サブスクリプションは持たず独立したテナントとなるので、扱い…

Azure AD と App Service Authentication を使って Web App と Web API を保護する

Azure AD 認証と App Service Authentication を組み合わせて、Web App へのログインを行いつつ同時に発行されるアクセストークンを利用して、別に用意された API を実行したいというシナリオが存在します。Microsoft Graph API を呼び出す場合はアプリケー…

Azure AD における Client Secret の期限切れ問題を Terraform でスマートに解決する

Azure AD にアプリケーションや Service Principal を作成すると大体必要になる Client Secret ですが、有効期限を持っているので期限が切れる前に新しい Client Secret を生成する必要があります。昔は無期限で作成することも出来ましたが、今はセキュリテ…

Managed Identity への Microsoft Graph アクセス権の付与を Terraform Azure AD Provider で行う

前回は Terraform Provider for Azure AD を使って Azure AD アプリケーションの登録を行って、App Service Authentication への設定まで全て自動化してみましたが、今回は App Service で有効化された Managed Identity に対して特定の API アクセス権を追…

Terraform Azure AD Provider を使って App Service の作成と同時に Azure AD 認証を有効化する

個人的に App Service / Azure Functions で頻繁に使う機能 1,2 位を争うのが App Service Authentication で、Azure サブスクリプションが紐づいている Azure AD テナントのユーザーのみアクセス許可したい場合には、コードの修正なしで Azure Portal から…

Azure AD B2C が標準で TOTP (Authenticator App) を使った多要素認証に対応したので試した

これまでも Azure AD B2C ではカスタムポリシーと外部 API を用意すれば、Microsoft Authenticator や Authy などの TOTP に対応したアプリケーションを使った多要素認証が使えていましたが、標準で TOTP に対応したので試しました。ちなみにプレビューです…

Application Insights の Azure AD 認証 / Managed Identity 対応を試した

久し振りに Application Insights SDK for .NET のリリースノートを眺めていたら Azure AD 認証に対応したと記載があり、興味を持ったので設定と動作を試しておきました。これまで InstrumentationKey があればテレメトリを送信出来ていましたが、Azure AD …

App Service Authentication で Azure AD と Microsoft Account を使ったログインを実装する

App Service Authentication は非常に便利でかなり頻繁に使っていますが、基本はシングルテナントの利用が多く、Microsoft Account を使ったログイン方法に関してはこれまで試したことが無かったのと、NuGet のログイン画面を見て実現方法に興味を持ったので…

Azure AD B2C にカスタムドメインを設定して MSAL (C# / JavaScript) から使ってみた

恐らく Azure AD B2C を使っている人全員が待ち望んでいたカスタムドメイン対応ですが、Front Door と組み合わせる形にはなりますが Preview として公開されました。単純に Front Door をリバースプロキシとして使うだけなのですが、割と現実的な落としどこ…

WPF と WebView2 で MSAL を使わずに Azure AD 向け認可コードフローを実装してみた

普段は App Service の Easy Auth を使ってサクッと済ませるのですが、ちょいちょい MSAL を使った Azure AD や Azure AD B2C へのログイン処理をアプリケーションに組み込むことがあります。特にネイティブアプリケーションの場合が多いので、.NET Core の …

Azure AD B2C が MSAL.js v2 に対応したようなので試した

MSAL.js v2 の RTM 時には Azure AD B2C は CORS 周りの機能がデプロイされていないため非対応になっていましたが、既存のテナントへの CORS 対応のデプロイが進められているようです。自分のテナントで使えるようになっていたので試しました。MSAL.js には…

Easy Auth と Managed Identity を使ってグループ情報でのアクセス制限を行う

App Service の Easy Auth を使うと簡単に Azure AD でログインするアプリケーションが作れますが、Azure AD と連携しているならユーザーのロールを利用した認証が行いたくなるはずです。Security Group をしっかりと使っている場合には、アプリケーション側…

Azure AD B2C のユーザーを Graph API を使って管理する

Azure AD B2C は後ろが Azure AD なのでユーザー情報は Graph API を使って色々弄れます。Microsoft Graph を使ってユーザー情報を取得したりできますが、B2C に必要なプロパティが Microsoft Graph だとまだサポートされていないので、Azure AD Graph を使…

Azure AD B2C の知識が古かったのでキャッチアップし直した

ちゃんと触ったのが 2 年前と古く、ASP.NET Core も 2.0 の時だったので最新の情報でもろもろキャッチアップし直しました。基本的に Azure AD が嫌いなので B2C も Azure AD ベースでなければという気持ちが強いのですが、価格的に競合よりも使いやすいので…

Active Directory と Team Foundation Server 2010 を構築しました

今まで色々とやってきましたが、ようやく本番環境を構築しました。今回は葉鍵兄者 (@kamebuchi) についったーで超お世話になりました。そして今の構成は以下の通り。 ドメイン: bluesky.local Windows Server 2008 R2 SP1 (waterlily) Active Directory ドメ…

Active Directory と TFS 2010 をテストしてる

Mac mini 上の Parallels Desktop 6 に Active Directory をインストールして、この間買った MacBook Pro をドメイン参加させたりしました。そして今日はもう一つ仮想マシンを追加して、ドメインに参加させて Team Foundation Server 2010 をインストールし…

家庭内でドメインコントローラ立ててみた

こんばんわ、Mac mini (Mid 2010) に Parallels Desktop 6 を入れて TFS 2010 運用とかやってましたしばやんです。最初はドメコンとか個人じゃ不要だよねーとか言ってたんですが、アカウント周りが猛烈にめんどくさいのでドメコンをテスト用に立ててみました…