Azure Portal 上の PowerShell から O365 SAML 設定

Author: Nov Matake
Date:

どうも、MS MVP (Enterprise Mobility) の Nov です。

普段もっぱら O365 の SAML 設定をいじって、自作 SAML IdP と Federation する毎日です。

いや、年に6回くらいかな。

で、毎回 PowerShell の使い方忘れるので、メモ代わりに過去にもこんな記事書いてきました。

そんな、普段はもっぱら Azure 上の Windows 10 VM から PowerShell いじってる僕ですが…

今日気づいてしまったんです!!Azure Portal 上で In-Browser PowerShell が動くようになってるってことに!!

In-Browser PowerShell

「Mac 上の Safari で開いた Azure Portal で Bash なんか動かしてどうすんねん」思ってた僕ですが、動くのが PowerShell となれば話は別です。

もう Windows いらんやん。

ということで、早速 O365 の SAML 設定を In-Browser PowerShell からやってみました。

まずは必要な PowerShell Module をインストールして… (初回のみ)

1
2
# 初回のみ
Install-Module MSOnline, AzureAD

Module Import & AzureAD に管理者アカウントでログイン (PowerShell 起動毎に一度だけ)

1
2
3
Import-Module MSOnline, AzureAD
$credential = Get-Credential
Connect-MsolService -Credential $credential

そして SAML 設定。

1
2
3
4
5
6
7
8
$certificate = "MIIDVzCCAj...(中略)...QQBsHQ=="
$entity_id = "https://nov-idp.dev"
$logout_url = "https://nov-idp.dev/saml2/o365/logout"
$login_url = "https://nov-idp.dev/saml2/o365/login"
$brand_name = "OAuth.jp (O365)"
$domain = "oauth.jp"

Set-MsolDomainAuthentication -DomainName $domain -FederationBrandName $brand_name -Authentication Federated -PassiveLogOnUri $login_url -SigningCertificate $certificate -IssuerUri $entity_id -LogOffUri $logout_url -PreferredAuthenticationProtocol SAMLP

すべて Safari さえあれば OK です。

もう Windows いらんやん。

時代は Surface Pro LTE モデルだっていうのに。

ps.

なぜか Connect-MsolService 単体では動きません。

Windows 10 上では Connect-MsolService ってやるとブラウザポップアップ開くのに、なぜかブラウザ内で Connect-MsolService するとブラウザが立ち上がらないのです。

不思議なこともあるものです。

Comments