シークレットの作成
OCIボールトにシークレットを作成する方法について学習します。シークレットとは、パスワード、証明書、SSHキー、OCIサービスで使用する認証トークンなどの資格証明です。
- 「シークレット」リスト・ページで「シークレットの作成」を選択します。リスト・ページの検索に関するヘルプが必要な場合は、シークレットのリストを参照してください。
- シークレットを作成するコンパートメントを選択します。
- 「名前」を入力してシークレットを識別します。機密情報は入力しないでください。
- オプションで、シークレットの識別に役立つ「説明」を入力できます。
- 暗号化キーを保持するVaultを選択します。ボールトが異なるコンパートメントにある場合は、Vaultコンパートメント・セレクタを使用してボールトのコンパートメントを指定します。
-
ボールトへのインポート中にシークレット・コンテンツの暗号化に使用するマスター暗号化キーを選択します。キーが異なるコンパートメントにある場合は、「暗号化キー・コンパートメント」セレクタを使用して、暗号化キーのコンパートメントを指定します。次の点に注意してください。
- キーはシークレットと同じボールト内にある必要があります
- シークレットを作成するには、対称キーを選択する必要があります。非対称キーはシークレット作成ではサポートされていません。
- シークレットを生成するには、次のいずれかの方法を選択します。
- 自動シークレット生成:シークレットを自動的に生成します。有効にすると、シークレット・コンテンツを指定する必要はありません。さらに、新しいシークレット・バージョンを作成する場合、シークレット生成タイプおよび生成テンプレートに基づいて自動生成されます。
- 手動シークレット生成:シークレット・コンテンツを手動で指定できます。
- 「自動シークレット生成」を選択した場合は、「生成タイプ」を選択します。
- 「パスフレーズ」を選択した場合は、対応する「生成コンテキスト」を選択し、オプションで「パスフレーズの長さ」および「シークレット・フォーマット」を指定します。
- 「SSHキー」を選択した場合は、対応する「生成コンテキスト」を選択し、オプションで「シークレット形式」を指定します。
- 「バイト」を選択した場合は、対応する「生成コンテキスト」を選択し、オプションで「シークレット・フォーマット」を指定します。
- 「手動シークレット生成」を選択した場合は、次を指定します:
- 「シークレット・タイプ・テンプレート」で、テンプレートを選択して提供するシークレット・コンテンツの形式を指定します。コンソールを使用してボールチ・シークレットまたはボールト・シークレットのバージョンを作成する場合、シークレット・コンテンツをプレーン・テキストで提供できますが、シークレット・コンテンツがサービスに送信される前にbase64でエンコードされている必要があります。コンソールにより、プレーン・テキストのシークレット・コンテンツが自動的にエンコードされます。
- 「シークレット・コンテンツ」に、シークレットのコンテンツを入力します。(シークレット・バンドルに許容される最大サイズは25KBです。)
-
オプションで、この機能のトグル・スイッチを使用してクロスリージョン・レプリケーションを有効にできます。シークレットは、最大3つの宛先リージョンでレプリケートできます。トグル・スイッチを移動した後、次の情報を指定します。
- 宛先リージョン:レプリケートされたシークレットの宛先ボールトを含むリージョンを選択します。
- 宛先Vault:レプリケートされたシークレットの宛先ボールトを選択します。
- キー:宛先ボールトのシークレット・コンテンツの暗号化に使用する暗号化キーを選択します。
より多くのボールトでシークレットをレプリケートするには、「アイテムの追加」を選択し、ターゲット宛先ボールトのリージョン、ボールトおよびキーの詳細を指定します。
- 「シークレット・ローテーション」セクションで、次の詳細を指定します:
- ターゲット・システム・タイプ: Autonomous AI DatabaseまたはFunctionとしてターゲット・システム・タイプを選択し、対応するターゲット・システムIDを指定します。
- ターゲット・システムID:選択したターゲット・システム・タイプのシステムIDが自動移入されます。
-
自動ローテーションの有効化:自動ローテーションをオンにするには、チェック・ボックスを選択します。 ノート
ターゲット・システム・タイプおよびIDを指定しない場合、チェック・ボックスは自動ローテーションに対して有効になりません。 - ローテーション間隔: オプションで、シークレットを定期的に更新するローテーション間隔を選択します。
- ボールト・シークレットの使用方法を管理するルールを適用するには、「ルール」セクションで「別のルール」を選択します。異なるシークレット・バージョン間でのシークレット・コンテンツの再利用に関するルールを作成することも、シークレット・コンテンツの有効期限を指定するルールを作成することもできます。ルールの詳細は、シークレット・ルールを参照してください。
- ルール・タイプ: 「シークレット再利用ルール」または「シークレット失効ルール」を選択します。最大でいずれか1つを指定できます。すでに1つのルールがある場合に別の規則を追加するには、「別の規則」を選択します。
-
構成:
- 再利用ルールの場合: 削除されたシークレット・バージョンにも再利用ルールを強制的に適用するか、削除されたシークレット・バージョンからのシークレット・コンテンツの再利用を許可する場合に選択します。
- 失効ルール: シークレット・コンテンツの失効の頻度や、シークレットまたはシークレット・バージョンが失効したときにどのようにするかを設定します。個々のシークレット・バージョンの失効は1日から90日までの期間で表され、これは矢印ボタンか数字の入力により指定できます。シークレットそのものの失効は、現在の日時より1日から365日までの絶対日時で表されます。日付ピッカーを使用してこの日付を指定します。期限切れの値は、シークレット・バージョンとシークレットの1つまたは両方に対して構成できます。シークレット・バージョンの失効間隔をクリアすることは可能ですが、失効ルール全体を削除して最初からやり直すように設定するには、失効ルール全体を削除する必要があります。
- オプションで、タグをシークレットに適用するには、「タグの追加」を選択します。リソースを作成する権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済タグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかわからない場合は、このオプションをスキップするか(後でタグを適用できます)、管理者に問い合せてください。
- 「シークレットの作成」を選択します。
ボールトにシークレットを作成するには、oci vault 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> [OPTIONS]次に例を示します。
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.jsonpassphrase.jsonファイルのコンテンツの例:{ "generation_type": "%GENERATED_PASSPHRASE%", "generation_template": "DBAAS_DEFAULT_PASSWORD", "secret_template": { "username": "ORACLE", "password": "<example_password>", }sample_rotation.jsonファイルのコンテンツの例:{ "rotationInterval": "P30D", "isScheduledRotationEnabled": true, "target_system_details": { "target_system_type": "ADB", "adbId": "ocid1.autonomousdatabase.<unique_ID>" } }CLIコマンドのパラメータおよび値の完全なリストは、CLIコマンド・リファレンスを参照してください。
管理エンドポイントとともにCreateSecret APIを使用して、ボールトにシークレットを作成します。
ノート
管理エンドポイントは、作成、更新、リスト、取得、削除などの管理操作に使用されます。管理エンドポイントは、コントロール・プレーンURLまたはKMSMANAGEMENTエンドポイントとも呼ばれます。
暗号化エンドポイントは、暗号化、復号化、データ暗号化鍵の生成、署名、検証などの暗号化操作に使用されます。暗号化エンドポイントは、データ・プレーンURLまたはKMSCRYPTOエンドポイントとも呼ばれます。
管理エンドポイントおよび暗号化エンドポイントは、ボールトの詳細メタデータにあります。手順については、Getting a Vault's Detailsを参照してください。
キー管理、シークレット管理およびシークレット取得APIのリージョン・エンドポイントについては、APIリファレンスおよびエンドポイントを参照してください。
APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明に関する項を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。