kazuakix の日記

Windows Phone とか好きです

Office 365 の多要素認証環境で Outlook を接続する方法

 Facebook の Office 365 コミュニティで教えてもらったネタなのですが、最近は Office 365 で多要素認証 (MFA) を設定している環境でも、Outlook 用のアプリケーションパスワードなしで接続できるそうです。但し、古いテナントでは設定の変更が必要になります。


Exchange Online の先進認証 (modern authentication) 設定を変更する

 以下のページに手順がまとまっています。


1. PowerShell で Exchange Online に接続 *1

$exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $credential -Authentication "Basic" -AllowRedirection
Import-PSSession $exchangeSession

2. 先進認証設定を確認

 以下のコマンドで設定を確認することができます。

Get-OrganizationConfig | Format-Table -Auto Name,OAuth*

 うちのテナントでは 無効 になっているようです。

PS C:\> Get-OrganizationConfig | Format-Table -Auto Name,OAuth*

Name                   OAuth2ClientProfileEnabled
----                   --------------------------
XXXXXX.onmicrosoft.com                      False

f:id:kazuakix:20180415221312p:plain


この状態で アプリケーションパスワード を消して、Outlook を起動すると、当然のようにパスワードの入力を求められます。

f:id:kazuakix:20180415220249p:plain

3. 先進認証設定を変更

 以下のコマンドで設定を変更します、

Set-OrganizationConfig -OAuth2ClientProfileEnabled $true

 この状態で Outlook を起動すると、無事に接続できる事が確認できます。これで都度、利用者にアプリケーションパスワードを作成してもらわなくてもよくなりますね。
 

Skype for Business も設定しておく

 冒頭のページには、Exchange Online で先進認証の状態を SKype for Business と同期する方法についても紹介されていました。

1. PowerShell で Skype for Business に接続 *2

$credential = Get-Credential
$session = New-CsOnlineSession -Credential $credential
Import-PSSession $session

2.同期設定の確認

Get-CsOAuthConfiguration

ClientAdalAuthOverride の項目が NoOverride になっていますね。

f:id:kazuakix:20180415221837p:plain

3.同期設定の変更

 以下のコマンドで同期設定を許可します。

Set-CsOAuthConfiguration -ClientAdalAuthOverride Allowed 

f:id:kazuakix:20180415222137p:plain
 
 ある程度前から契約していて、 Outlook や Skype for Business でアプリケーションパスワードを使っているテナントの方は試してみてください。

*1:Exchange Online への接続設定はコチラ

*2:Skype for Business への接続設定はこの辺

Office 365 でも拡張アドレスを使いたい

 Exhcange Online に乗り換えた / 乗り換えようという人から「G Suite で使ってる + 記号エイリアスを使いたい」という質問を受ける事があります。
 
 Gmail だと kazuaki@tauchi.net というアドレスに対して、kazuaki+test001@tauchi.net のような拡張アドレスを使うことができます。

 Postfix で

recipient_delimiter = +

などとするのも同じですね。
 
 残念ながら Exchange Online に拡張アドレス機能は無いのですが、この機能が無いばかりに Office 365 を断念せざるを得ないというのも残念な話なので、ちょっと無理やり実現してみました。
 
 おおまかな流れとして、以下を参考に存在しないアドレス宛てのメールを集約するメールボックスを作り、そこから各自にメールを転送してもらいます。

1. すべてのメールを受信するためのメールボックスの作成

 Office 365 管理センターから 共有メールボックス を開いて、新規共有メールボックスを作ります。

f:id:kazuakix:20180409211655p:plain

 ここでは、例に倣って catchall というアカウントを作りました。この共有メールボックスはメールを集約するだけなので、管理者だけがアクセスできれば大丈夫です。
 

2. すべてのユーザーを対象にした配布リストの作成

 この後の手順で使うために、すべてのユーザーを参加させた配布リストを作成します。

f:id:kazuakix:20180409211953p:plain
 こちらも例に倣って alluses としました。
 

3. ドメインの定義の変更

 Exchange 管理センターの メール フロー > 承認済みドメイン で、既定のドメインを「権限あり」から「内部の中継」に変更します。

f:id:kazuakix:20180409212133p:plain
 

4. メール フロー ルールの作成

 メール フロー > ルールで新しいルールを作成します。

f:id:kazuakix:20180409212348p:plain

 入力時は その他のオプション をクリックして、詳細入力できる状態にして、以下の内容を入力します。

このルールを適用する条件 送信者の場所が... 組織外
実行する処理 メッセージをリダイレクトする... catchall
ただし次の場合を除く 受信者が次のメンバーである... allusers

 

5. 共有メールボックスでリダイレクトルールを作成

 共有メールボックスを開いて、メールの設定から メール > 自動処理 > 受信トレイと一括処理ルール に進んで、受信トレイのルールを作ります。

f:id:kazuakix:20180409212531p:plain

次の単語が受信者のアドレスに含まれている場合... kazuaki+
メッセージを次へリダイレクトする ... kazuaki

尚、このルールについては、拡張アドレスを利用したいユーザーごとに設定する必要があります。
  

完成

 この状態で、外部から kazuaki+test001@tauchi.net のような拡張アドレスっぽい宛先に送信すると、ちゃんと意図した宛先に送信されていることが確認できます。

f:id:kazuakix:20180409212805p:plain

 ちょっと無理やりなので、ひとりテナント以外では使いにくいですが、どうしても必要な方は一度試してみてください。また、正式の機能として欲しい人は以下の UserVoive で投票してみてください。

How can we improve the tenant admin features O365?
  • 387 votes
  • 11 comments

Support for Dynamic '+' Email Aliases in Office 365

Hello,

I am familiar with using a plus sign following my email alias to create dynamic unique addresses for a Gmail account. e.g. test.email+signedup@gmail.com will arrive at my Gmail mailbox, where I can then apply rules based on the 'To:' address. See this page for details: https://support.g...

Microsoft Teams のゲストアクセスを試す (その 2)

 少し前から Microsoft Teams に組織外のユーザーが参加できるようになっていました。

 この時は、他のテナントの Office 365 など Azure AD を使っているユーザー限定で誰でも参加できるものではありませんでしたが、いつの間にか一般の Microsoft アカウントも参加させられるようになっていました。


 
 設定は以前と同じく、Office 365 管理者センターから 設定 - サービスとアドイン を開き、Microsoft Teams の 「構成するユーザー/ライセンスの種類」を「ゲスト」に、「この種類のすべてのユーザーに対する Microsoft Team のオンとオフを切り替えます」 を 「オン」 にして保存します。

f:id:kazuakix:20180310221924p:plain

 後は、それぞれのチームでゲストユーザーのメールアドレス (Microsoft アカウント) を入力します。

f:id:kazuakix:20180310222542p:plain

 以前はこの状態で Microsoft アカウントを追加しても、サインインしようとしたときにエラーになっていましたが、今回はあっさりとサインインすることができました。

f:id:kazuakix:20180310223719p:plain
 
 気になるメニューですが、ゲストユーザー (左) は 会議 や追加のアプリ、ストアのボタンがありませんでした。会議については、できれば Outlook.com のカレンダーの内容が表示できたらすごく便利だと思うんですが、今後に期待ですね。

f:id:kazuakix:20180310222658p:plain
 
 ただ、チーム内に追加されたファイルや Wiki などのタブは表示することができました。(さすがにライセンスが必要な Planner は表示できませんでしたが)
f:id:kazuakix:20180310223122p:plain
 
 外部ユーザーが参加できるようになることで、利用できるシーンが増えそうですね。