Vaultでのシークレットの作成

ボールトにシークレットを作成します。シークレットとは、パスワード、証明書、SSHキー、Oracle Cloud Infrastructureサービスで使用する認証トークンなどの資格証明です。

    1. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」「Vault」の順にクリックします。
    2. 「リスト・スコープ」で、シークレットを作成するコンパートメントを選択します。
    3. シークレットを作成するボールトの名前をクリックします。シークレットに新しいボールトを作成する必要がある場合は、Vaultの作成のトピックの説明に従って、ボールトの名前をクリックします。

    4. 「リソース」で、「Secrets」「Create Secret」の順に選択します。
    5. 「シークレットの作成」パネルで、次の詳細を指定します:
      1. シークレットを識別する名前を入力します。機密情報は入力しないでください。
      2. シークレットの識別に役立つ簡単な説明を入力します。機密情報は入力しないでください。
      3. シークレット・コンテンツがボールトにインポートされている間の暗号化に使用するマスター暗号化キーを選択します。(キーは同じボールトに属する必要があります。鍵も対称鍵である必要があります。非対称キーではボールト・シークレットを暗号化できません。)
      4. シークレットを生成するには、次のいずれかの方法を選択します。
        • 自動シークレット生成:シークレットを自動的に生成します。有効にした場合、シークレット・コンテンツを指定する必要はありません。さらに、新しいシークレット・バージョンを作成する場合、シークレット生成タイプおよび生成テンプレートに基づいて自動生成されます。
        • 手動シークレット生成:シークレット・コンテンツを手動で指定できます。
      5. 「自動シークレット生成」を選択した場合は、「生成タイプ」を選択します。
        • Passphrase」を選択した場合は、対応する「Generation context」を選択し、オプションで「Passphrase length」と「Secret format」を指定します。
        • 「SSHキー」を選択した場合は、対応する「生成コンテキスト」を選択し、オプションで「シークレット・フォーマット」を指定します。
        • 「バイト」を選択した場合は、対応する「生成コンテキスト」を選択し、オプションで「シークレット・フォーマット」を指定します。
      6. 「手動シークレット生成」を選択した場合は、次を指定します:
        1. 「シークレット・タイプ・テンプレート」で、テンプレートを選択して、入力するシークレット・コンテンツのフォーマットを指定します。コンソールを使用してボールト・シークレットまたはボールト・シークレット・バージョンを作成する場合、シークレット・コンテンツをプレーン・テキストで入力できますが、それをサービスに送信する前にbase64エンコードする必要があります。コンソールでは、プレーン・テキストのシークレット・コンテンツを自動的にエンコードします。
        2. 「シークレット・コンテンツ」に、シークレットのコンテンツを入力します。(シークレット・バンドルに許容される最大サイズは25 KBです。)
    6. ボールト・シークレットの使用方法を管理するルールを適用するには、「拡張オプションの表示」をクリックし、「ルール」タブで次の情報を指定します。異なるシークレット・バージョン間でのシークレット・コンテンツの再利用に関するルールを作成することも、シークレット・コンテンツの有効期限を指定するルールを作成することもできます。ルールの詳細は、シークレット・ルールを参照してください。
      • ルール・タイプ: 「Secret Reuse Rule」または「Secret Expiry Rule」を選択します。最大でいずれか1つを指定できます。すでに1つのルールがある場合に別のルールを追加するには、「+別のルール」をクリックします。
      • 構成(再利用ルール用): 削除されたシークレット・バージョンにも再利用ルールを強制的に適用するか、削除されたシークレット・バージョンからのシークレット・コンテンツの再使用を許可する場合に選択します。

      • 構成(失効ルール用): シークレット・コンテンツの失効頻度と、シークレットまたはシークレット・バージョンの失効時にどのようにするかを設定します。個々のシークレット・バージョンの失効は1日から90日までの期間で表され、これは矢印ボタンか数字の入力により指定できます。シークレットそのものの失効は、現在の日時より1日から365日までの絶対日時で表されます。日付ピッカーを使用してこの日付を指定します。失効値は、シークレット・バージョンとシークレットの両方に対して、または2つのうちいずれか1つのみに対して設定できます。(シークレット・バージョンの失効間隔をクリアできます。ただし、失効ルール全体を削除して最初からやり直し、シークレットが失効する絶対時間を設定する必要があります)。

    7. 「シークレット・ローテーション」セクションで、次の詳細を指定します:
      1. ターゲット・システム・タイプ: 「ターゲット・システム・タイプ」に「Autonomous Databaseまたはファンクション」を選択し、対応するターゲット・システムIDを指定します。
      2. ターゲット・システムID: 選択したターゲット・システム・タイプに対してシステムIDが自動移入されます。
      3. 自動ローテーションの有効化: 自動ローテーションを有効にするには、チェック・ボックスを選択します。
        ノート

        ターゲット・システムのタイプおよびIDを指定しない場合、このチェック・ボックスは自動ローテーションに対して有効になりません。
      4. ローテーション間隔: オプションで、シークレットを定期的に更新するローテーション間隔を選択します。
    8. オプションで、タグをシークレットに適用するには、「拡張オプションの表示」をクリックし、「タグ付け」タブで次の情報を指定します。リソースを作成する権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか(タグは後から適用可能)、管理者に連絡してください。
    9. 「Create Secret」をクリックします。
  • create-base64コマンドを使用して、ボールトにシークレットを作成します。

    ノート

    ボールトへのインポート中にシークレットを暗号化するには、対称キーを指定する必要があります。非対称キーではシークレットを暗号化できません。さらに、指定したボールトにキーが存在する必要があります。
    oci vault secret create-base64 --compartment-id <target_compartment_id> --secret-name <secret_name> --vault-id <target_vault_id> --description <secret_description_text> --key-id <encryption_key_id> --secret-content-content <base64_encoded_secret_content> --secret-content-name <unique_content_name> --secret-content-stage <secret_version_rotation_state>

    たとえば:

    
    oci vault secret create-base64 --compartment-id ocid1.compartment.oc1..example1example25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabwk3zz --secret-name testSecret --vault-id ocid1.vault.oc1.iad.exampleyaaeuk.examplesuxtdqxczlvygwk4ouq2mhzr223g4o2ojs4o4q4ghmt6rlexample --description "this is a test secret" --key-id ocid1.key.oc1.iad.exampleyaaeuk.abuwcvbrswr2nbvrraqomsmhopc74rlqupwyv3byhikd4577rrky7example --secret-content-content bXlwYXNzd29yZA== --secret-content-name testpassword1 --secret-content-stage CURRENT

    機密情報を入力しないでください。

    自動シークレットの生成およびローテーションを有効にするには、次の例を参照してください:

    oci vault secret create-base64 --compartment-id ocid1.compartment.oc1..example1example25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabwk3zz --secret-name testSecret --vault-id ocid1.vault.oc1.iad.exampleyaaeuk.examplesuxtdqxczlvygwk4ouq2mhzr223g4o2ojs4o4q4ghmt6rlexample --description "this is a test secret" --key-id ocid1.key.oc1.iad.exampleyaaeuk.abuwcvbrswr2nbvrraqomsmhopc74rlqupwyv3byhikd4577rrky7example --enable-auto-generation true --secret-generation-context file://sample_generation_file.json --rotation-config file://sample_rotation.json

    passphrase.jsonファイルのコンテンツの例:

    {
    	"generation_type": "PASSPHRASE",
    	"generation_template": "DBAAS_DEFAULT_PASSWORD",
    	"secret_template": {
    		"username": "ORACLE",
    		"password": "%GENERATED_PASSPHRASE%"
    	}	
    }

    sample_rotation.jsonファイルのコンテンツの例:

    {
    	"rotationInterval": "P30D",
    	"isScheduledRotationEnabled": true,
    	"target_system_details": {
    		"target_system_type": "ADB",
    		"adbId": "ocid1.autonomousdatabase.<unique_ID>"
    	}
    }

    CLIコマンドのパラメータおよび値の完全なリストは、CLIコマンド・リファレンスを参照してください。

  • CreateSecret操作を実行して、ボールトにシークレットを作成します。

    APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。