見出し画像

【備忘】Cloud Identity(Idp)とO365・AzureAD(SP)連携検証①

【備忘】Google Cloud Identityの始め方の続きです

今回やりたいこと

今回は、最終的にはCloud Identity(Idp)とO365(SP)を連携する検証を個人の勉強として行いたいです。
組織のGCPやAzureADには触れずに設定の検証を行いたいため、自前のGCP・Azureのお勉強環境を利用し、できるところまでやってみます。(そしてお金はかけたくない)
この投稿はその作業履歴・備忘です。

イメージはこちら👇
画像はリファレンスアーキテクチャより一部引用しています。

Cloud Identity(Idp)とO365(SP)を連携する

前回までで、Google側、Azure側の事前の設定が終わりました。
今回は続きでこちらの記事を参考にO365(AzureAD)にて、Google を ID プロバイダとして SSO を設定する、をやってみます。

流れは、以下の通りです。

  • 手順 1: ImmutableID を設定する

  • 手順 2: Google ID プロバイダ(IdP)の情報を入手する

  • 手順 3: Office 365 を SAML 2.0 のサービス プロバイダ(SP)として設定する

  • ーーーー(今回投稿ここまで👆)ーーーーーーーーーーーー

  • 手順 4: Google を SAML ID プロバイダ(IdP)として設定する

  • 手順 5: Office 365 アプリケーションを有効にする

  • 手順 6: Google と Office 365 間の SSO の動作を確認する

  • 手順 7: 自動プロビジョニングを設定する

手順 1: ImmutableID を設定する

パターンによって対応が異なります。

Office 365 ユーザーの ImmutableID は、ユーザーの作成方法によって異なります。一般的なシナリオは次のとおりです。

①Office 365 ユーザーが存在しない場合

Google でユーザーの自動プロビジョニングを行うように設定すると、デフォルトでユーザーのメールアドレス(ユーザー プリンシパル名)に ImmutableID がマッピングされるため、設定の必要はありません。下の手順 2 に進みます。

②Office 365 管理コンソールでユーザーが作成された場合
ImmutableID は空白になります。これらのユーザーに対しては、PowerShell の Set-MsolUser コマンドを使用して、ユーザーの UPN(ユーザー プリンシパル名)に一致する ImmutableID を Office 365 で設定します。

③Azure Active Directory 同期でユーザーが作成された場合
ImmutableID はエンコードされた Active Directory objectGUID です。この場合は次の手順を行います。

https://support.google.com/cloudidentity/answer/6363817#    一部改行・中略等変更有

今回はプロビジョニングも試したいため、「①Office 365 ユーザーが存在しない場合」のパターンで行きます。
よって設定は不要なので次へ。

手順 2: Google ID プロバイダ(IdP)の情報を入手する

管理コンソールで、メニュー アイコン "" 次に "" [セキュリティ] 次に [認証] 次に [SAML アプリケーションによる SSO] にアクセスします。
この操作を行うには、特権管理者としてログインする必要があります。

https://support.google.com/cloudidentity/answer/6363817#

こちらの管理コンソールにアクセス。

[シングル サインオン(SSO)の設定] で [SSO の URL] と [エンティティ ID] をコピーして保存し、証明書をダウンロードします。

この2つをコピー、証明書もダウンロード

手順 3: Office 365 を SAML 2.0 のサービス プロバイダ(SP)として設定する

ドキュメント通りにPowerShellで設定を実施します。

以下、コマンドの備忘。

$DomainName =“[ドメイン名].com”
$FederationBrandName = “Google Cloud Identity”
$Authentication=“Federated”
$PassiveLogOnUrl= “SSO の URL”
$ActiveLogOnUri = “SSO の URL”
$SigningCertificate= “証明書文字列 1行で!”
$IssuerURI =“エンティティ ID”
$LogOffUri =“https://accounts.google.com/logout”
$PreferredAuthenticationProtocol=“SAMLP”

Set-MsolDomainAuthentication   -DomainName $DomainName   -Authentication $Authentication   -SigningCertificate $SigningCertificate   -LogOffUri $LogOffUri   -PassiveLogOnUri $PassiveLogOnUrl   -ActiveLogOnUri $ActiveLogOnUri   -IssuerUri $IssuerURI   -FederationBrandName $FederationBrandName   -PreferredAuthenticationProtocol $PreferredAuthenticationProtocol


Set-MsolDomainAuthenticationは、今回利用する新たなカスタムドメインがプライマリの状態だとこちらのエラーが出力されました。

Set-MsolDomainAuthentication : You cannot remove this domain as the default domain without replacing it with another default domain. Use the the Set-MsolDomain cmdlet to set another domain as the default domain before you delete this domain.


プライマリをXXX.onmicrosoft.comのドメインに変更したら、問題なくコマンド実行できました。

最後に

手順4以降の続きは後日実施&別投稿で記載します。

手順の流れを最後に再掲します。

手順 1: ImmutableID を設定する
手順 2: Google ID プロバイダ(IdP)の情報を入手する
手順 3: Office 365 を SAML 2.0 のサービス プロバイダ(SP)として設定する
ーーーー(今回投稿ここまで👆)ーーーーーーーーーーーー
手順 4: Google を SAML ID プロバイダ(IdP)として設定する
手順 5: Office 365 アプリケーションを有効にする
手順 6: Google と Office 365 間の SSO の動作を確認する
手順 7: 自動プロビジョニングを設定する

続きはこちらです👇


いいなと思ったら応援しよう!