機械翻訳について

資格証明の管理

Autonomous Databaseで資格証明を作成したり、資格証明をリストしたり、資格証明を削除できます。

クラウド・サービスにアクセスするための資格証明の作成

クラウド・オブジェクト・ストアなどのクラウド内のサービスにアクセスするには、まずAutonomous Databaseに資格証明を作成する必要があります。

  1. プロシージャDBMS_CLOUD.CREATE_CREDENTIALを使用して資格証明を作成および格納します。 たとえば:
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password',
        comments => 'credential to access object store'
      );
    END;
    /

    この操作では、資格証明がデータベースに暗号化された形式で保存されます。 資格証明名には任意の名前を使用できます。 このステップは、オブジェクト・ストア資格証明が変更されないかぎり、1回のみ実行すれば済みます。 資格証明を格納した後、すべてのデータ・ロードに同じ資格証明名を使用できます。

    パラメータの詳細は、「CREATE_CREDENTIALプロシージャ」を参照してください。

    リソース・プリンシパル資格証明を有効にした場合、Oracle Cloud Infrastructureオブジェクト・ストアにアクセスするための資格証明の作成は必要ありません。 詳細については、「リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセス」を参照してください。

    ノート:

    SQL*PlusやSQL Developerなどのツールの中には、アンパサンド文字(&)を特殊文字として使用するものがあります。 パスワードにアンパサンド文字がある場合は、例に示すように、これらのツールでSET DEFINE OFFコマンドを使用して特殊文字を無効にし、資格証明を正しく作成します。
  2. ステップ1で作成した資格証明を使用して、データ・パイプラインを使用している場合はDBMS_CLOUD.COPY_DATADBMS_CLOUD.EXPORT_DATADBMS_CLOUD_PIPELINEなどのプロシージャ、またはDBMS_CLOUD資格証明を必要とするその他のプロシージャを使用して、Autonomous Databaseからオブジェクト・ストアまたはその他のクラウド・リソースにアクセスできます。

クラウド・シェルでクラウド・サービスにアクセスするための資格証明の作成

クラウド・シェルを使用して、Autonomous DatabaseにOCIネイティブ資格証明および認証トークンを作成するスクリプトを実行します。

DBMS_CLOUDパッケージを使用して資格証明を作成するには、「クラウド・サービスにアクセスするための資格証明の作成」および「CREATE_CREDENTIALプロシージャ」を参照してください。

資格証明の作成クラウド・シェル・スクリプトについて

クラウド・シェル開発者ツールで資格証明クラウド・シェルの作成スクリプトを実行して、Autonomous Databaseで実行する資格証明スクリプトを生成します。

資格証明の作成スクリプトadb-create-cred.shを使用して、フィンガープリントを持つRSAキー・ペアを含め、新しいOCIネイティブ資格証明を作成するか、既存のOCIネイティブ資格証明を再利用します。 資格証明は、Autonomous Databaseで実行できるスクリプトoci_native_credential.sqlおよびoci_native_credential.jsonの形式でユーザーに提供されます。 新しい資格証明が作成されると、既存の資格証明がバックアップされます。

adb-create-cred.shスクリプトを使用して、生成された資格証明スクリプトをAutonomous Databaseで実行するか、プログラムを終了して、任意のSQLまたはJSON互換ツールまたはユーティリティを使用してデータベース内でスクリプトを実行します。 詳細および例は、「例: OCIネイティブ資格証明の作成」および「例: OCIネイティブ資格証明の作成およびAutonomous Databaseでの実行」を参照してください。

オプションで、adb-create-cred.shを使用して認証トークン/Swift資格証明を作成します。 Oracleでは、OCIネイティブ資格証明を使用することをお薦めします。 ただし、認証トークン/Swift資格証明を作成する場合は、このシェル・スクリプトでサポートされます。 詳細は「Swift資格証明に使用される認証トークンの作成」を参照してください。

ノート:

クラウド・シェル開発者ツールへのアクセス権がない場合は、adb-create-cred.shスクリプトを使用せずにOCIネイティブ資格証明を作成します。 詳細は「Oracle Cloud Infrastructureネイティブ資格証明の作成」を参照してください。

例: OCIネイティブ資格証明の作成

この例では、クラウド・シェルを使用して資格証明の作成スクリプトを実行し、OCIネイティブ資格証明スクリプトを作成します。

adb-create-cred.shを実行して、資格証明スクリプトoci_native_cred.sqlおよびoci_native_cred.jsonを生成します。 adb-create-cred.shスクリプトは、既存の資格証明を検索します(見つかった場合、それらを再利用するかどうか、または新しい資格証明を作成するかどうかを尋ねられます)。 生成された資格証明スクリプトには、ユーザーのディシジョンに応じて、新規または既存の資格証明が含まれます。 OCIネイティブ資格証明スクリプトをダウンロードするか、コピーして、任意のSQLまたはJSONツールまたはユーティリティを使用してデータベース内で直接実行します。

ノート:

資格証明の作成スクリプトでサポートされている引数のリストについては、adb-create-cred.sh --helpと入力します。

この例では、データベースでOCIネイティブ資格証明スクリプトを実行せずに、テナンシに対してOCIネイティブ資格証明スクリプトが生成されます。 データベースでOCIネイティブ資格証明スクリプトを実行する例については、「例: OCIネイティブ資格証明の作成およびAutonomous Databaseでの実行」を参照してください。

  1. テナンシにサインインし、「開発者ツール」アイコンを選択して、ドロップダウン・リストから「クラウド・シェル」をクリックします。
  2. adb-create-cred.shスクリプトを実行します。
  3. 生成されたOCIネイティブ資格証明スクリプトで既存の資格証明を再利用するには、yと入力します。


    cs_existing.pngの説明は以下のとおりです
    図cs_existing.pngの説明

    新しい資格証明を作成することを選択し、上書きされた資格証明を使用する資格証明を上書きした後で決定した場合は、バックアップが存在するディレクトリに戻り、再利用します。 バックアップ・ファイル名またはフォルダには、この構文のサフィクスがあります: _bkp_YYYYMMDD_abc たとえば、このバックアップ・ファイルは2024年6月6日に作成されました: _bkp_20240603_woT

  4. データベースでOCIネイティブ資格証明スクリプトを実行せずにスクリプトを終了するには、nと入力します。
  5. プログラムが終了し、OCIネイティブ資格証明の名前とそれを表示するコマンドが表示されます。


    cs_exit_script.pngの説明は以下のとおりです
    図cs_exit_script.pngの説明

    OCIネイティブ資格証明スクリプトをダウンロードするか、コピーして、任意のSQLツールを使用してデータベース内で直接実行します。

例: OCIネイティブ資格証明の作成およびAutonomous Databaseでの実行

この例では、資格証明の作成スクリプトを使用して、Autonomous Databaseで実行されるOCIネイティブ資格証明スクリプトを作成します。

スクリプトを実行する前に、次の点を考慮してください:
  • (オプション)データベース・リージョン、コンパートメントおよびデータベース名を指定して、スクリプトでデータベースを検索しないようにします。 これらのオプションは必須ではありませんが、特に多数のコンパートメントおよびAutonomous Databasesにわたるテナンシでは、処理時間を節約できます。
  • スクリプトは、データベースがホーム・リージョンにあることを前提としています。 別のリージョンにある場合は、スクリプトの実行時にリージョン名の引数--regionを渡す必要があります。
  • コンパートメント(--compartment)またはデータベース名(--database)を指定しない場合、スクリプトによって候補が検索され、使用可能なコンパートメントおよびデータベースのリストから選択するように求められます。
  • 使用可能なオプションをリストするには、-hまたは--helpと入力します。

次の例では、OCIネイティブ資格証明の作成スクリプトadb-create-cred.shを使用して、既存の資格証明を持つ資格証明スクリプトを生成し、指定したデータベースでスクリプトを実行します。

データベース・リージョン、コンパートメントおよび名前は、引数としてスクリプトに渡されます。 --databaseオプションには、--region--compartmentの両方が必要です。 これらを指定せずに--databaseのみを指定した場合、オプションは無視されます。

データベースへの接続に使用されるユーザー名も、作成された資格証明の名前とともに提供されます。

ノート:

資格証明の作成スクリプトでサポートされている引数のリストについては、adb-create-cred.sh --helpと入力します。
  1. テナンシにサインインし、「開発者ツール」アイコンを選択して、ドロップダウン・リストから「クラウド・シェル」をクリックします。
  2. adb-create-cred.shスクリプトを実行します。これには、データベースの検索、データベースへの接続およびユーザー指定の資格証明名に使用される引数が含まれます。
  3. 既存のAPIキーおよびフィンガープリントが見つかりました。 生成された資格証明スクリプトでそれらを再利用するには、yと入力します。


    cs_existing_keys.pngの説明は以下のとおりです
    図cs_existing_keys.pngの説明

    新しい資格証明を作成し、上書きされた資格証明を使用する資格証明を上書きした後で決定した場合は、バックアップがあるディレクトリに戻り、再利用できます。 バックアップ・ファイル名またはフォルダには、この構文のサフィクスがあります: _bkp_YYYYMMDD_abc たとえば、このバックアップ・ファイルは2024年6月6日に作成されました: _bkp_20240603_woT

  4. yと入力して、リージョン、コンパートメントおよびデータベースの引数で指定したデータベースで、作成した資格証明スクリプトoci_native_credential.sqlを実行します。
  5. Walletファイルが見つからないため、設定されました。 Walletファイルが見つかった場合は、再利用するか、新しいファイルを設定するかを尋ねられます。 指定したADMINユーザー名の「パスワード」を入力します。 ユーザー名とパスワードは、データベースへの接続に使用されます。


    cs_pass.pngの説明は以下のとおりです
    図cs_pass.pngの説明

    ノート:

    Virtual Cloud NetworkにAutonomous Databaseプライベート・エンドポイントがある場合、adb-create-cred.shスクリプトによってSQLおよびJSONスクリプトが生成されます。 ただし、Autonomous Databaseプライベート・エンド・ポイントへのアクセスに必要なステップは実行されません。 かわりに、cat ~/oci_native_credential.sqlを実行して、バスチョンまたはジャンプ・ホストを介してアクセス可能なSQLツールにSQLをコピーするように求められます。

  6. ログインが成功し、指定したデータベースにMYOCICRED資格証明が作成されました。 既存の資格証明が削除され、新しい資格証明が作成されます。 別のデータベースで資格証明を実行しない場合は、nと入力します。 スクリプトが存在し、作成されたoci_native_credential.sqlスクリプトのパスが提供されます。


    ノート:

    Autonomous Databaseへの接続が失敗した場合は、cat ~/oci_native_credential.sqlを実行し、SQLをコピーして任意のSQLツールを使用してデータベース内で直接実行できます。

Swift資格証明に使用される認証トークンの作成

認証トークン/Swift資格証明を作成する場合、OracleではOCIネイティブ資格証明の使用を推奨しますが、スクリプトを実行してOCIネイティブ資格証明および認証トークン/Swift資格証明を生成する場合は、--all引数を含めます。

たとえば:
adb-create-cred.sh --all

このフラグを使用すると、認証トークンを含めるかどうかが尋ねられます。 yに回答すると、認証トークン・キーが生成されてOCIプロファイルにアップロードされ、oci_auth_token_credential.sqlおよびauth_token.tokスクリプトが作成されます。

認証トークン・キーの表示に使用できるオプションは2つあります:
  • クラウド・シェルからoci_auth_token_credential.sqlスクリプトを実行して、データベースに認証トークン・キーを作成します。 認証トークン・キーは、DBMS_CLOUD_CREATE_CREDENTIALpasswordパラメータの値です。
  • クラウド・シェルからauth_token.tokを表示します。 認証トークンは、tokenの値です。

資格証明のリスト

DBMS_CLOUDは、プロシージャDBMS_CLOUD.CREATE_CREDENTIALを使用して資格証明を格納する機能を提供します。 ALL_CREDENTIALSの表示から資格証明をリストできます。

たとえば、資格証明をリストするには、次のコマンドを実行します:

SELECT credential_name, username, comments FROM all_credentials;

CREDENTIAL_NAME                                            USERNAME    
---------------------------–-----------------------------  --------------------
COMMENTS
---------------------------–-----------------------------  --------------------
ADB_TOKEN                                                  user_name@example.com
{"comments":"Created via DBMS_CLOUD.create_credential"}
DEF_CRED_NAME                                              user_name@example.com
{"comments":"Created via DBMS_CLOUD.create_credential"}
 

詳細については、ALL_CREDENTIALSを参照してください。

資格証明の削除

DBMS_CLOUDは、プロシージャDBMS_CLOUD.CREATE_CREDENTIALを使用して資格証明を格納する機能を提供します。 DBMS_CLOUD.DROP_CREDENTIALを使用して資格証明を削除できます。

たとえば、DEF_CRED_NAMEという名前の資格証明を削除するには、次のコマンドを実行します。

BEGIN
   DBMS_CLOUD.DROP_CREDENTIAL('DEF_CRED_NAME');
END;

DBMS_CLOUDプロシージャおよびパラメータの詳細は、「DBMS_CLOUDサブプログラムおよびREST API」を参照してください。