資格証明の管理
Autonomous AI Databaseで資格証明を作成したり、資格証明をリストしたり、資格証明を削除できます。
クラウド・サービスにアクセスするための資格証明の作成
クラウド・オブジェクト・ストアなどのクラウド内のサービスにアクセスするには、まず自律型AIデータベースに資格証明を作成する必要があります。
-
プロシージャ
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コマンドを使用して特殊文字を無効化し、資格証明を適切に作成します。 -
ステップ1で作成した資格証明を使用して、データ・パイプラインを使用している場合は
DBMS_CLOUD.COPY_DATA、DBMS_CLOUD.EXPORT_DATA、DBMS_CLOUD_PIPELINEなどのプロシージャ、またはDBMS_CLOUD資格証明を必要とするその他のプロシージャを使用して、Autonomous AI Databaseからオブジェクト・ストアまたはその他のクラウド・リソースにアクセスできます。
Cloud Shellでクラウド・サービスにアクセスするための資格証明の作成
クラウド・シェルを使用して、Autonomous AI DatabaseにOCIネイティブ資格証明および認証トークンを作成するスクリプトを実行します。
DBMS_CLOUDパッケージを使用して資格証明を作成するには、クラウド・サービスにアクセスするための資格証明の作成およびCREATE_CREDENTIALプロシージャを参照してください。
資格証明クラウド・シェルの作成スクリプトについて
クラウド・シェル開発者ツールで資格証明クラウド・シェルの作成スクリプトを実行して、Autonomous AI Databaseで実行する資格証明スクリプトを生成します。
資格証明の作成スクリプトadb-create-cred.shを使用して、フィンガープリントを含むRSAキー・ペアを含む既存のOCIネイティブ資格証明を新規作成または再利用します。資格証明は、Autonomous AI Databaseで実行できるスクリプトoci_native_credential.sqlおよびoci_native_credential.jsonの形式でユーザーに提供されます。新しい資格証明が作成されると、既存の資格証明がバックアップされます。
adb-create-cred.shスクリプトを使用して、Autonomous AI Databaseで生成された資格証明スクリプトを実行するか、プログラムを終了して、任意のSQLまたはJSON互換ツールまたはユーティリティを使用してデータベース内のスクリプトを実行します。詳細および例は、例: OCIネイティブ資格証明の作成および例: OCIネイティブ資格証明の作成とAutonomous AIデータベースでの実行を参照してください。
オプションで、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ネイティブ資格証明の作成とAutonomous AIデータベースでの実行を参照してください。
-
テナンシにサインインし、開発者ツール・アイコンを選択して、ドロップダウン・リストから「クラウド・シェル」をクリックします。

-
adb-create-cred.shスクリプトを実行します。
-
生成されたOCIネイティブ資格証明スクリプトで既存の資格証明を再利用するには、yと入力します。

新しい資格証明を作成して資格証明を上書きした後に、上書きされた資格証明を使用することを決定した場合、バックアップがあるディレクトリに戻って再利用できます。バックアップ・ファイル名またはフォルダには、
_bkp_YYYYMMDD_abcという構文の接尾辞が付きます。たとえば、次のバックアップ・ファイルは2024年6月6日に作成されました:_bkp_20240603_woT。 -
データベースでOCIネイティブ資格証明スクリプトを実行せずにスクリプトを終了するには、nと入力します。

-
プログラムが終了し、OCIネイティブ資格証明の名前とそれを表示するコマンドが表示されます。

OCIネイティブ資格証明スクリプトをダウンロードするか、任意のSQLツールを使用してそれをコピーし、データベース内で直接実行します。
例: OCIネイティブ資格証明の作成およびAutonomous AI Databaseでの実行
この例では、資格証明の作成スクリプトを使用して、Autonomous AI Databaseで実行されるOCIネイティブ資格証明スクリプトを作成します。
スクリプトを実行する前に、次の点を考慮してください。
-
(オプション)スクリプトでデータベースを検索しないように、データベース・リージョン、コンパートメントおよびデータベース名を指定します。これらのオプションは必須ではありませんが、特に多数のコンパートメントとAutonomous AIデータベースにまたがるテナンシでは、処理時間を節約できます。
-
このスクリプトは、データベースがホーム・リージョンにあることを前提としています。別のリージョンにある場合は、スクリプトの実行時にリージョン名引数
--regionを渡す必要があります。 -
コンパートメント(– コンパートメント)またはデータベース名(–database)を指定しない場合、スクリプトは候補を検索し、考えられるコンパートメントおよびデータベースのリストから選択するように求められます。
-
使用可能なオプションをリストするには、
-hまたは--helpを入力します。
次の例では、OCIネイティブ資格証明の作成スクリプトadb-create-cred.shを使用して、既存の資格証明を含む資格証明スクリプトを生成し、指定されたデータベースでスクリプトを実行します。
データベース・リージョン、コンパートメントおよび名前は、引数としてスクリプトに渡されます。--databaseオプションには、--regionと --compartmentの両方が必要です。これらを指定せずに--databaseのみを指定した場合、オプションは無視されます。
データベースへの接続に使用されるユーザー名も、作成された資格証明の名前とともに提供されます。
ノート
ノート:資格証明作成スクリプトでサポートされている引数のリストについては、adb-create-cred.sh --helpと入力します。
-
テナンシにサインインし、開発者ツール・アイコンを選択して、ドロップダウン・リストから「クラウド・シェル」をクリックします。

-
データベースの検索に使用される引数を含む
adb-create-cred.shスクリプトを実行し、データベースおよびユーザー指定の資格証明名に接続します。
-
既存のAPIキーとフィンガープリントが見つかった。生成された資格証明スクリプトで再利用するには、yと入力します。

新しい資格証明を作成して資格証明を上書きした後に、上書きされた資格証明を使用することを決定した場合は、バックアップがあるディレクトリに戻って再利用できます。バックアップ・ファイル名またはフォルダには、
_bkp_YYYYMMDD_abcという構文の接尾辞が付きます。たとえば、次のバックアップ・ファイルは2024年6月6日に作成されました:_bkp_20240603_woT。 -
yと入力して、リージョン、コンパートメントおよびデータベース引数を使用して指定したデータベースで、作成された資格証明スクリプト
oci_native_credential.sqlを実行します。
-
Walletファイルが見つからなかったため、セットアップされました。Walletファイルが見つかった場合は、再利用するか、新しいファイルを設定するかを尋ねられます。指定したADMINユーザー名のパスワードを入力します。ユーザー名とパスワードは、データベースへの接続に使用されます。
ノート
ノート: Virtual Cloud NetworkにAutonomous AI Databaseプライベート・エンドポイントがある場合、
adb-create-cred.shスクリプトによってSQLおよびJSONスクリプトが生成されます。ただし、Autonomous AI Databaseプライベート・エンド・ポイントへのアクセスに必要なステップは実行されません。かわりに、cat ~/oci_native_credential.sqlを実行して、Bastionまたはジャンプ・ホストを介してアクセス可能なSQLツールにSQLをコピーするように求められます。 -
ログインが成功し、指定されたデータベースに
MYOCICRED資格証明が作成されました。既存の資格証明が削除され、新しい資格証明が作成されます。別のデータベースで資格証明を実行しない場合は、nと入力します。スクリプトが存在し、作成されたoci_native_credential.sqlスクリプトのパスを提供します。
ノート
ノート: Autonomous AI Databaseへの接続が失敗した場合は、cat~/oci_native_credential.sqlを実行し、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_CREDENTIALのpasswordパラメータの値です。 -
クラウド・シェルから
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」を参照してください。