OCI IAMドメインによるスプレッドシート・アドインへのアクセス

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

Oracle Identity and Access Management (IAM)接続を使用して、スプレッドシート・アドインを使用できるようになります。次を実行する必要があります:

接続が確立されると、接続ファイルを提供し、そのユーザーのドメイン資格証明を使用することによって、ドメイン内のどのユーザーとも共有できます。

前提条件

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

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



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

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

      オプション 説明
      名前

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

      アプリケーション名は、できるだけ短くするように配慮してください。この例では、Spreadsheet Addinsを使用します。

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

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

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

      アプリケーション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を構成します」セクションの情報を入力します。

      表16-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つの機密アプリケーションのみであるため、複数のアプリケーションで1つのスコープを使用する場合、2番目のアプリケーションは、機密アプリケーション・スコープを参照するモバイル・アプリケーションにすることができます。



    • 機密アプリケーションの追加ウィザードの「クライアント構成」ダイアログで、次のようにします。

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



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

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

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

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

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

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

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



  • 「CREATE_JWT_PROFILE」を右クリックし、「実行」をクリックします。これにより、「実行コード」ダイアログが開きます。
    「実行コード」ダイアログで、次のフィールド値を指定します:
    • P_ISSUER - https://identity.oraclecloud.com/。このフィールドはnull以外の値である必要があり、一重引用符で囲んで入力する必要があります。
    • 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 Demo confluence」です。
    • P_ALLOWED_AGE - ゼロ(0)
    • P_ALLOWED_SKEW - ゼロ(0)



    「スクリプトの実行」をクリックします。

    JWTプロファイルを構成すると、エンド・ユーザーは、JWTプロファイルで指定されたJWTトークンを提示することでORDSで保護されたリソースにアクセスできます。

接続の作成

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

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

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