目次
はじめに
みなさん、こんにちは。
Oracle Cloud Infrastructure検証チームです。
今回は、SSO認証を使用してOracle Cloud Infrastructure(OCI)にログインする方法について、ご紹介したいと思います。
SSO認証には、oktaというID管理ツールを使用します。
SSOとは「シングルサインオン」の略で、一度の認証手続きで複数のWebアプリケーションやクラウドサービスを利用できるようにする仕組みのことを表します。
前置き
oktaを使用してOCIでSSO認証をするためには、ざっくり以下のステップが必要です。
- OCI Identity and Access Management(以下IAM)から必要な情報を収集
IAMとはクラウドサービスなど、企業が利用するシステムごとに設定された複数のIDを統合管理し、同時にアクセス権限の適切な管理を行うための仕組みです。 - Identity Provider(以下IdP)としてOktaを構成
IdPとはクラウドサービスなどにアクセスするユーザーの認証情報を保存・管理するサービスです。 - OktaがIdPとして機能するように、OCI IAMを構成
- OCI IAMでIdPポリシーを作成
- ログインテスト
1. OCI IAMから必要な情報を収集
OCI IAMには、使用しているアイデンティティ・ドメインのメタデータをダウンロードするためのダイレクトURLが用意されており、Oktaは、OCIドメインURLを使用してOCI IAMに接続します。
「アイデンティティとセキュリティ」メニューから「ドメイン」を選択します。
作業するアイデンティティ・ドメインの名前をクリックし、「セキュリティ」、「アイデンティティ・プロバイダ」の順にクリックします。
「Metadataファイル」オプションを選択し、「XMLのダウンロード」をクリックします。
ダウンロードしたXMLファイルの名前をOCIMetadata.XMLに変更します。
アイデンティティドメインの画面に戻り、ドメイン情報の「ドメインURL」をコピーし保存します。
後の工程で使用します!
2. IdPとしてOktaを構成
ブラウザでoktaにログインします。
検索欄にOracle Cloud Infrastructureと入力し、使用可能なオプションから「Oracle Cloud Infrastructure IAM」を選択します。
一般設定のアプリケーションラベルにラベルを入力し完了をクリックします。(今回はOCI IAM)
追加された「OCI IAM」のページで「サインオン」タブをクリックします。
ページの下に移動しSAML Signing Certificates(SAML署名証明書)で「Actions」をクリックします。
証明書情報が出力され、下記二点をメモしておきます。
- entityID
- SingleLogoutService URL
- SingleSignOnService URL
「Actions」から「Download certificate(証明書のダウンロード)」をクリックし、ダウンロードされたファイルの拡張子を.pemに変更します。
3. OktaがIdPとして機能するように、OCI IAMを構成
作業中のOCIコンソールで、「セキュリティ」、「アイデンティティ・プロパイダ」の順にクリックします。
アイデンティティ・プロパイダの画面で、「IdPの追加」をクリックし、「SAML IdPの追加」をクリックします。
SAMLアイデンティティプロパイダの名前を入力し、「次」をクリックします。(今回はokta)
下記項目を入力し、「次」をクリックします。
- 「アイデンティティ・プロパイダの発行者URL」にSAML署名証明書の「entityID」を入力します。
- 「SSOサービスURL」にSingleSignOnService URLを入力します。
- 「SSOサービス・バインディング」は、「POST」を選択します。
- 「アイデンティティ・プロバイダ署名証明書のアップロード」にダウンロードした証明書(.pemのファイル)をアップロードします。
次に、「グローバル・ログアウトの有効化」が選択されていることを確認し、次のように入力します。
- 「IDPログアウト・リクエストURL」にSingleLogoutService URLを入力します。
- 「ログアウト・バインディング」は、「POST」を選択します。
「ユーザ・アイデンティティのマップ」ページで下記を選択し。「次」をクリックします。
- 「リクエストされた名前IDフォーマット」で「電子メール・アドレス」を選択します。
- 「アイデンティティ・プロパイダ・ユーザ属性」で「SAMLアサーション名ID」を選択します。
- 「アイデンティティ・ドメイン・ユーザ属性」で「プライマリ電子メール・アドレス」を選択します。
「次の手順」ページで「アクティブ化」をクリックした後、「IdPポリシーに追加」をクリックして閉じます。
「アイデンティティ・プロバイダ・ポリシー」をクリックして開き、コンテキスト(3つのドット)メニューから「IdPルールの編集」を選択します。
「アイデンティティ・プロバイダの割当て」をクリックし、「Okta」をクリックしてリストを追加します。
「アイデンティティ・プロバイダ」画面から、「okta」をクリックします。
「サービス・プロバイダ・メタデータ」タブを開き、サービス・プロバイダ署名証明書の横にある「ダウンロード」をクリックしてサービス・プロバイダ署名証明書をダウンロードして保存します。
4. OCI IAMでIdPポリシーを作成
Oktaコンソールで、「アプリケーション」をクリックし、新しいアプリケーションOCI IAMをクリックします。
「Enable Single Logout」を選択し、前のステップでダウンロードした証明書を参照し、「アップロード」をクリックします。
「Advanced Sign-on Settings」で、OCI IAMドメインURLを入力し、「保存」をクリックします。
入力方法は下記画像の通りです。
5. ログインテスト
さて、実際にSSO認証でOCIにログインすることができるかテストします。
OCIのログイン画面を表示します。
OCIのログイン画面の下部に、oktaのログインボタンが追加されています。
oktaのログイン画面が表示されるので、oktaユーザのパスワードを入力して「確認」をクリックします。
OCIにログインすることができました。
今回使用したoktaでは、ログインする際に多要素認証を求める設定も追加できるため、OCIのID管理をしつつセキュリティ面も強化できます。
おわりに
今回はSSO認証を使ってOCIにログインを試してみましたが、いかがでしたでしょうか?
ID管理ツールと組み合わせると簡単に設定ができました!
最後までご覧いただきありがとうございました!
Oracle Cloudをご検討の際は弊社までお問い合わせください。