シークレットの作成
OCIボールトでシークレットを作成する方法について学習します。セキュリティとは、パスワード、証明書、SSHキー、OCIサービスで使用する認証トークンなどの資格証明です。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」、「Vault」の順に選択します。
- 「リスト・スコープ」で、シークレットを作成するコンパートメントを選択します。
-
シークレットを作成するボールトの名前を選択します。シークレットの新しいボールトを作成する必要がある場合は、Vaultの作成のトピックの手順に従って、ボールトの名前を選択します。
- 「リソース」で、「シークレット」、「シークレットの作成」の順に選択します。
- 「シークレットの作成」パネルで、次の詳細を指定します:
- シークレットを識別する名前を入力します。機密情報は入力しないでください。
- シークレットの識別に役立つ簡単な説明を入力します。機密情報は入力しないでください。
- シークレット・コンテンツがボールトにインポートされている間の暗号化に使用するマスター暗号化キーを選択します。(キーは同じボールトに属する必要があります。鍵も対称鍵である必要があります。非対称キーではボールト・シークレットを暗号化できません。)
- シークレットを生成するには、次のいずれかの方法を選択します。
- 自動シークレット生成:シークレットを自動的に生成します。有効にすると、シークレット・コンテンツを指定する必要はありません。さらに、新しいシークレット・バージョンを作成する場合、シークレット生成タイプおよび生成テンプレートに基づいて自動生成されます。
- 手動シークレット生成:シークレット・コンテンツを手動で生成できます。
- 「自動シークレット生成」を選択した場合は、「生成タイプ」を選択します。
- 「Passphrase」を選択した場合は、対応する「Generation context」を選択し、オプションで「Passphrase length」と「Secret format」を指定します。
- 「SSHキー」を選択した場合は、対応する「生成コンテキスト」を選択し、オプションで「シークレット・フォーマット」を指定します。
- 「バイト」を選択した場合は、対応する「生成コンテキスト」を選択し、オプションで「シークレット・フォーマット」を指定します。
- 「手動シークレット生成」を選択した場合は、次を指定します:
- 「シークレット・タイプ・テンプレート」で、テンプレートを選択して、入力するシークレット・コンテンツのフォーマットを指定します。シークレット・コンテンツは、コンソールを使用してボールト・シークレットまたはボールト・シークレット・バージョンを作成する場合、プレーン・テキストで入力できますが、シークレット・コンテンツは、サービスに送信する前にbase64でエンコードする必要があります。コンソールにより、プレーン・テキストのシークレット・コンテンツが自動的にエンコードされます。
- 「シークレット・コンテンツ」に、シークレットのコンテンツを入力します。(シークレット・バンドルに許容される最大サイズは25 KBです。)
- ボールト・シークレットの使用方法を管理するためのルールを適用するには、「拡張オプションの表示」を選択し、「ルール」タブで次のインフォレーションを指定します。異なるシークレット・バージョン間でのシークレット・コンテンツの再利用に関するルールを作成することも、シークレット・コンテンツの有効期限を指定するルールを作成することもできます。ルールの詳細は、シークレット・ルールを参照してください。
- ルール・タイプ: 「シークレット再利用ルール」または「シークレット失効ルール」を選択します。最大でいずれか1つを指定できます。すでに1つのルールがある場合は、「+別のルール」を選択します。
-
構成 (ルールの再利用用): 削除されたシークレット・バージョンにも再利用ルールを適用したり、削除されたシークレット・バージョンからのシークレット・コンテンツの再利用を許可する場合に選択します。
-
構成(失効ルール用): シークレット・コンテンツの失効頻度と、シークレットまたはシークレット・バージョンの失効時にどのようにするかを設定します。個々のシークレット・バージョンの失効は1日から90日までの期間で表され、これは矢印ボタンか数字の入力により指定できます。シークレットそのものの失効は、現在の日時より1日から365日までの絶対日時で表されます。日付ピッカーを使用してこの日付を指定します。失効値は、シークレット・バージョンとシークレットの両方に対して、または2つのうちいずれか1つのみに対して設定できます。(シークレット・バージョンの失効間隔をクリアできます。ただし、失効ルール全体を削除して最初からやり直し、シークレットが失効する絶対時間を設定する必要があります)。
- 「シークレット・ローテーション」セクションで、次の詳細を指定します:
- ターゲット・システム・タイプ: 「ターゲット」システム・タイプとして「Autonomous Database」または「ファンクション」を選択し、対応するターゲット・システムIDを指定します。
- ターゲット・システムID: 選択したターゲット・システム・タイプのシステムIDが自動移入されます。
- 自動ローテーションの有効化: 自動ローテーションをオンにするには、チェックボックスを選択します。 ノート
ターゲット・システム・タイプおよびIDを指定しない場合、自動ローテーションのチェック・ボックスは有効になりません。 - ローテーション間隔: オプションで、ローテーション間隔を選択して、シークレットを定期的に更新します。
- オプションで、シークレットにタグを適用するには、「拡張オプションの表示」を選択し、「タグ付け」タブで次のインフォレーションを指定します。リソースを作成する権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか(後でタグを適用できます)、管理者に問い合せてください。
- 「シークレットの作成」を選択します。
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": "%GENERATED_PASSPHRASE%", "generation_template": "DBAAS_DEFAULT_PASSWORD", "secret_template": { "username": "ORACLE", "password": "your-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またはKMSMANAGMENTエンドポイントとも呼ばれます。
暗号化エンドポイントは、暗号化、復号化、データ暗号化鍵の生成、署名、検証などの暗号化操作に使用されます。暗号化エンドポイントは、データ・プレーンURLまたはKMSCRYPTOエンドポイントとも呼ばれます。
管理エンドポイントおよび暗号化エンドポイントは、ボールトの詳細メタデータにあります。手順については、Getting a Vault's Detailsを参照してください。
キー管理、シークレット管理およびシークレット取得APIのリージョナル・エンドポイントについては、APIリファレンスおよびエンドポイントを参照してください。
APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。