シークレットの作成
OCIボールトでシークレットを作成する方法について学習します。セキュリティとは、パスワード、証明書、SSHキー、OCIサービスで使用する認証トークンなどの資格証明です。
- 「シークレット」リスト・ページで、「シークレットの作成」を選択します。リスト・ページの検索に関するヘルプが必要な場合は、シークレットのリストを参照してください。
- シークレットを作成するコンパートメントを選択します。
- 「名前」を入力して、シークレットを識別します。機密情報を入力しないでください。
- オプションで、シークレットの識別に役立つ「説明」を入力できます。
-
ボールトへのインポート中にシークレット・コンテンツの暗号化に使用するマスター暗号化キーを選択します。キーが別のコンパートメントにある場合は、「暗号化キー・コンパートメント」セレクタを使用して、暗号化キーのコンパートメントを指定します。次の点に注意してください。
- キーはシークレットと同じボールト内にある必要があります
- シークレットを作成するには、対称キーを選択する必要があります。非対称キーは、シークレット作成ではサポートされていません。
- シークレットを生成するには、次のいずれかの方法を選択します。
- 自動シークレット生成:シークレットを自動的に生成します。有効にした場合、シークレット・コンテンツを指定する必要はありません。さらに、新しいシークレット・バージョンの作成時に、シークレット生成タイプおよび生成テンプレートに基づいて自動生成されます。
- 手動シークレット生成:シークレット・コンテンツを手動で指定できます。
- 「自動シークレット生成」を選択した場合は、「生成タイプ」を選択します。
- 「Passphrase」を選択した場合は、対応する「Generation context」を選択し、オプションで「Passphrase length」と「Secret format」を指定します。
- 「SSHキー」を選択した場合は、対応する「生成コンテキスト」を選択し、オプションで「シークレット・フォーマット」を指定します。
- 「バイト」を選択した場合は、対応する「生成コンテキスト」を選択し、オプションで「シークレット・フォーマット」を指定します。
- 「手動シークレット生成」を選択した場合は、次を指定します:
- 「シークレット・タイプ・テンプレート」で、テンプレートを選択して、入力するシークレット・コンテンツのフォーマットを指定します。シークレット・コンテンツは、コンソールを使用してボールト・シークレットまたはボールト・シークレット・バージョンを作成する場合、プレーン・テキストで入力できますが、シークレット・コンテンツは、サービスに送信する前にbase64でエンコードする必要があります。コンソールにより、プレーン・テキストのシークレット・コンテンツが自動的にエンコードされます。
- 「シークレット・コンテンツ」に、シークレットのコンテンツを入力します。(シークレット・バンドルに許容される最大サイズは25 KBです。)
-
オプションで、この機能のトグル・スイッチを使用してリージョン間レプリケーションを有効にできます。最大3つの宛先リージョンでシークレットをレプリケートできます。トグルスイッチを移動したあと、次の情報を指定します。
- 宛先リージョン:レプリケートされたシークレットの宛先ボールトを含むリージョンを選択します。
- 宛先Vault:レプリケートされたシークレットの宛先ボールトを選択します。
- キー:宛先ボールト内のシークレット・コンテンツの暗号化に使用する暗号化キーを選択します。
シークレットをさらにボールトにレプリケートするには、「アイテムの追加」を選択し、ターゲット宛先ボールトのリージョン、ボールトおよびキーの詳細を指定します。
- 「シークレット・ローテーション」セクションで、次の詳細を指定します:
- ターゲット・システム・タイプ:「Autonomous Database」または「ファンクション」として「ターゲット」システム・タイプを選択し、対応するターゲット・システムIDを指定します。
- ターゲット・システムID:選択したターゲット・システム・タイプのシステムIDが自動移入されます。
- 自動ローテーションの有効化:自動ローテーションをオンにするには、チェック・ボックスを選択します。 ノート
ターゲット・システム・タイプおよびIDを指定しない場合、自動ローテーションのチェック・ボックスは有効になりません。 - ローテーション間隔: オプションで、ローテーション間隔を選択してシークレットを定期的に更新します。
- ボールト・シークレットの使用方法を管理するルールを適用するには、「拡張オプション」を選択し、「別のルール」を選択します。「ルール」タブで次の情報を指定します。異なるシークレット・バージョン間でのシークレット・コンテンツの再利用に関するルールを作成することも、シークレット・コンテンツの有効期限を指定するルールを作成することもできます。ルールの詳細は、シークレット・ルールを参照してください。
- ルール・タイプ: 「シークレット再利用ルール」または「シークレット失効ルール」を選択します。最大でいずれか1つを指定できます。すでに1つのルールがある場合に別の規則を追加する場合は、「別の規則」を選択します。
-
構成:
- ルールの再利用: 削除されたシークレット・バージョンにも再利用ルールを適用したり、削除されたシークレット・バージョンからのシークレット・コンテンツの再利用を許可する場合に選択します。
- 失効ルールの場合: シークレット・コンテンツの失効間隔や、シークレットまたはシークレット・バージョンが失効したときにどのようにするかを設定します。個々のシークレット・バージョンの失効は1日から90日までの期間で表され、これは矢印ボタンか数字の入力により指定できます。シークレットそのものの失効は、現在の日時より1日から365日までの絶対日時で表されます。日付ピッカーを使用してこの日付を指定します。失効値はシークレット・バージョンとシークレットのいずれかまたは両方に対して設定できます。シークレット・バージョンの失効間隔をクリアすることは可能ですが、シークレットの有効期限が切れる絶対時間を設定するために、失効ルール全体を削除してやり直す必要があります。
- オプションで、シークレットにタグを適用するには、「タグ」を選択し、「タグの追加」を選択します。リソースを作成する権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかわからない場合は、このオプションをスキップするか(後でタグを適用できます)、管理者に問い合せてください。
- 「シークレットの作成」を選択します。
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.json
passphrase.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を参照してください。