OCI IAMドメインによるスプレッドシート・アドインへのアクセス
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) uses identity domains to provide identity and access management features such as authentication, Single Sign-On (SSO), and identity lifecycle management for OCI as well as for Oracle and non-Oracle applications, whether SaaS, cloud hosted, or on-premises.
統合アプリケーションの作成、OAuth構成および接続ファイルの作成は、
admin
ユーザーが実行する必要があります。
接続ファイルを作成したら、任意のユーザーと共有してドメイン・ログインを有効にできます。
- OCIのユーザーは、Oracle Autonomous DatabasesおよびOCI IAMドメインを管理するために必要なポリシーを持っている必要があります。すべてのサービスのポリシー参照の詳細は、ポリシー・リファレンスを参照してください。
-
Oracle Autonomous Databaseが使用可能である必要があります。詳細は、Autonomous Databaseインスタンスのプロビジョニングを参照してください。
ドメイン統合アプリケーションの作成または使用
- アイデンティティ・ドメインの使用:
- デフォルト・アイデンティティ・ドメインに管理者アカウントを使用してOCIコンソールにサインインします。
- OCIコンソールのナビゲーション・メニューで、「統合アプリケーション」をクリックします。
- 「統合アプリケーション」リスト・ページで、「アプリケーションの追加」を選択します。
- 「アプリケーションの追加」ウィンドウで、「機密アプリケーション」、「ワークフローの起動」の順に選択します。
「アプリケーション詳細の追加」ページで、次の表を使用してアプリケーションの詳細および表示設定を構成します。
表3-6アプリケーションの詳細とその説明
オプション 摘要 名前 機密アプリケーションの名前を入力します。最大125文字まで入力できます。
アプリケーション名は、できるだけ短くするように配慮してください。この例では、スプレッドシート・アドインを使用します。
摘要 機密アプリケーションの説明を入力します。最大250文字まで入力できます。 アプリケーション・アイコン このフィールドはオプションです。このフィールドはスキップできます。
「アップロード」をクリックして、アプリケーションを表すアイコンを追加します。このアイコンは、「自分のアプリ」ページおよび「アプリケーション」ページのアプリケーション名の横に表示されます。
アプリケーションのURL このフィールドはオプションです。このフィールドはスキップできます。 ログインの成功後にユーザーがリダイレクトされるURL (HTTPまたはHTTPS)を入力します。
カスタム・ログインURL このフィールドはオプションです。このフィールドはスキップできます。 「カスタム・ログインURL」フィールドで、カスタム・ログインURLを指定できます。ただし、Oracle Identity Cloud Serviceで提供されるデフォルトのログイン・ページを使用している場合は、このフィールドを空白のままにします。
カスタム・ログアウトURL このフィールドはオプションです。このフィールドはスキップできます。 「カスタム・ログアウトURL」フィールドで、カスタム・ログアウトURLを指定できます。ただし、Oracle Identity Cloud Serviceで提供されるデフォルトのログイン・ページを使用している場合は、このフィールドを空白のままにします。
カスタム・エラーURL このフィールドはオプションです。このフィールドはスキップできます。 失敗した場合のみ、ユーザーをリダイレクトする必要のあるエラー・ページURLを入力できます。指定されていない場合は、テナント固有のエラー・ページURLが使用されます。
「自分のアプリケーション」に表示 このチェック ボックスはオンにしないでください。 このチェック・ボックスは、機密アプリケーションがユーザーの「My Apps」ページにリスト表示されるようにする場合にのみ選択します。この場合、アプリケーションをリソース・サーバーとして構成する必要があります。
ユーザーにアクセス権のリクエストを許可 このチェック・ボックスを選択しないでください。 エンド・ユーザーが「自分のアプリケーション」ページからアプリケーションへのアクセス権をリクエストできるようにする場合にのみ、このチェック・ボックスを選択します。
タグ このフィールドはスキップします。 「タグの追加」をクリックして、機密アプリケーションにタグを追加し、それらを編成および識別する場合のみクリックします。
- 「次」をクリックして、「OAuthの構成」タブに進みます。
-
「OAuthの構成」タブのリソース・サーバー構成ウィザードで、次の手順を実行します。
アプリケーションのリソースをすぐに保護し、アプリケーションを「自分のアプリケーション」ページに表示するには、「このアプリケーションをリソース・サーバーとして今すぐ構成します。」を選択します。
次の表を使用して、表示される「OAuthで保護する必要のあるアプリケーションAPIを構成します」セクションの情報を入力します。
表3-7アプリケーションAPIを構成するためのオプションとその説明
オプション 摘要 アクセス・トークンの有効期限 デフォルト値の3600秒を保持します。 機密アプリケーションに関連付けられているアクセス・トークンの有効期間(秒)を定義します。
リフレッシュ・トークンの許可 このチェック・ボックスを選択しないでください。 このチェック・ボックスは、「リソース所有者」、「認可コード」または「アサーション」権限付与タイプの使用時に取得するリフレッシュ・トークンを使用する場合にのみ選択します。
リフレッシュ・トークンの有効期限 このオプションを選択しないでください。 アクセス・トークンとともに返され、機密アプリケーションに関連付けられたリフレッシュ・トークンの有効期間(秒)を定義できます。
プライマリ・オーディエンス 「ords/」と入力します。
これは、機密アプリケーションのアクセス・トークンが処理されるプライマリ受信者です。
セカンダリ・オーディエンス このフィールドはスキップします。 機密アプリケーションのアクセス・トークンが処理されるセカンダリ受信者を入力し、「追加」をクリックします。この例では、セカンダリ受信者はいません。
追加(許可される範囲) 目的のアプリケーションがアクセスする別のアプリケーションの部分を指定するには、このボタンをクリックして、該当するスコープを機密アプリケーションに追加します。
アプリケーションは、外部パートナまたは機密アプリケーションと安全に対話する必要があります。また、あるOracle Cloudサービスのアプリケーションは、別のOracle Cloudサービスのアプリケーションと安全に対話する必要があります。各アプリケーションにはアプリケーション・スコープがあり、どのリソースを他のアプリケーションが使用できるのかを決定します。 - 「スコープの追加」をクリックし、「追加」を選択します。
スコープの追加ウィザードで、次のフィールド値を指定します。
- スコープ: oracle.dbtools.auth.privileges.builtin.ResourceModules
-
表示名: オプションのフィールド。
- 説明: これはオプションのフィールドです。
「追加」をクリックします。
スコープとして
oracle.dbtools.auth.privileges.builtin.ResourceModules
を追加しました。同様に、次のスコープを機密アプリケーションに追加します。oracle.dbtools.sdw.user
oracle.dbtools.ords.db-api.developer
adp_lmd_privilege
adp_analytics_privilege
ノート
各スコープを使用できるのは、1つのドメインに対して1つの機密アプリケーションのみです。そのため、複数のアプリケーションでスコープを使用する場合、2番目のアプリケーションは、機密アプリケーション・スコープを参照するモバイル・アプリケーションになります。 -
機密アプリケーションの追加ウィザードの「クライアント構成」ダイアログで、次の処理を実行します。
「Configure this application as a client now」をクリックして、アプリケーションの認可情報をすぐに構成します。
- 開いている「認可」および「トークン発行ポリシー」セクションで、次の表を使用して情報を入力します。
表3-8クライアント構成オプションとその説明
オプション 摘要 リソース所有者 このフィールドは選択しないでください。 リソース所有者が、コンピュータ・オペレーティング・システムや高い権限を持つアプリケーションなどの機密アプリケーションとの信頼関係を持っている場合にのみ使用します。これは、機密アプリケーションを使用してアクセス・トークンを取得した後でパスワードを破棄する必要があるためです。
クライアント資格証明 このフィールドは選択しないでください。 認可スコープが、クライアントの制御下にある保護されたリソース、または認可サーバーに登録されている保護されたリソースに制限されている場合にのみ使用します。
JWTアサーション このフィールドは選択しないでください。 アサーションとして表される既存の信頼関係を使用し、認可サーバーで直接ユーザー承認ステップを使用しない場合にのみ使用します。
SAML2アサーション このフィールドは選択しないでください。 SAML2アサーションとして表される既存の信頼関係を使用し、認可サーバーで直接ユーザー承認ステップを使用しない場合にのみ使用します。
リフレッシュ・トークン このフィールドは選択しないでください。 この権限付与タイプは、認可サーバーによってリフレッシュ・トークンが提供され、それを使用して新しいアクセス・トークンを取得する場合にのみ選択します。
認可コード このフィールドは選択しないでください。 この権限付与タイプは、認可サーバーをクライアント・アプリケーションとリソース所有者の間の仲介として使用して認可コードを取得する場合にのみ選択します。
暗黙的 このフィールドを選択します。 アプリケーションで、認可サーバーでの認証に使用するためにクライアント資格証明を機密に保持できない場合は、このチェック・ボックスを選択します。たとえば、アプリケーションは、JavaScriptなどのスクリプト言語を使用してWebブラウザに実装されます。アクセス・トークンは、(中間認可ではなく)リソース所有者の認可リクエストに応答して、ブラウザ・リダイレクトを介してクライアントに返されます。
デバイス・コード このフィールドは選択しないでください。 「デバイス・コード」権限付与タイプは、クライアントがOAuth認可サーバーからリクエストを受信できない場合にのみ選択します。たとえば、ゲーム・コンソール、ストリーミング・メディア・プレーヤ、デジタル・ピクチャ・フレームなどのHTTPサーバーとして機能することはできません。
TLSクライアント認証 このフィールドは選択しないでください。 クライアント証明書を使用してクライアントとの認証を行う場合にのみ、「TLSクライアント認証」権限付与タイプを選択します。トークン・リクエストにX.509クライアント証明書が含まれ、リクエストされたクライアントがTLSクライアント認証権限付与タイプで構成されている場合、OAuthサービスはリクエスト内のClient_IDを使用してクライアントを識別し、クライアント構成内の証明書でクライアント証明書を検証します。クライアントは、2つの値が一致する場合にのみ正常に認証されます。
HTTPS以外のURLを許可 このフィールドは選択しないでください。 「リダイレクトURL」、「ログアウトURL」または「ログアウト後のリダイレクトURL」フィールドにHTTP URLを使用する場合のみ、このチェック・ボックスを選択します。たとえば、内部的にリクエストを送信する場合、暗号化されていない通信が必要な場合、またはOAuth 1.0との下位互換性が必要な場合は、HTTP URLを使用できます。
リダイレクトURL 認証後にユーザーがリダイレクトされる次のアプリケーションURLを入力します。https://static.oracle.com/cdn/spreadsheet/red-4/redirector.html ノート
絶対URLを指定します。相対URLはサポートされていませんログアウトURL このフィールドはスキップします。
機密アプリケーションからログアウトした後にリダイレクトされるURLを入力します。ログアウト後のリダイレクトURL アプリケーションからのログアウト後にユーザーをリダイレクトする次のURLを入力します。https://static.oracle.com/cdn/spreadsheet/red-4/redirector.html
クライアント・タイプ 「機密」を選択します。
使用可能なクライアント・タイプは、「信頼済」および「機密」です。「信頼できる」は、クライアントが自己署名ユーザー・アサーションを生成できる場合にのみ選択します。
許可されたオペレーション このフィールドをスキップします。これはオプションです。
-
アプリケーションのトークン・イントロスペクション・エンド・ポイントへのアクセスを許可する場合のみ、「イントロスペクト」チェック・ボックスを選択します。
- 「代理」チェック・ボックスは、ユーザーの権限のみからアクセス権限を生成できるようにする場合にのみ選択します。これにより、クライアント・アプリケーション自体が通常アクセス権を持っていない場合でも、クライアント・アプリケーションはユーザーがアクセスできるエンドポイントにアクセスできます。
IDトークン暗号化アルゴリズム デフォルトは
none
です。許可されるクライアントIPアドレス このフィールドをスキップします。これはオプションです。 認可されたリソース 「すべて」を選択します。
次のいずれかのオプションを選択して、クライアント・アプリケーションが認可されたリソースにアクセスできるようにします。
- すべて– ドメイン内のリソース(すべて)にアクセスします。すべてのリソースへのアクセスを参照してください。
- タグ付け済– 一致するタグ(タグ付け済)を持つリソースにアクセスします。タグが一致するリソースへのアクセスを参照してください。
- 特定– クライアントとリソース(特定)の間に明示的な関連付けが存在するリソースのみにアクセスします。特定のスコープを持つリソースへのアクセスを参照してください。
ノート
承認済リソースを定義するオプションは、機密アプリケーションでのみ使用できます。モバイル・アプリケーションには、信頼スコープを定義するオプションはありません。リソース このフィールドをスキップします。これはオプションです。 アプリケーションで他のアプリケーションのAPIにアクセスする場合のみ、「機密アプリケーションの追加」ページの「トークン発行ポリシー」セクションで「追加」をクリックします。
Identity Cloud Service管理APIへのクライアント・アクセス権を付与します このフィールドをスキップします。これはオプションです。 「追加」をクリックして、機密アプリケーションがOracle Identity Cloud Service APIにアクセスできるようにします。
「アプリケーション・ロールの追加」ウィンドウで、このアプリケーションに割り当てるアプリケーション・ロールを選択します。これにより、アプリケーションは、割り当てられた各アプリケーション・ロールがアクセスできるREST APIにアクセスできます。
-
- 「次」をクリックして、「機密アプリケーションの追加」ウィザードの「ポリシーの構成」タブに進みます。
- 「機密アプリケーションの追加」ウィザードの「Web層ポリシー」ページで、「スキップして後で実行」をクリックします。
- 「終了」をクリックします。
アプリケーションが非アクティブ化状態で追加されました。機能するにはアクティブ化する必要があります。
「アプリケーションが追加されました」ダイアログ・ボックスに表示される「クライアントID」および「クライアント・シークレット」を記録します。
このIDおよびシークレットを接続設定の一部として使用して、機密アプリケーションと統合します。クライアントIDおよびクライアント・シークレットは、アプリケーションがOracle Identity Cloud Serviceとの通信に使用する資格証明(IDとパスワードなど)と同等です。
必要なスコープが割り当てられているクライアント・タイプの機密アプリケーションを作成しました。
Autonomous DatabaseスキーマのIAMログインの有効化
-
ORDS JWTプロファイルを作成します。参照
https://docs.oracle.com/en/learn/secure-ords-oci-iam/index.html#task-2-create-an-ords-jwt-profile. - JWTをサポートするORDSバージョン23.3以上があることを確認します。
- SQLワークシートの「ナビゲータ」タブで、「スキーマ」ドロップダウン・リストから
ORDS_METADATA
を選択します。 - 「オブジェクト・タイプ」ドロップダウン・リストから
Packages
を選択します。 - 「検索」フィールドに
ORDS_SECURITY
と入力します。検索ファンクションは、ORDS_SECURITY
で始まるすべてのエントリを取得します。 -
ORDS_SECURITY
パッケージを展開します。 CREATE_JWT_PROFILE
を右クリックし、RUN
をクリックします。これにより、RUN CODE
ダイアログが開きます。「実行コード...」ダイアログで、次のフィールド値を指定します。- P_ISSUER- https://identity.oraclecloud.com/。このフィールドはnull以外の値である必要があり、1つのカンマで入力する必要があります。
- P_AUDIENCE-ords/。このフィールドはnull以外の値である必要があります。
- P_JWK_URL- DOMAIN URLに/admin/v1/SigningCert/jwkを追加します。https://で始まるnull以外の値で、認可サーバーによって提供された公開検証キーをJSON Web Key (JWK)形式で指定する必要があります。
「ドメインURL」は、OCIコンソールの「アイデンティティとセキュリティ」ナビゲーション・メニューの「ドメイン」メニューにある「ドメイン情報」タブで表示できます。
詳細は、https://docs.oracle.com/en/cloud/paas/iam-domains-rest-api/api-security-signing-certificates-jwk.htmlを参照してください。
- P_DESCRIPTION- このプロファイルの説明を入力します。たとえば、JWTデモの合流点です。
- P_ALLOWED_AGE - 「0」
- P_ALLOWED_SKEW - 「0」
「スクリプトの実行」をクリックします。
JWTプロファイルを構成すると、エンド・ユーザーは、JWTプロファイルで指定されたJWTトークンを表示することでORDS保護されたリソースにアクセスできます。
接続ファイルの作成
-
「接続」ペインのヘッダーにある「追加」ボタンをクリックして、接続を追加します。「新規接続を追加」ダイアログ・ボックスが開きます。
- 「新規接続を追加」ダイアログ・ボックスで、次のフィールドを指定します:
- 接続先名: 接続の名前を入力します。
- Autonomous DatabaseのURL: 接続先のAutonomous DatabaseのURLを入力します。Autonomous DatabaseのWeb UIからURL全体をコピーします。たとえば、「https://<hostname>-<databasename>.adb.<region>.oraclecloudapps.com/」というリンクを入力またはコピーしてデータベースに接続します。
- 接続のタイプを選択します: OCI IAM
- ドメインURL: ドメイン情報タブから「ドメインURL」を入力します。
- クライアントID: ドメイン統合アプリケーションの作成から記録したクライアントIDを入力します。
- OAuthクライアントID: ドメイン統合アプリケーションの作成から記録したクライアント・シークレットを入力します。
- スキーマ: Autonomous DatabaseスキーマのIAMログインの有効化に使用するスキーマと同じスキーマを入力します。
接続の作成後、このドメインの他のユーザーと共有できます。
親トピック: データ分析ツール