資格証明の管理
Autonomous Databaseで資格証明を作成したり、資格証明をリストしたり、資格証明を削除できます。
クラウド・サービスにアクセスするための資格証明の作成
クラウド・オブジェクト・ストアなどのクラウド内のサービスにアクセスするには、まず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での実行」を参照してください。
例: 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と入力します。
Swift資格証明に使用される認証トークンの作成
認証トークン/Swift資格証明を作成する場合、OracleではOCIネイティブ資格証明の使用を推奨しますが、スクリプトを実行してOCIネイティブ資格証明および認証トークン/Swift資格証明を生成する場合は、--all引数を含めます。
adb-create-cred.sh --allこのフラグを使用すると、認証トークンを含めるかどうかが尋ねられます。 yに回答すると、認証トークン・キーが生成されてOCIプロファイルにアップロードされ、oci_auth_token_credential.sqlおよびauth_token.tokスクリプトが作成されます。
- クラウド・シェルから
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」を参照してください。









