Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】How to set up Identity Federation between Google Cloud and Oracle Cloud

2025年09月13日に「Dev.to」が公開したITニュース「How to set up Identity Federation between Google Cloud and Oracle Cloud」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Google CloudとOracle Cloud間でID連携を設定し、GCPの認証情報でOCIにログインする方法を解説する。OCI専用のパスワードが不要になり、認証情報管理の簡素化とセキュリティ強化が実現する。

ITニュース解説

システムエンジニアを目指す皆さんにとって、クラウドサービスはもはや欠かせない存在である。複数のクラウドサービスを利用する際に課題となるのが、ユーザー認証情報の管理だ。この記事では、Google Cloud Platform(GCP)とOracle Cloud Infrastructure(OCI)という異なるクラウドサービス間で、ユーザーの認証情報を一元的に管理し、GCPのIDでOCIにログインできるようにする「IDフェデレーション」という仕組みの設定方法について、初心者にも分かりやすく解説する。

IDフェデレーションとは、異なるシステムやサービス間でユーザーのID情報を共有し、ユーザーが一度認証すれば複数のサービスにアクセスできるようになる仕組みである。これにより、ユーザーはサービスごとに異なるユーザー名やパスワードを覚える必要がなくなり、管理の手間が大幅に削減される。また、企業にとっては、ユーザーの認証情報を一元的に管理できるため、セキュリティの向上にもつながる。特に、Google Cloud上にOracle Databaseを展開するようなケースでは、このIDフェデレーションが非常に有効である。

この設定を行うには、まずGCPとOCIの両方でアカウントを持っていることが前提となる。さらに、GCPのGoogle Workspace IAM Adminコンソールにアクセスできる管理者権限と、Google Cloud Adminコンソールに関連付けられたプライベートDNSドメインが必要となる。これらの準備が整ったら、以下のステップでIDフェデレーションを設定していく。

最初のステップとして、GCPのAdminコンソールでユーザーグループを作成する。これは必須ではないが、「Just-in-time(JIT)プロビジョニング」という機能が正しく動作するかを確認するために役立つ。JITプロビジョニングとは、ユーザーが初めてOCIにログインしたときに、GCPのユーザー情報やグループ情報を基に、OCIに自動的にユーザーやグループを作成・更新する機能のことである。ここでは、OCIにも存在するグループ名と、GCPにのみ存在するグループ名を作成し、後で同期の挙動を確認できるようにしておくのが推奨される。

次に、GCPでカスタムSAMLアプリケーションを作成する。SAML(Security Assertion Markup Language)とは、異なるシステム間で認証情報を安全にやり取りするための標準的なXMLベースのプロトコルである。GCPのAdminコンソールから「アプリを追加」を選び、「カスタムSAMLアプリを追加」を選択する。アプリケーション名や説明を設定した後、GCPのメタデータファイルをダウンロードする。このメタデータには、GCPがIDプロバイダー(IdP、ここではユーザーの認証を行う側)として機能するために必要な情報が含まれており、後でOCIにインポートすることになる。

GCPの設定を一時中断し、OCI側での設定に移る。OCIにログインし、「Identity & Security」メニューから「Domains」を選択し、デフォルトのドメイン内で「Federation」に移動する。ここで「Add SAML IdP」を選択し、新しいSAML IDプロバイダーを追加する。GCPでダウンロードしたメタデータファイルをOCIにインポートする。これにより、OCIはGCPからの認証要求をどのように処理すればよいかを知ることができる。この時点ではまだOCIの設定ページは開いたままにしておく。

再びGCPに戻り、OCIのSAML IDプロバイダー情報をGCPに設定する。OCIの「Federation」ページでOCIのSAMLメタデータファイルをエクスポートし、手動エクスポートに切り替えて、表示される「Assertion consumer service URL(ACS URL)」と「Provider ID(Entity ID)」の値をGCPのSAMLアプリ設定ページにコピー&ペーストする。これにより、GCPはOCIがサービスプロバイダー(SP、ここではGCPからの認証を受け入れてサービスを提供する側)として機能するために必要な情報を知ることができる。

続いて、GCPで属性マッピングを設定する。これは、GCPのユーザー情報(例:First name、Last name、Primary email)をOCIのユーザー情報とどのように紐付けるかを定義する重要なステップである。さらに、「Group membership」セクションでは、「MemberOf」という属性を設定し、OCIに同期させたいGCPのユーザーグループをすべて追加する。これにより、GCPのユーザーがどのグループに所属しているかの情報がOCIに連携されるようになる。

作成したSAMLアプリのユーザーアクセスをGCPで有効にする。「User access」をクリックし、「ON for everyone」に設定することで、すべてのユーザーがこのSAMLアプリを通じてOCIにログインできるようになる。

OCIのページに戻り、SAMLアプリの作成を完了する。GCPのIdPメタデータファイルのインポートが完了していることを確認し、「Requested Name ID format」を「Email address」に変更する。これは、ユーザーを一意に識別するための形式を指定するもので、ここではメールアドレスを使用することになる。その後、IdPを作成する。

作成したIDプロバイダーをOCIでアクティベートし、ログインポリシーに追加する。新しいIdPアプリを選択し、「Activate IdP」ボタンをクリックして有効化する。次に、「Federation」ページに戻り、「Default Identity Provider Policy」を編集し、先ほど作成したIdPアプリを「Assign identity providers」のリストに追加する。これにより、OCIのログイン画面にGCPでのログインオプションが表示されるようになる。ただし、この時点ではユーザー情報は同期されても、グループ情報はまだ同期されない。

グループ情報を含めてユーザー情報を完全に同期させるためには、JITプロビジョニングの設定が必要である。OCIの「Federation」ページでIdPアプリを選択し、「Actions」から「Configure JIT」をクリックする。ここで、「Enable Just-In-Time (JIT) provisioning」「Create a new identity domain user」「Update the existing identity domain user」の3つの設定を有効にする。これにより、ユーザーが初めてログインしたときに自動的にOCIにアカウントが作成され、既存のユーザー情報も最新の状態に保たれる。

さらに、ユーザー属性マッピングを設定し、GCPの「NameID」「LastName」「PrimaryEmail」「FirstName」といった属性が、OCIの「User Name」「Last name」「Primary Work Email」「First name」にそれぞれ対応するように定義する。最も重要なのはグループマッピングである。「Group membership attribute name」に「MemberOf」と入力し、「Assign implicit group membership」を選択、さらに「When assigning group membership...」を「Merge with existing group memberships」、「When a group is not found...」を「Ignore the missing group」に設定する。この設定により、GCPのユーザーが所属するグループがOCIにも自動的に同期されるようになる。ただし、ここで注意すべき点として、JITプロビジョニングによるグループ同期は、GCPに存在するグループとOCIに存在するグループが一致した場合にのみ行われる。GCPにのみ存在するグループはOCIには作成されない。

最後に、設定が正しく機能するかを検証する。OCIからログアウトし、OCIのログインページにアクセスすると、GCPによるログインオプションが表示されているはずである。このオプションを選択してGCPの認証情報でログインを試みる。成功すれば、GCPのIDでOCIにログインできる。その後、OCIの管理者としてログインし、GCPのユーザーがOCIのユーザーリストに追加され、GCPで所属していたグループ(OCIにも存在するもの)に正しくメンバーとして追加されていることを確認する。

これらのステップを通じて、GCPとOCI間のIDフェデレーションが正常に設定された。これにより、ユーザーはGCPの認証情報を用いてOCIに安全かつ簡単にアクセスできるようになり、クラウド環境の管理がより効率的になる。

関連コンテンツ

関連IT用語