OCI IAM Identity Domains
~Azure ADとのSAML連携~

こんにちは。Oracle Cloud Infrastructure(OCI)特集 編集部です。


今回はOCIの認証サービス IAM Identity Domains と AzureAD の連携についてご紹介します。

本記事では、IAM Identity Domains にて事前にドメインの追加をしている必要があります。
ドメインの追加に関する記事についてはこちらからご確認ください。
また、AzureAD側では IAM Identity Domains のアカウントと連携するためのユーザーを事前に作成しておく必要があります。

1. OCIでドメインでのクライアントアクセスを許可

①まずOCIにて、クライアントアクセスの許可を行います。
OCIにログインした後、左上のハンバーガーアイコンから、アイデンティティとセキュリティ、ドメインを選択します。
ログイン時には、使用するドメインの管理者権限を保持したユーザーでログインしてください。

②ドメインの一覧が表示されるので対象のドメインを選択します。

③ドメインのトップ設定画面に遷移されたら、左のタブから、「設定」を選択します。
この際、ドメイン情報の記載されている、「ドメインURL」を事前にコピーしておいてください。後述の手順にて使用します。

④ドメインの詳細設定画面に遷移したら、「署名証明書へのアクセス」にある「クライアント・アクセスの構成」にチェックを入れます。
チェックを入れたら、下部にある「変更の保存」を選択して設定を保存します。

⑤最後にメタデータをダウンロードします。
本項番③にて控えたURLを使用して以下のURLを作成します。
{Identity Domains のURL}/fed/v1/metadata

このURLにブラウザでアクセスするとXML形式のメタデータが表示されるのでダウンロードしておきます。(ファイル名:metadata.xml)

2. Azure Portalでエンタープライズアプリケーションを作成

①次にAzure ADの設定を行うため、Azure Portalへログインをします。
ログインしたら、左のハンバーガーアイコンから、「Azure Active Directory」を選択します。

②Azure Active Directoryのトップ画面にきたら、左にある「エンタープライズアプリケーション」を選択します。

③次に「新しいアプリケーション」を選択してアプリケーションを作成します。

④次の画面に遷移するといくつかテンプレートが準備されていますが、今回は「独自のアプリケーション作成」を選択してカスタムアプリケーションを作成します。
選択すると、画面右側に設定画面が出てくるので、任意のアプリケーション名を入力して、そのまま「作成」を選択します。

3. Azure PortalでSAML設定、OCIメタデータのインポート

①アプリケーションが作成された後、詳細画面が表示されるのでこのままSAMLの設定を行います。
「2.シングルサインオンの設定」を選択します。


②次にシングルサインオン方式の選択画面が表示されるので、「SAML」を選択します。

③次に項番1.の⑤の手順にてダウンロードしたOCIのメタデータをアップロードします。
「メタデータファイルをアップロードする」を選択して、ダウンロードしたmetadata.xmlを選択して、「追加」をします。
追加ができたら、そのまま「①基本的なSAML構成」にある「編集」を選択します。

④「識別子(エンティティID)」と「応答URL(Assertion Consumer Service URL)」を入力します。
項番1. ③にて取得したURLを使用して以下のように入力します。
 「識別子(エンティティID)」: {Identity Domains のURL}/fed
 「応答URL(Assertion Consumer Service URL)」 : {Identity Domains のURL}/fed/v1/sp/sso
入力したら「保存」を選択して設定を保存します。

⑤次に「③SAML認証書」にある「フェデレーションメタデータXML」のダウンロードを選択してファイルをダウンロードします。(ファイル名:アプリケーション名.xml)
ダウンロード出来たらそのままユーザー設定を行うため、左の「ユーザーとグループ」を選択します。

4. Azure Portalでユーザー作成

①「ユーザーまたはグループの追加」を選択してユーザーの追加を行います。

②ユーザーとグループにある「選択されていません」を選択すると右に追加画面が表示されます。
そこで追加したいユーザーを検索して選択して追加、下に選択したアイテムに追加したユーザーが存在することを確認して「×」で閉じます。

③「1人のユーザーが選択されました。」と表示されたらそのまま「×」で閉じてAzure側での設定は完了です。

5. OCIでSAML IdP設定の追加、AzureADメタデータのインポート

①OCIにてアイデンティティドメインの設定画面から、左のタブの「セキュリティ」を選択します。

②セキュリティ設定画面で左の「アイデンティティ・プロバイダ」を選択します。
選択すると、アイデンティティ・プロバイダ(IdP)の一覧に遷移するので、「IdPの追加」>「SAML IdPの追加」を選択します。

③最初の画面にてIdPの「名前」を入力します。「説明」については任意入力です。
「名前」については、ユーザーがログインする際に使用するアイコン名にもなるため、”AzureAD”などの一般的に分かる命名をお勧めします。
入力した後、「次」を選択して次の画面へ遷移します。

④次の画面にて、項番3.⑤でAzure Portalにて取得したメタデータをインポートします。
ドラッグアンドドロップか「1つを選択」を選択してインポートします。
インポートが完了すると、下部にインポートしたファイル名が表示されるので、「次」を選択して次の画面に遷移します。

⑤以下の設定を入力してSAMLのマッピング設定を行います。
 「リクエストされた名前IDフォーマットオプション」:永続
 「Azure ADアイデンティティ・プロバイダ」:SAMLアサーション名ID
 「Defaultアイデンティティ・ドメイン」:ユーザー名
設定が出来たら、「次」を選択して確認画面へ遷移します。

⑥確認画面にて入力した設定に問題がなければ「IdPの作成」を選択して完了します。

⑦完了すると後続の手順がいくつか表示されますがそのまま閉じます。
 「接続のテスト」は、対象のドメインにログインしている場合のみ実行可能です。
 「IdPのアクティブ化」は、ここでも可能ですがまだ後続の手順があるので実施しません。
 「IdPポリシーに追加」は、後続にて実施するためここでは実施しません。


6. OCIでユーザー作成(4.と同じユーザー名)

①OCIにてアイデンティティドメインの詳細設定画面から、左のタブの「ユーザー」を選択します。
登録時に使用したユーザーのみ管理者として登録されているので、「ユーザーの作成」を選択して、ユーザーの作成を行います。

②画面の右側にユーザー作成の画面が表示されたら、「姓」「名(任意)」「ユーザー名/電子メール」を入力します。
ここで入力する「ユーザー名/電子メール」はAzureADで追加したユーザーと同じものを使用します。
入力出来たらそのまま、「作成」を選択してユーザーの作成を行い完了となります。

7. OCIでAzureAD認証のルール作成

①OCIにてアイデンティティドメインの詳細設定画面から、セキュリティを選択して、セキュリティの詳細設定画面に遷移します。
遷移したら、「IdPポリシー」を選択します。
IdPポリシーの一覧が表示されたら、デフォルトで1つポリシー(Default Identity Provider Policy)が存在しているので、それを選択します。
ポリシーは複数個作ることが可能なので作成しても問題ありません。

②選択するとアイデンティティ・プロバイダのルール設定が表示されます。
デフォルトでルールが一つ存在しますが、「IdPルールの追加」を選択してIdPルールを追加します。

③ルール追加の画面が表示されたら、以下を入力します。
 「ルール名」:任意のルール名
 「アイデンティティ・プロバイダの割り当て」:項番5.③で入力した名前、Username-Password
入力したら「IdPルールの追加」を選択してルールを追加します。

④追加したら優先度が2にされているので1にします。
「優先度の編集」を選択すると、追加と同じように右側に選択画面が表示されるので、作成したルールの優先度を「1」にして「変更の保存」を選択して保存します。

⑤ここまですべての設定が完了したら、最後にアイデンティティ・プロバイダのアクティブ化を行います。
アイデンティティ・プロバイダのセキュリティ設定画面から、「アイデンティティ・プロバイダ」を選択します。
選択した後、作成したアイデンティティ・プロバイダ名の右にあるタブから、「IdPのアクティブ化」を選択してアクティブ化をします。

これですべての設定作業は完了です。

8. OCIでログイン確認

①最後にログインの確認をしてみます。
対象のドメインのログイン画面へ遷移すると、ユーザーパスワードのログイン以外に、項番5.③にて作成したアイデンティティ・プロバイダ名が表示されます。これを選択するとAzureAD側の認証画面に遷移されてログインが可能となります。

最後に

本記事では、OCIの認証サービスである OCI IAM Identity Domains のAzureADの連携を行いました。
日本では多くのユーザーがActive DirectoryやAzureADを使用してユーザー管理を行っているため、この連携ができることで利便性がかなり高まると思います。Active Directoryの連携についてもこちらにて記事を掲載していますので、ぜひご一読ください。

<免責事項>
 情報の掲載には注意を払っておりますが、掲載された情報の内容の正確性については一切保証しません。また、当サイトに掲載された情報を利用・使用(閲覧、投稿、外部での再利用など全てを含む)するなどの行為に関連して生じたあらゆる損害等につきましても、理由の如何に関わらず自己責任で行う必要があります。