かみーの備忘録

技術的な内容(インフラ基盤、ネットワーク寄り)や趣味に関して雑多にログを残していきます!

SAMLとは…?

こんにちわ。かみーです。最近は白菜と豚バラばかり食べてます。

さて、今回はSaaSアプリとAzureADとでSAML連携を実施してみました。今回は「SAMLってなに?」ってところからinputした内容をブログに記載していきます。

SAMLとは?

  • Security Assertion Markup Languageの略
  • 読み方は「サムル」
  • AzureADはSAML2.0に対応している
  • 認証フローの始まり方が2種類ある。
     IdPから始まる「IdP-Initiated」
     SPから始まる「SP-Initiated」
     ※IdP: Identity Provider。本記事においてはAzureADのこと。
     ※SP: Service Provider。本記事においてはSaaSアプリのこと。

 

認証フローについても図を書いてみました。

SAMLの認証フローについて(IdP-Initiated)

f:id:Le7Wy:20210201182831p:plain

SAML(IdP-Initiated)の認証フロー

 

SAMLの認証フローについて(SP-Initiated)

f:id:Le7Wy:20210201182907p:plain

SAML(SP-Initiated)の認証フロー

個人的にポイントだな、と思ったのは以下です。

  • 認証はIdPにて実施
  • 認証が成功するとSAML応答をユーザへ送り、その応答をSaaSアプリへ送信

 

今回連携したSaaSアプリですが、SaaSアプリ側でもユーザ作成および権限の設定が必要で「認証はIdP」「認可はSaaSアプリ」というようなものでした。他のアプリもこんな感じなのでしょうか。認証のAAAについてもおさらいで再度調べました。

  • 認証(Authentication)・・・ID/Passなどを用いてユーザの正しさを確認する。
  • 認可(Authorized)・・・認証成功したユーザにアクセス権や管理権限などの権限を付与する。
  • アカウンティング(Accounting)・・・認証成功したユーザの情報を収集する。

 

AzureADで実施するメリット?

今回SAML連携用に「エンタープライズ アプリケーション」で新しくアプリを作成しました。

ここで新しくアプリを作成するとリソース一覧に追加され、AADP P1で利用できる「条件付きアクセス」にて他のマイクロソフトのアプリと同じようにアクセス制限ができるようになりました。

これで、条件付きアクセスを用いたAzureMFAの利用や、ネットワーク的なアクセス制限も可能になる・・・はず。出来ることが増えていくと楽しいですね。

 

終わりに

アプリケーションプロキシも同じように条件付きアクセスに組み込めるっぽいのだよな。はよやろ。