機械翻訳について

Oracle Cloud Infrastructure VaultでのVaultシークレット資格証明の使用

シークレット(パスワード)がシークレットとしてOracle Cloud Infrastructure Vaultに格納されるボールト・シークレット資格証明の使用について説明します。

ボールト・シークレット資格証明を使用してクラウド・リソースにアクセスしたり、データベース・リンクを使用して他のデータベースにアクセスしたり、ユーザー名/パスワード・タイプの資格証明が必要な任意の場所で使用できます。

Oracle Cloud Infrastructure Vaultを使用してVaultシークレット資格証明を作成するための前提条件

ボールト・シークレット資格証明をOracle Cloud Infrastructure Vaultシークレットとともに使用するために必要な前提条件ステップについて説明します。

シークレットがOracle Cloud Infrastructure Vaultに格納されるボールト・シークレット資格証明を作成するには、最初に必要な前提条件を実行します。

  1. ボールトを作成し、Oracle Cloud Infrastructure Vaultを使用してボールトにシークレットを作成します。

    詳細は、ボールトおよびシークレットを作成する手順(「ボールトの管理」および「キー管理の概要」)を参照してください。

  2. 動的グループを設定して、Oracle Cloud Infrastructure Vaultのシークレットへのアクセスを提供します。

    ボールト・シークレット資格証明を作成するAutonomous Databaseインスタンスの動的グループを作成します:

    1. Oracle Cloud Infrastructureコンソールで、「アイデンティティ&セキュリティ」をクリックします。
    2. 「アイデンティティ」で、「ドメイン」をクリックし、アイデンティティ・ドメインを選択します(または、新しいアイデンティティ・ドメインを作成します)。
    3. 「アイデンティティ・ドメイン」で、「動的グループ」をクリックします。
    4. 「動的グループの作成」をクリックし、「名前」「説明」およびルールを入力します。
      • 既存のデータベースの動的グループの作成:

        Autonomous Databaseインスタンスが動的グループの一部であることを指定できます。 次の例の動的グループには、OCIDがresource.idパラメータで指定されているAutonomous Databaseのみが含まれます:

        resource.id = 'your_Autonomous_Database_instance_OCID'
      • まだプロビジョニングされていないデータベースの動的グループを作成します:

        Autonomous Databaseインスタンスをプロビジョニングまたはクローニングする前に動的グループを作成している場合、新規データベースのOCIDはまだ使用できません。 この場合、特定のコンパートメント内のリソースを指定する動的グループを作成します:

        resource.compartment.id = 'your_Compartment_OCID'
    5. 「作成」をクリックします。
  3. 動的グループのポリシー・ステートメントを記述して、Oracle Cloud Infrastructureリソース(シークレット)へのアクセスを有効にします。
    1. Oracle Cloud Infrastructureコンソールで、「アイデンティティとセキュリティ」をクリックし、「ポリシー」をクリックします。
    2. 前のステップで作成した動的グループのポリシーを記述するには、「ポリシーの作成」をクリックし、「名前」および「説明」を入力します。
    3. ポリシーを作成するには、「ポリシー・ビルダー」「マニュアル・エディタの表示」オプションを使用します。

      たとえば、動的グループへのアクセスにコンパートメント内の特定のシークレットの読取りを許可するには:

      Allow dynamic-group dynamic_group_name to read secret-bundles in compartment compartment_name
         where target.secret.id='secret_OCID'

      たとえば、動的グループへのアクセスにコンパートメント内のすべてのシークレットの読取りを許可するには:

      Allow dynamic-group dynamic_group_name to read secret-bundles in compartment compartment_name

      詳細については、「Vaultサービスの詳細」を参照してください。

    4. グループまたは動的グループを選択し、ロケーションを選択します。
    5. 「作成」をクリックします。

Oracle Cloud Infrastructure Vaultを使用したVaultシークレット資格証明の作成

資格証明でOracle Cloud Infrastructure Vaultシークレットを使用するステップについて説明します。

これにより、シークレットをOracle Cloud Infrastructure Vaultに格納し、作成した資格証明とともにシークレットを使用してクラウド・リソースにアクセスしたり、他のデータベースにアクセスできます。

シークレットがOracle Cloud Infrastructure Vaultに格納されるボールト・シークレット資格証明を作成するには:

  1. リソース・プリンシパル認証を有効にして、Oracle Cloud Infrastructure Vault内のシークレットへのアクセスを提供します。
  2. 動的グループを作成し、Autonomous DatabaseOracle Cloud Infrastructure Vault内のシークレットにアクセスできるようにポリシーを定義します。
  3. DBMS_CLOUD.CREATE_CREDENTIALを使用して、ボールト・シークレット資格証明を作成します。

    たとえば:

    BEGIN DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name   => 'OCI_SECRET_CRED',
        params            => JSON_OBJECT(
            'username'   value 'SCOTT',
            'secret_id'  value 'ocid1.vaultsecret.oc1.iad.example..aaaaaaaauq5ok5nq3bf2vwetkpqsoa' ));
    END;
    /

    説明:

    • username: 元の資格証明のユーザー名です。 これは、OCI Swiftユーザーのユーザー名、データベース・リンクを使用したデータベースへのアクセスに必要なユーザー名など、任意のタイプのユーザー名/パスワード資格証明のユーザー名です。

    • secret_id: ボールト・シークレットIDです。 たとえば、パスワードmysecretOracle Cloud Infrastructure Vaultのシークレットに格納する場合、secret_id値はボールト・シークレットOCIDです。

    ボールト・シークレット資格証明を作成するには、DBMS_CLOUDパッケージに対するEXECUTE権限が必要です。

    詳細については、「CREATE_CREDENTIALプロシージャ」を参照してください。

  4. 資格証明を使用してクラウド・リソースにアクセスします。

    たとえば:

    SELECT count(*) FROM DBMS_CLOUD.LIST_OBJECTS(
        'OCI_SECRET_CRED',
        'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/' );

ノート:

12時間ごとに、秘密(パスワード)がOracle Cloud Infrastructure Vaultのコンテンツからリフレッシュされます。 Oracle Cloud Infrastructure Vaultのシークレット値を変更すると、Autonomous Databaseインスタンスが最新のシークレット値を取得するまでに最大12時間かかる場合があります。

DBMS_CLOUD.REFRESH_VAULT_CREDENTIALを実行して、ボールト・シークレット資格証明をすぐにリフレッシュします。 このプロシージャは、ボールト・シークレットの最新バージョンをOracle Cloud Infrastructure Vaultから取得します。 詳細については、「REFRESH_VAULT_CREDENTIALプロシージャ」を参照してください。