Azure AD と OCI で SSO 連携してみた

Azure AD と OCI で SSO 連携してみた

今回は最強の IdP である Azure AD を使い、Oracle Cloud Infrastructure (OCI) の管理コンソールに Azure AD ユーザーで SSO する手順を紹介します。

SSO だけなら Azure AD P1 なども不要なので無料サブスクリプションなどを準備するだけでも利用可能です。

事前準備

  • Azure AD テナントの作成
  • Oracle サブスクリプションの作成

Oracle サブスクリプションの無料試用版は誰でも利用可能です。

OCI で構成ドキュメントをダウンロード

まずは OCI の管理コンソールから作業します。

左上のメニューを開き、[アイデンティティ]>[フェデレーション]をクリックします。

フェデレーション設定画面から[このドキュメントをダウンロード]をクリックします。

別タブで認証構成情報が記載された XML ファイルが表示されるので、ファイルとし保存しておきます。

Azure AD で OCI アプリの構成

OCI アプリの作成

Azure ポータルで設定を行います。[Azure Active Directory]>[エンタープライズ アプリケーション]をクリックします。

上部の[新しいアプリケーション]をクリックします。

ギャラリーから「Oracle Cloud Infrastructure Console」を検索して選択します。

登録する名前を確認して[追加]をクリックします。

SAML 認証の構成

アプリが作成されたらメニューから[シングル サインオン]をクリックします。

[シングル サインオン方式の選択]で[SAML]をクリックします。

上部の[メタデータ ファイルをアップロードする]をクリックします。

先ほど OCI 管理コンソールからダウンロードした認証構成情報の XML ファイルをアップロードし、[追加]します。

SAML 構成情報が自動で入力されます。[サインオン URL]の部分は https://console.<region_name>.oraclecloud.com の形式で入力します。<region_name> は OCI のホームリージョンに合わせます。東京リージョンを選んでいる場合は https://console.ap-tokyo-1.oraclecloud.com とします。入力したら[保存]をクリックします。

[SAML 署名証明書]で[フェデレーション メタデータ XML]をダウンロードしておきます。

[ユーザー属性とクレーム]で右上の[編集]をクリックします。

[ユーザー属性とクレーム]ブレードで、[必要な要求]のクレームを選択します。

[名前識別子の形式の選択]でプルダウンから[永続的]を選択して[保存]をクリックします。

再び[ユーザー属性とクレーム]ブレードで、[グループ要求を追加する]をクリックします。

[グループ クレーム]ブレードで、次のように設定します。設定したら[保存]をクリックします。

  • クレームで返されるグループ:[セキュリティ グループ]
  • [ソース属性]:[グループ ID]
  • [グループ要求の名前をカスタマイズする]:有効
  • [名前]:groupName
  • [名前空間]:https://auth.oraclecloud.com/saml/claims

 

ユーザーの割り当て

事前にユーザーかグループを作成しておきます。OCI コンソールで権限を割り振るためにグループなどのオブジェクト ID を控えておきます。

Azure AD での設定は以上です。

OCI で Azure AD 認証の構成

再び OCI コンソールに戻ります。先ほどと同じくフェデレーションの設定ページで、[アイデンティティ・プロバイダの追加]をクリックします。

[アイデンティティ・プロバイダの追加]ウィザードで、次のように設定します。設定したら[続行]をクリックします。

  • [名前]:(プロバイダを識別するための名前を指定、変更不可)
  • [説明]:(プロバイダの説明)
  • [タイプ]:[SMAL2.0準拠のアイデンティティ・プロバイダ]
  • [アップロード]:(Azure AD でダウンロードした SAML 署名証明書をアップロード)
  • [アサーションの暗号化]:未チェック
  • [強制認証]:未チェック(画像はチェック入ってますが未チェックの方が使いやすいです、後述)

[マッピングの追加]ウィザードで、Azure AD グループベースで OCI のグループをマッピングできます。設定したら[マッピングの追加]をクリックします。

  • [アイデンティティ・プロバイダ・グループ]:Azure AD グループのオブジェクト ID を指定
  • [OCI グループ]:Administrator

プロバイダの情報が一覧に追加されていれば完了です。

接続確認

アプリケーションパネルから OCI のアイコンをクリックして接続確認します。

ワンクリックで OCI コンソールにサインオンできました。

一時的なユーザ情報が作られて Azure AD ユーザーとしてサインインできています。

強制認証を有効化した際の挙動

OCI のアイデンティティ・プロバイダ設定の中で[強制認証]を有効化すると、アプリケーションパネルからサインオンしようとしても OCI のサインインページに遷移します。

設定したアイデンティティ・プロバイダの名前を選択し、[Continue]をクリックすると、Azure AD の認証が行われます。ID 連携はできていますが認証プロセスが発生するため若干手間になります。