0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【仕事メモ】OpenAM(Ver13) Office365との認証連携(3)

Last updated at Posted at 2018-08-11

前回のおさらい

前回まででOpenAM側のSAML連携受け入れ態勢が整いました。
今回はSAML連携を行う対象のOffice365テナントに対して、OpenAMとの連携するための設定を行っていきます。
なお、この手順はOffice365テナントの取得が完了していることを前提とします。
取得の仕方は色々な方たちが記事にアップしていますので検索してもらえればと思います。

Office365へ設定するIdPの情報を確認

Office365へ登録するIdPの設定を確認しておきます。
前回の記事に記載したURLにアクセスして設定値を確認します。

【仕事メモ】OpenAM(Ver13) Office365との認証連携(1)
https://qiita.com/Blue2012/items/457de2e1e8595cd01adf

アクセス先のURLは下記になります。

SAML設定確認のURL
http://【OpenAMホスト名】:8080/openam/saml2/jsp/exportmetadata.jsp

Office365テナントへの接続

まずはOffice365へ接続するためのPowershellモジュールをインストールします。
現在はMSOnline (Azure AD v1)からAzure AD for Graph (Azure AD v2)に変更されています。
※既にインストール済みである方はこの手順はスキップしてOKです。

モジュールをインストールするところから始めます。
WindowsのPCからPowershellを管理者権限で立ち上げて、以下のコマンドを実行します。

インストールコマンド
Install-Module -Name AzureAD

実行すると下記のような感じでリポジトリにアクセスするためのプロバイダーが必要だとか、信頼されていないリポジトリをインストールすることについて確認されますが、全てY(はい)を実行してください。

image.png

Y(はい)を実行するとやがてインストールが完了します。
上記の画像みたいにPowerShell上でプロンプトが返ってくればOKです。

インストールが完了したら、以下のコマンドを実行します。

AzureADとの接続コマンド
Connect-AzureAD

上記のコマンドを実行すると以下のようにテナントへの接続画面が表示されます。
サインイン画面にて「アカウント」を入力し「次へ」をクリックし、
次の画面でパスワードを入力します。

image.png

接続が完了するとPowershell画面に以下のように接続アカウントの情報が出力されます。

実行結果
Account                       Environment   TenantId  TenantDomain         AccountType
-------                       -----------   -------   ------------         -----------
xxxx@xxxx.onmicrosoft.com     AzureCloud    xxxxx     xxxx.onmicrosoft.com User

これだけではOffice365サービスの各種サブスクリプションも含めたコマンド全てを実行できないため、さらに以下のコマンド実行します。
私は1回目のコマンドはAzureADに接続するため、2回目のコマンドはOffice365サービスに接続するために実施すると覚えました。

MSonlineサービスへの接続コマンド
Connect-MsolService

これで各種コマンドを実行できるようになりましたので、以下のコマンドを実行して、現在のテナント認証設定を確認します。

テナント認証設定確認コマンド
Get-MsolDomain

コマンドを実行すると以下のような出力結果となるはずです。

実行結果
Name                       Status     Authentication
----                       ------     --------------
xxxx.onmicrosoft.com        Verified   Managed
xxxx.xxxx.info(独自ドメイン)   Verified   Managed

onmicrosoft.comと独自ドメインの「Authentication」が両方とも「Managed」になっていることを確認します。(Federationになっていないことを確認します)

※大事な注意点※
onmicrosoft.comドメインはフェデレーションを有効化することができないため、Office365の管理センターから独自ドメインを「既定ドメイン」に設定しておく必要があります。これはonmicrosoft.comドメインに対してフェデレーションを有効化できないことに加えて、フェデレーションを有効にするには「既定のドメイン」を指定する必要があるためです。

管理センターの左側に表示されているメニューのなかから「セットアップ」‐「ドメイン」を選択します。

00.jpg

以下のようにonmicrosoft.comドメイン名の右隣に(既定)と表示されていればOKです。

01.JPG

Office365のフェデレーション認証設定

2018/08/16 追記 大事な注意点としてOffice365に既定で用意されているonmicrosoft.comドメインではフェデレーションを有効にできないです。Office365への独自ドメイン登録が必要になるのでご注意ください。

ここからは簡単です。
Powershellからコマンドを実行してOpenAMとのフェデレーション有効にします。
実行するコマンドは以下のコマンドになります。

Set-MsolDomainAuthenticationコマンド
Set-MsolDomainAuthentication -DomainName $dom -FederationBrandName eIdentity -Authentication Federated -PassiveLogOnUri $url -SigningCertificate $cert -IssuerUri $entity -ActiveLogOnUri $ecp -LogOffUri $logout -PreferredAuthenticationProtocol SAMLP

使用するオプションは以下になります。

オプションの意味
DomainName: フェデレーションを設定するドメイン名

FederationBrandName: 任意の名称

Authentication: 認証形式(Federatedで固定)

PassiveLogOnUri: IdPメタデータ内のタグ内のLocation属性の値

SigningCertificate: IdPメタデータ内の証明書タグの中身

IssuerUri: IdPメタデータ内のタグ内のentityID属性の値

ActiveLogOnUri: IdPメタデータ内のタグ内のLocation属性の値(Binding属性の値が「urn:oasis:names:tc:SAML:2.0:bindings:SOAP」のもの) HTTPSでないと設定できないため、ダミーのURLでも構わないのでHTTPSを指定する

LogOffUri: IdPメタデータ内のタグ内のLocation属性の値(Binding属性の値が「urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect」のもの)

PreferredAuthenticationProtocol:利用するプロトコルを指定(SAMLの場合はSAMLP)

上記のオプションで使用する値は「Office365へ設定するIdPの情報を確認」の手順で確認した値を使用します。
Powershell上でテナントへ接続した状態で↓のようにコマンドオプションを指定した上で↑で記載したSet-MsolDomainAuthenticationコマンドを実行します。

実行コマンド(オプション指定)
$dom="フェデレーション設定を有効にするドメイン名"
$url="http://【OpenAMサーバホスト名】:8080/openam/SSOPOST/metaAlias/idp"
$cert="証明書の鍵情報(中身)"
$ecp="https://【OpenAMサーバホスト名】:8080/openam/SSOSoap/metaAlias/idp"
$logout = "http://【OpenAMサーバホスト名】:8080/openam/IDPSloRedirect/metaAlias/idp"

以下のコマンドでフェデレーション設定が有効になっていることを確認します。

フェデレーション有効確認
Get-MsolDomain

実行結果として以下のように「Authentication」の値に「Federated」が出力されるようになればOKです。

実行結果
Name                                 Status   Authentication
----                                 ------   --------------
xxxx.xxxx.info(独自ドメイン)          Verified Federated
xxxx.onmicrosoft.com                 Verified Managed

Office365ユーザーの登録

ここまででOffice365とOpenAMのフェデレーション有効化が完了したため、あとはOpenAMに作成したユーザーとマッピングするためのOffice365ユーザーを作成してやればOKです。

以下のコマンドでOffice365にユーザーを作成することが出来ます。

ユーザー登録
New-MsolUser -UserPrincipalName 【作成するユーザーのUPN-ImmutableId OpenAM上の社員番号】 -DisplayName 【任意の値】 -FirstName 【任意の値】-LastName 【任意の値】-AlternateEmailAddresses 【ユーザーのメールアドレス】-UsageLocation "JP"

ログイン確認

最後に作成したユーザーでSSOが有効になるかを確認します。

365Login.PNG

ログイン画面が切り替わります。

image.png

切り替わった後にOpenAMのログイン画面が表示されるので、マッピングしたユーザーのアカウント情報(UPN)とパスワードを入力します。

image.png

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?