社内インフラの技術

技術力を高めることで、快適な社内インフラを作る

ユーザ用ツール

サイト用ツール


system:groupware:microsoft365:restrict-access-to-tenants


Microsoft365のテナント制御で、会社以外のテナントへのアクセスを制御

オフィスからアクセスできるテナントを制御する方法

Micosoft365へのアクセスができる環境ですと、個人のOutlookなどにもアクセスできてしまいます。
それではよくないので、会社で利用しているテナントのみが利用できるうにします。

テナントアクセス制御の仕組み

  1. SSL(TLS) インターセプト(クライアントからの HTTPS 通信をプロキシで一度複合化する)
  2. プロキシ サーバーで、アクセスできるテナント名を記載したHTTPヘッダーを追加する
  3. Microsoft側で、ヘッダーに記載のあったテナントへのアクセスを拒否する


追加するヘッダー情報

プロキシ サーバーで以下の 2 つの HTTP ヘッダーを挿入します。

Restrict-Access-To-Tenants
#Contoso テナントと Fabrikam テナントのみアクセスを許可したい場合
Restrict-Access-To-Tenants: contoso.onmicrosoft.com,fabrikam.onmicrosoft.com


Restrict-Access-Context
  • Azure AD のディレクトリ ID を 1 つ指定します。
  • このヘッダーで宣言した Azure AD ディレクトリで、テナント制限のログを確認することができるようになります
テナント制限ログの出力先に Contoso テナントを指定する場合
Restrict-Access-Context: 456ff232-35l2-5h23-b3b3-3236w0826f3d


ヘッダー追加が必要なURL

ヘッダー追加が必要なURLは以下の3つになります。

login.microsoftonline.com
login.windows.net
login.microsoft.com


注意事項

httpプロトコルを使わないで認証を行うOutlookやSkypeのレガシー認証は、テナント制御の管理外となってしまいます
これらの製品を制御するためには、Modern Authentication (先進認証/ADAL) に対応したOffice製品が必要です。


Squidで実現する方法

SSL 証明書の作成
# openssl req -new -newkey rsa:2048 -sha256 -days 3650 -nodes -x509 -keyout squidCA.pem -out squidCA.pem
# openssl x509 -in squidCA.pem -outform DER -out squidCA.der
# cp squidCA.pem /usr/lib64/squid/


# /usr/lib64/squid/ssl_crtd -c -s /var/db/ssl_db  # ssl_db の初期化
# chown -R /var/db/ssl_db
/etc/squid/squid.conf
# Add HTTP Header
request_header_add Restrict-Access-To-Tenants example.onmicrosoft.com
request_header_add Restrict-Access-Context ba1539e0-eb37-4575-8c83-4b4b4bacea6e

# SSL BUMP Settings
http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/usr/lib64/squid/squidCA.pem
ssl_bump bump all
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/db/ssl_db -M 4MB

squidCA.der をダブルクリックし、以下の信頼済みルート証明機関にインストール


参考


system/groupware/microsoft365/restrict-access-to-tenants.txt · 最終更新: 2020/05/15 00:57 by kurihara

ページ用ツール