OCI IAMドメインによるSpreadsheet Add-inへのアクセス

Oracle Cloud Infrastructure Identity and Access Management (OCI IAM)では、アイデンティティ・ドメインを使用して、認証、シングル・サインオン(SSO)、OCIのアイデンティティ・ライフサイクル管理、SaaS、クラウド・ホスト、オンプレミスなどのOracleおよび非Oracle applicationsのアイデンティティおよびアクセス管理機能を提供します。

Oracle Identity and Access Management (IAM)接続でのスプレッドシート・アドインの使用を有効にできます。次のことが必要です。

ノート:

統合アプリケーションの作成、OAuth構成および接続ファイルの作成は、adminユーザーが実行する必要があります。

接続ファイルの作成後は、任意のユーザーと共有してドメイン・ログインを有効にできます。

前提条件

ドメイン統合アプリケーションの作成または使用

Oracle Cloud Infrastructure (OCI)でドメイン統合アプリケーションを使用するには、次のステップに従ってアイデンティティ・ドメインを作成および構成し、ポリシーおよび統合を設定します:
  1. アイデンティティ・ドメインの使用:
    • 管理者アカウントでOCIコンソールにデフォルト・アイデンティティ・ドメインにサインインします。
    • OCIコンソールのナビゲーション・メニューで、「統合アプリケーション」をクリックします。
    • 「統合アプリケーション」リスト・ページで、「アプリケーションの追加」を選択します。
    • 「アプリケーションの追加」ウィンドウで、「機密アプリケーション」「ワークフローの起動」の順に選択します。



      「アプリケーション詳細の追加」ページで、次の表を使用してアプリケーションの詳細および表示設定を構成します。

      表19-1アプリケーションの詳細とその説明

      オプション 説明
      名前

      機密アプリケーションの名前を入力します。最大125文字まで入力できます。

      アプリケーション名は、できるかぎり短くすることを検討してください。この例では、スプレッドシート・アドインを使用します。

      説明 機密アプリケーションの説明を入力します。最大250文字まで入力できます。
      アプリケーション・アイコン

      このフィールドはオプションです。このフィールドはスキップできます。

      「Upload」をクリックして、アプリケーションを表すアイコンを追加します。このアイコンは、「My Apps」ページおよび「Applications」ページでアプリケーション名の横に表示されます。

      アプリケーションURL このフィールドはオプションです。このフィールドはスキップできます。

      正常なログイン後にユーザーがリダイレクトされるURL (HTTPまたはHTTPS)を入力します。

      カスタム・ログインURL このフィールドはオプションです。このフィールドはスキップできます。

      「カスタム・ログインURL」フィールドで、カスタム・ログインURLを指定できます。ただし、Oracle Identity Cloud Serviceによって提供されるデフォルトのログイン・ページを使用している場合、このフィールドを空白のままにします。

      カスタム・ログアウトURL このフィールドはオプションです。このフィールドはスキップできます。

      「カスタム・ログアウトURL」フィールドで、カスタム・ログアウトURLを指定できます。ただし、Oracle Identity Cloud Serviceによって提供されるデフォルトのログイン・ページを使用している場合、このフィールドを空白のままにします。

      カスタム・エラーURL このフィールドはオプションです。このフィールドはスキップできます。

      失敗した場合にユーザーをリダイレクトする必要がある、エラー・ページURLを入力できます。指定されていない場合は、テナント固有のエラー・ページURLが使用されます。

      「自分のアプリケーション」に表示 このチェック・ボックスは選択しないでください。

      このチェック・ボックスは、機密アプリケーションがユーザーの「自分のアプリケーション(自分のアプリケーション)」ページにリストされるようにする場合にのみ選択します。この場合、アプリケーションをリソース・サーバーとして構成する必要があります。

      ユーザーにアクセス権のリクエストを許可 このチェックボックスをオフにしてください。

      エンド・ユーザーが「自分のアプリケーション」ページからアプリケーションに対するアクセスをリクエストできるようにする場合は、このチェック・ボックスを選択します。

      タグ このフィールドをスキップします。

      「タグの追加」をクリックするのは、機密アプリケーションにタグを追加し、それらを編成および識別する場合のみです。

    • 「次」をクリックして、「OAuthの構成」タブに進みます。
    • 「OAuthの構成」タブのリソース・サーバー構成ウィザードで、次の手順を実行します。

      「このアプリケーションをリソース・サーバーとして今すぐ構成」を選択して、アプリケーションのリソースをすぐに保護し、アプリケーションを「自分のアプリケーション」ページに表示できるようにします。



      次の表を使用して、表示される「OAuthで保護する必要のあるアプリケーションAPIを構成します」セクションの情報を入力します。

      表19-2アプリケーション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番目のアプリケーションは機密アプリケーション・スコープを参照するモバイル・アプリケーションになります。



    • 機密アプリケーションの追加ウィザード「クライアント構成」ダイアログで、次の操作を実行します:

      「このアプリケーションをクライアントとして今すぐで構成します」をクリックして、アプリケーションの認可情報をすぐに構成します。



    • 開いた「認可」および「トークン発行ポリシー」セクションで、次の表を使用して情報を入力します。

      表19-3クライアント構成オプションとその説明

      オプション 説明
      リソース所有者 このフィールドは選択しないでください。

      リソース所有者に機密アプリケーション(コンピュータ・オペレーティング・システムや特権があるアプリケーションなど)との間の信頼関係がある場合にのみ使用します。これは、機密アプリケーションはパスワードを使用してアクセス・トークンを取得した後、そのセキュリティ・を破棄する必要があるためです。

      クライアント資格証明 このフィールドは選択しないでください。

      認可スコープが、クライアントの制御下にある保護リソース、または認可サーバーに登録された保護リソースに制限されている場合のみ使用します。

      JWTアサーション このフィールドは選択しないでください。

      アサーションとして表される、認可サーバーでの直接的なユーザー承認ステップのない既存の信頼関係を使用する場合にのみ使用します。

      SAML2アサーション このフィールドは選択しないでください。

      SAML2アサーションとして表される、認可サーバーでの直接的なユーザー承認ステップのない既存の信頼関係を使用する場合にのみ使用します。

      リフレッシュ・トークン このフィールドは選択しないでください。

      この権限付与タイプは、認可サーバーによって提供されるリフレッシュ・トークンを必要とし、それを使用して新しいアクセス・トークンを取得する場合に選択します。

      認可コード このフィールドは選択しないでください。

      この権限付与タイプは、クライアント・アプリケーションとリソース所有者の間の仲介として認可サーバーを使用して、認可コードを取得する場合にのみ選択します。

      暗黙的 このフィールドを選択してください。

      アプリケーションが認可サーバーによる認証に使用するクライアント資格証明の機密を保持できない場合は、このチェック・ボックスを選択します。たとえば、アプリケーションがJavaScriptなどのスクリプト言語を使用するWebブラウザに実装されている場合です。アクセス・トークンは、中間承認ではなく、リソース所有者の認可リクエストに応答してブラウザ・リダイレクトを介してクライアントに返されます、

      デバイス・コード このフィールドは選択しないでください。

      「デバイス・コード」権限付与タイプは、クライアントがOAuth認可サーバーからリクエストを受信できない場合のみ選択します。たとえば、これはHTTPサーバーとして機能できません(ゲーム機、ストリーミング・メディア・プレーヤ、デジタル画像フレームなど)。

      TLSクライアント認証 このフィールドは選択しないでください。

      「TLSクライアント認証」権限付与タイプは、クライアント証明書を使用してクライアントで認証する場合に選択します。トークン・リクエストにX.509クライアント証明書が含まれ、リクエストされたクライアントが「TLSクライアント認証」権限付与タイプで構成されている場合、OAuthサービスは、リクエストのClient_IDを使用してクライアントを識別し、クライアント構成の証明書でクライアント証明書を検証します。クライアントは、2つの値が一致する場合にのみ正常に認証されます。

      HTTPS以外のURLを許可 このフィールドは選択しないでください。

      このチェック・ボックスは、「リダイレクトURL」「ログアウトURL」または「ログアウト後のRedirectURL」フィールドに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ベアラー・トークンを検証し、保護されたリソースへのアクセス権を付与できます。JWTプロファイル詳細を設定して、発行者、オーディエンスおよびJWK URLが正しく構成されていることを確認できます。
  • SQLワークシートの「ナビゲータ」タブで、「スキーマ」ドロップダウン・リストからORDS_METADATAを選択します。
  • 「オブジェクト・タイプ」ドロップダウン・リストからPackagesを選択します。
  • 「検索」フィールドにORDS_SECURITYと入力します。検索ファンクションは、ORDS_SECURITYで始まるすべてのエントリを取得します。
  • ORDS_SECURITYパッケージを展開します。



  • CREATE_JWT_PROFILEを右クリックし、RUNをクリックします。これにより、RUN CODEダイアログが開きます。
    「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)形式で指定する必要があります。

      OCIコンソールの「アイデンティティとセキュリティ」ナビゲーション・メニューの「ドメイン」メニューにある「ドメイン情報」タブで、「ドメインURL」を表示できます。



      詳細は、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で保護されたリソースにアクセスできます。

接続ファイルの作成

  1. 接続を追加するには、「接続」ペインのヘッダーにある「追加」ボタンをクリックします。「新規接続を追加」ダイアログ・ボックスが開きます。

  2. 「新規接続を追加」ダイアログ・ボックスで、次のフィールドを指定します:
    • Connection name: 接続の名前を入力します。
    • 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ログインの有効化に使用するスキーマと同じスキーマを入力します。

接続の作成後、このドメインの他のユーザーと共有できます。