ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントに例の値を使用します。演習を完了するときは、これらの値をクラウド環境に固有の値に置き換えます。
OCI IAMアイデンティティ・ドメインへの移行後の画面スクレイピングなしでのサインイン自動化の有効化
イントロダクション
Oracleは、Oracle Identity Cloud Serviceの機能をネイティブのOracle Cloud Infrastructure Identity and Access Management (OCI IAM)サービスにマージしました。これにより、OCI、Oracle Cloudアプリケーションおよびサードパーティ・アプリケーションで使用する、豊富なエンタープライズクラスのIdentity and Access Management (IAM)機能セットを備えたOracle Cloudのお客様が実現します。
この変更により、権限アクセス管理(PAM)ソリューションをOracle Cloud Infrastructure Identity and Access Management(OCI IAM)と統合しているか、UI自動化を使用してローカル・アカウントでOCIにログインしているお客様または、外部アイデンティティ・プロバイダ(IDP)を使用する場合、または他のOCI IAM画面のスクリーン・スクレイピングを使用すると、画面の変更により、自動化スクリプトが失敗したり、誤った結果になったりする可能性があります。
スクリーンのスクレイピングとは何ですか?
ソフトウェアツールを使用してWebサイトでエンド・ユーザー・インタラクションを自動で実行する手法。UIフォームへのデータの入力、ボタン・クリック、ナビゲーションなど、UI内のすべての相互作用がツールによって実行されます。
画面スクレイピングに基づいてUI自動化アプローチを削除
OCI IAM画面のいずれかの画面スクレイピングを排除することをお薦めします。OCI IAMはAPIファーストのアプローチに基づいて構築されており、APIを使用してコンソールから行うタスクを実装できます。SDK、CLI、APIおよびterraformを利用できます。画面のスクレイピングに対して実行している操作を特定し、API、SDK、CLIまたはterraformを使用して同じ操作を実行することと同等の操作を見つけます。terraform、SDKおよびCLIコレクションにAPIを追加しています。SDK/CLI/terraformで使用可能な操作が表示されない場合は、ドメインREST APIを使用します。すばやくアクセスするためのドキュメント・リンク:
-
OCI IAMアイデンティティ・ドメインのすべてのRESTエンドポイント
ノート: Oracle Identity Cloud Serviceを使用している場合、これらのAPIはOracle Identity Cloud Serviceでも使用可能であり、これらのAPIを使用して構築された統合は、アイデンティティ・ドメインへの移行後にAS ISで動作します。したがって、画面スクレイピング操作を識別し、かわりに同等のAPIを使用して、アイデンティティ・ドメインへの移行に影響を与えないように計画できます。
目標
このチュートリアルでは、OCI IAM UIページの画面スクレイピングが使用される一般的なシナリオについて説明し、削除するソリューションを提供します。
シナリオ1: Azure、Okta、OCI IAMなどの外部アイデンティティ・プロバイダ(IdP)にログインします。
次のスクリーンショットに示すように、OCI IAMを外部IdPsとフェデレートし、OCI IAM IdPピッカーのUI自動化を行ったお客様。ここでは、カスタマ自動化ツールがリストからIdPを選択し、「続行」をクリックしてIdPログイン・ページに移動します。お客様は、ツールを変更して外部のIdPに直接移動し、このページを完全にスキップすることで、このページをスクレイピングする画面を削除できます。
解決策
-
OCI IAMでは、問合せパラメータを使用して、構成されたIDPに直接移動できます。これにより、現在および将来のOCI IAMログインUIでの変更に対する依存関係がないことが保証されます。外部IdPに移動する直接URLは
https://cloud.oracle.com/?tenant=<tenant_name>&provider=<provider_id>
です。ここでは:<tenant_name>
- テナントの名前。<provider_id>
- 外部IDPの名前。ログイン・ページのドロップダウンに表示されるIDP。
たとえば、前述のスクリーンショットでは、IDPのダイレクトURLは次のようになります。
-
Okta -
https://cloud.oracle.com/?tenant=iaamdemo&provider=oktaidp
-
Azure -
https://cloud.oracle.com/?tenant=iaamdemo&provider=azure-ad
-
環境内で前述の変更を行うと、移行前または移行後のOCI IAM UIに依存しなくなるため、既存のソリューションは移行後に機能します。
-
移行後、既存のフェデレーションをアイデンティティ・ドメインに移動するオプションもあり、IDPが1つしかアタッチされていないIDPポリシーを定義することで、ドメインに直接移動することでOCI IAMログインUIをスキップできます。
シナリオ2: ユーザー・パスワードの変更のユースケース
UI自動化を使用してプロファイル・メニューからユーザー・パスワードを変更している顧客。通常、PAMを使用しているお客様は、OCI IAMローカル・ユーザー・パスワードを定期的に変更および検証する必要があります。ここで、パスワードはPAMツールによって管理され、エンド・ユーザーはチェックインして、ログインするツールからパスワードをチェックアウトします。
OCI IAMにはコンソール・パスワードをリセットするAPIがありますが、エンド・ユーザー・パスワードを変更するためにUIに再度入力する必要がある一時パスワードが作成されます。画面はパスワード変更UIを廃棄します。パスワードを既知の値にリセットでき、エンド・ユーザーはサード・パーティ・ツールからパスワードをチェックインおよびチェックアウトできます。
解決策
アイデンティティ・ドメインでは、UI自動化を使用してパスワードを変更するのを回避し、かわりにアイデンティティ・ドメインREST APIを使用してパスワードを既知の値に変更し、PAMツールで既存のパスワードを検証できます。クイック・アクセスのためのREST APIドキュメントを次に示します。
ノート: この変更は、OCI IAMローカル・ユーザーがデフォルトのアイデンティティ・ドメインに移行される移行後に実行する必要があります。
シナリオ3: OCI IAMフェデレーテッド・ログイン・ページのUI自動化の使用
次のスクリーンショットに示すように、即時利用可能なOracle Identity Cloud Serviceログイン・ページをスクリーン・スクレイピングしている顧客。OCIコンソールで実行している操作を確認し、かわりにAPIを使用することをお薦めします。ただし、Oracle Identity Cloud Serviceのログイン・ページの画面スクレイピングを実行する場合は、ユーザー名、パスワードおよび送信ボタンに次の要素を使用します。
- ユーザー名:
idcs-signin-basic-signin-form-username
の要素名 - パスワードの要素名:
idcs-signin-basic-signin-form-password|input
- submitの要素名:
idcs-signin-basic-signin-form-submit
テナンシがアイデンティティ・ドメインに移行されると、Oracle Identity Cloud Serviceのログイン・ページがアイデンティティ・ドメインのログイン・ページに置き換えられ、同じ要素が使用されます。したがって、自動化ツールが前述のUI要素のみに依存している場合、既存のソリューションは移行後のAS ISで動作する必要があります。Oracle Identity Cloud Service URLは移行後も同じままです。既存のログイン・ページの他の要素を使用している場合は、ソリューションおよび新しいアイデンティティ・ドメインのログイン・ページ要素を確認することをお薦めします。
シナリオ4: OCI IAMローカル・ログイン・ページのUI自動化の使用
次のスクリーンショットに示すように、OCI IAMログイン・ページをスクリーン・スクレイピングしている顧客。OCIコンソールで実行している操作を確認し、かわりにAPIを使用することをお薦めします。ただし、画面のスクレイピングを実行する場合は、OCI IAMログイン・ページで次のUI要素が使用されます。
- ユーザー名の要素名:
username
- パスワードの要素名:
password
- submitの要素名:
submit-native
- トグルする要素名:
native-toggle-trigger
テナンシがアイデンティティ・ドメインに移行されると、ドメイン・ログイン・ページでOCI IAMローカル・ログイン・ページが置き換えられ、異なる要素が使用されます。したがって、既存のソリューションが破損し、ツールではかわりに次の要素を検索する必要があります。
- ユーザー名:
username
の要素名。idcs-signin-basic-signin-form-username
に置き換えます - パスワードの要素名:
password
、idcs-signin-basic-signin-form-password|input
に置き換えます - submitの要素名:
submit-native
、idcs-signin-basic-signin-form-submit
で置換 - トグルする要素名:
native-toggle-trigger
、なし、新しいログイン・ページにトグル・ボタンはありません。
シナリオ5: ドメインのログイン・ページに直接ナビゲートします。
OCI IAMアイデンティティ・ドメインに移行すると、次のスクリーンショットに示すように、ドメインを取得できる新しいページが追加されます。また、ドメイン・ピッカー・ページをスクリーン・スクラップする必要はありません。かわりに、次のURLを使用してドメイン・サインイン・ページに直接移動できます: https://cloud.oracle.com/?tenant=<tenant_name>&domain=<domain_name>
。
<tenant_name>
- テナントの名前。<domain_name>
- ドメインの名前。
OCI IAMログイン・ページの他の要素を使用している場合は、ソリューションおよび新しいアイデンティティ・ドメインのログイン・ページ要素を確認することをお薦めします。
関連リンク
確認
- 著者: Matt Flynn、Sunil Joshi(OCI IAM)
その他の学習リソース
docs.oracle.com/learnの他のラボをご覧いただくか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントは、Oracle Help Centerを参照してください。
Enable Sign In Automation Without Screen Scraping After Migration to OCI IAM Identity Domains
F88985-01
November 2023
Copyright © 2023, Oracle and/or its affiliates.