17.3 オブジェクト・ストアの資格証明および場所パラメータの設定
資格証明オブジェクトを作成し、オブジェクト・ストアURIを指定します。
- オブジェクト・ストアの資格証明の作成方法
資格証明オブジェクトを作成するには、DBMS_CLOUD.CREATE_CREDENTIAL
プロシージャを使用します。 - オブジェクト・ストレージのLocation句の定義方法
これらの例を使用して、ソースに応じてオブジェクト・ストアURIを指定する方法を確認します。
親トピック: ORACLE_BIGDATAアクセス・ドライバ
17.3.1 オブジェクト・ストアの資格証明の作成方法
資格証明オブジェクトを作成するには、DBMS_CLOUD.CREATE_CREDENTIAL
プロシージャを使用します。
資格証明オブジェクトには、オブジェクト・ストアにアクセスするために必要なユーザー名とパスワード情報が含まれています。ユースケースに応じて、認可トークン(auth)を使用するか、Oracle Cloud Infrastructure (OCI)ネイティブ資格証明を使用できます。OCI Object Storageを使用する場合、OracleではOCIネイティブ・メソッドを使用することをお薦めします。
ノート:
DBMS_CLOUD
パッケージをインストールしておく必要があります。
- DBMS_CREDENTIAL.CREATE_CREDENTIALを使用した資格証明オブジェクトの作成
DBMS_CLOUD.CREATE_CREDENTIAL
プロシージャを使用すると、外部オブジェクト・ストアへのアクセスを認証できます。
親トピック: オブジェクト・ストアの資格証明および場所パラメータの設定
17.3.1.1 DBMS_CREDENTIAL.CREATE_CREDENTIALを使用した資格証明オブジェクトの作成
DBMS_CLOUD.CREATE_CREDENTIAL
プロシージャを使用すると、外部オブジェクト・ストアへのアクセスを認証できます。
- 認証トークンベースの資格証明
アクセスにユーザー名および認証トークンを必要とするクラウド・サービスを操作する場合は、この方法を使用して、値をサービスに必要な値に置き換えます。 - ネイティブOracle Cloud Infrastructure (OCI)資格証明
OCIオブジェクト・ストレージを操作する場合は、この方法を使用します。
親トピック: オブジェクト・ストアの資格証明の作成方法
17.3.1.1.1 認証トークンベースの資格証明
アクセスにユーザー名と認証トークンを必要とするクラウド・サービスを操作する場合は、この方法を使用して、値をサービスに必要な値に置き換えます。
例17-1 認証トークンベースの資格証明
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'AUTH_TOKEN_CRED',
username => 'username@example.com',
password => 'auth_token');
END;
17.3.1.1.2 ネイティブOracle Cloud Infrastructure (OCI)資格証明
OCI Object Storageを操作する場合は、この方法を使用します。
例17-2 ネイティブOracle Cloud Infrastructure (OCI)資格証明(OCIオブジェクト・ストレージに優先)
OCI資格証明を使用すると、テナンシおよびユーザーの詳細を安全な方法で提供できます。
次の例では、OCI_CRED
はOracle Cloud Infrastructureユーザー名、ocid1.user.oc1..aaaaa...
はOracle Cloud Identifier (OCID)、ocid1.tenancy.oc1..aabbb...
はOracle Cloudテナンシ識別子、MIIEogIBAAKCAQEAtUnx...JEBg=
はSSH秘密キー、f2:db:f9:18:a4:aa:...
は公開キーのフィンガープリントです。
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name => ‘OCI_CRED’,
user_ocid => ‘ocid1.user.oc1..aaaaa...’,
tenancy_ocid => ‘ocid1.tenancy.oc1..aabbb...’,
private_key => ‘MIIEogIBAAKCAQEAtUnx...JEBg=’,
fingerprint => ‘f2:db:f9:18:a4:aa:...’);
END;
17.3.2 オブジェクト・ストレージのLocation句の定義方法
これらの例を使用して、ソースに応じてオブジェクト・ストアURIを指定する方法を確認します。
LOCATION
は、オブジェクト・ストア内のデータを指すURIです。現在サポートされているオブジェクト・ストアは、Oracleオブジェクト・ストア、Amazon S3およびAzure Blob Storageです。完全なリストを表示するには、Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンスのCREATE_CREDENTIALプロシージャを参照してください。
DBMS_CLOUD CREATE_CREDENTIALプロシージャ
この例では次の変数が使用されています。
region
– テナンシのリージョンcontainer
– コンテナ・リソースの名前namespace
– リージョン内のネームスペースbucket
– グローバル一意識別子を持つオブジェクトを格納するための論理コンテナobjectname
– バケット内のオブジェクトの一意の識別子storage_account
– Azure Blob Storageへのアクセスに使用されるAzure Storageアカウントの名前。
例17-3 ネイティブOracle Cloud Infrastructure Object Storage
location ('https://objectstorage.region.oraclecloud.com/n/namespace/b/bucket/o/objectname')
例17-4 Oracle Cloud Infrastructure Object Storage
location ('https://swiftobjectstorage.region.oraclecloud.com/v1/namespace/bucket/objectname'
例17-5 Amazon WebサービスAWS S3の記憶域形式
location ('https://s3.region.amazonaws.com/bucket/objectname')
例17-6 Microsoft Azure Blob記憶域形式
location ('https://storage_account.blob.core.windows.net/container/objectname')