Vaultシークレットの管理
ボールト・シークレット、シークレット・タグおよびシークレット・ルールを作成および管理します。
OCIクラウド・サービスを使用することの重要性から、シークレットをデジタル・ボールトに格納、取得、管理することが重要です。シークレットは、OCIサービス/システムへの接続に使用するパスワード、証明書、SSHキーまたは認証トークンです。シークレットをOCI Vaultに格納すると、コードまたは構成ファイルに格納するよりも優れたセキュリティを実現できます。アプリケーションはOCIシークレット管理と通信してシークレットを取得し、ターゲット・サービスに接続します。
Oracle Cloud Infrastructure Secret Managementでは、シークレットを使用してAPIキー、パスワード、暗号化キーなどの機密データを簡単に保護できます。これらのシークレットを安全に作成、格納、管理およびアクセスするための堅牢なソリューションを提供します。提供される集中管理ストレージでは、ハードウェア・セキュリティ・モジュール(HSM)およびきめ細かいアクセス制御を利用して、重要な情報のセキュリティと整合性を保護します。OCI Secret Managementを使用して、アプリケーションへのシークレットの直接埋め込みを排除し、攻撃対象領域を減らし、アプリケーションの全体的なセキュリティを強化します。
シークレットの自動生成およびローテーション
シークレットが生成されると、定期的に更新されます。シークレットは手動で更新することも、自動的に設定することもできます。シークレットの自動生成およびローテーションは、シークレットを手動で設定し、スクリプトを使用してローテーションする負担を軽減しますが、かわりに、作成、ローテーションおよび削除からシークレットを効率的に管理する方法を提供します。
自動シークレット生成機能を使用すると、生成中にシークレットをテンプレート化できます。自動シークレット・ローテーションでは、シークレット間隔を1から12か月に設定できます。この機能は、Autonomous Databaseおよびファンクション・サービスと統合されているため、自律型データベースまたはファンクション・コードで使用されるシークレットを更新できます。OCI関数では、シークレットの自動ローテーションによって、資格証明を簡単にローテーションし、ローテーション・プロセスの一部としてコードを実行できます。自動化シークレット・ローテーション機能は、手動で作成したシークレットにも使用できます。
自動シークレット・ローテーションを使用する利点
- セキュリティの強化: シークレットを定期的に更新すると、漏洩した資格証明によるデータ侵害の影響が最小限に抑えられます。
- 運用効率: シークレットの作成、回転などの手動タスクを自動化することで、時間と効率が節約されます。
- 規制コンプライアンス: 秘密のローテーションと自動化のコンプライアンスを規制する多くの基準に準拠します。
- 人的ミスの削減: 反復的なタスクを自動化することで、人的ミスの可能性が軽減され、セキュリティが強化されます。
シークレット生成
パスフレーズ、SSHキーおよびバイトのシークレットを生成できます。OCI Vaultが生成するすべてのシークレットは、FIPSおよびセキュリティに準拠しています。OCIコンソール、APIまたはCLIを使用してシークレットを生成できます。シークレットを生成する場合は、シークレット・コンテキストを指定し、シークレット・テンプレートを定義する必要があります。シークレット・コンテキストは、シークレットのシークレット・タイプおよび構造を定義します。選択したシークレット・タイプに基づいて、Vaultでは様々なシークレット生成テンプレートがサポートされます。
PASSPHRASE
: 最大32文字の長さのパスワードを生成します。OCI Databaseサービスのデフォルト・パスワードの場合、最大文字長は30です。SSH_KEY
: 長さ2048、3072および4096のRSAキー・ペアを生成します。秘密キーはPKCS#8 PEM形式で格納され、公開キーはX.509 PEM形式で格納されます。BYTES
: FIPS苦情バイナリ・シークレットである512および1024バイトを生成します。これらのバイトはbase64コードです。
シークレット・タイプおよびデフォルト・テンプレート
PASSPHRASE
- サポートされているテンプレート:
SECRETS_DEFAULT_PASSWORD
およびDBAAS_DEFAULT_PASSWORD
- シークレット・テンプレートのプレースホルダ:
%GENERATED_PASSPHRASE%
- 例:
{"user": "abc", "pwd": "%GENERATED_PASSPHRASE%"}
- サポートされているテンプレート:
-
SSH_KEY
- サポートされているテンプレート:
RSA_2048
、RSA_3072
、RSA_4096
- シークレット・テンプレートのプレースホルダ:
%GENERATED_PUBLIC_KEY%
、%GENERATED_PRIVATE_KEY%
- 例:
{"publicKey": "%GENERATED_PRIVATE_KEY%", "privateKey": "%GENERATED_PRIVATE_KEY%"} → {"publicKey": "-----BEGIN PUBLIC KEY-----\nBase64 encoded public key\n-----END PUBLIC KEY-----", "privateKey":"-----BEGIN PRIVATE KEY-----\nBase64 encoded private key\n-----END PRIVATE KEY-----"}
- サポートされているテンプレート:
BYTES
- サポートされているテンプレート:
BYTES_512
、BYTES_1024
- シークレット・テンプレートのプレースホルダ:
%GENERATED_BYTES%
- 例:
{"host": "abc", "hostLuksKey": "%GENERATED_BYTES%"} → {"host": "abc", "hostLuksKey": "generatedbyteshere=="}
- サポートされているテンプレート:
シークレット・バージョンおよびローテーション状態
ボールト・シークレット・バージョン、ローテーション状態およびシークレット・バージョン制限の影響について学習します。
ボールト・シークレット・バージョンおよびローテーション状態について理解すると、制限、ローテーション、その他のルール、または規制への準拠を維持するためにシークレット・コンテンツをトラッキングおよび管理するのに役立ちます。
シークレット・バージョンおよびローテーション状態を含む、シークレットの概念の基本的な定義については、キーおよびシークレット管理の概念を参照してください。プライベート・バージョンの作業の詳細は、Vaultシークレットの管理を参照してください。
ローテーション状態
シークレット・バージョンは、一度に複数のローテーション状態になることができます。存在するシークレット・バージョンが1つのみの場合(シークレットを初めて作成したときなど)、そのシークレット・バージョンには自動的に「現在」と「最新」の両方のマークが付きます。シークレットをトラッキングできるように、シークレットの「最新」バージョンには、最後にボールトにアップロードされたシークレット・コンテンツが含まれます。
シークレットをローテーションして新しいシークレット・コンテンツをアップロードするときは、そのシークレットを「保留中」としてマークできます。シークレット・バージョンのローテーション状態を「保留中」としてマークすると、シークレット・コンテンツを今すぐアクティブに使用せずにボールトにアップロードできます。保留中のシークレット・バージョンを「現在」ステータスにプロモートする準備ができるまで、「現在」のシークレット・バージョンを使用し続けることができます。通常、最初にターゲット・リソースまたはサービス上で資格証明をローテーションした後でこれを行います。意図せずシークレット・バージョンを変更することを避ける必要があります。「現在」のシークレット・バージョンを変更すると、それを必要とするアプリケーションが期待されるシークレット・バージョンをボールトから取得できなくなります。
シークレット・コンテンツの更新で間違いがあった場合や、古いリソースのバックアップをリストアしたときに古いシークレット・コンテンツを使用して再開する場合などに、以前のバージョンに簡単にロールバックできるように、シークレット・バージョンを「前」としてマークすることもできます。「前」としてマークされるシークレット・バージョンは、以前に「現在」としてマークされていたシークレット・バージョンです。以前のバージョンにロールバックするには、シークレットを更新して、目的のシークレット・バージョン番号を指定します。
シークレット・バージョンが削除されていないかぎり、シークレットを更新して、その過去のシークレット・バージョンを使用できます。シークレットを更新すると、選択したシークレット・バージョン番号が「現在」としてマークされます。これは、シークレット・バージョンを「現在」にプロモートするのと同じ結果になります。
削除できるのは、「非推奨」としてマークされているシークレット・バージョンのみです。非推奨のシークレット・バージョンとは、「現在」、「保留中」、「前」のいずれとしてもマークされていないものです。これにより、削除したシークレット・バージョンが後で必要になるような状況(たとえば、以前にバックアップしたデータベースをリストアする場合)を回避できます。「非推奨」以外のマークが付いたシークレット・バージョンは、「現在」としてマークすることで再びアクティブに使用できます。
バージョン制限
シークレット・バージョンの制限は、使用中のシークレット・バージョンと非推奨のバージョン(削除がスケジュールされているバージョンを含む)の両方に適用されます。特定のシークレットのバージョンの数、およびテナンシ内のシークレット・バージョンの数の制限の詳細は、サービスの制限を参照してください。
開始する前に
開始する前に、まずシークレット・ルールおよびシークレット・バージョンおよびローテーション状態を読んで、ルール、シークレット・バージョンおよびシークレット・バージョン・ローテーション状態の作業の意味をよく理解することをお薦めします。
必須IAMポリシー
Oracle Cloud Infrastructureを使用するには、管理者がテナンシ管理者によってポリシーでセキュリティ・アクセス権が付与されたグループのメンバーである必要があります。コンソールまたは(SDK、CLIまたはその他のツールを使用した) REST APIのどれを使用しているかにかかわらず、このアクセス権が必要です。権限がない、または認可されていないというメッセージが表示された場合は、どのタイプのアクセス権があり、どのコンパートメントでアクセスが機能するかをテナンシ管理者に確認してください。
管理者向け:
- セキュリティ管理者によるボールト、キーおよびシークレットの管理のポリシーを使用すると、指定したグループは、ボールト、キーおよびシークレットに関するすべての操作を実行できます。
- 暗号化キーを有効にするポリシーの作成ポリシーにより、指定したグループは特定のボールト内のシークレットですべてを実行できます。
- ユーザーによるすべてのシークレットの読取り、更新およびローテーションのポリシーを使用すると、指定したグループは、テナンシの任意のボールト内のすべてのシークレットの読取り、更新およびローテーションを行うことができます。
- 権限の詳細、またはシークレットのより詳細なポリシーを記述する方法については、ボールト・サービスの詳細を参照してください。
ポリシーを初めて使用する場合は、アイデンティティ・ドメインの管理および共通ポリシーを参照してください。
リソースのタグ付け
リソースにタグを適用すると、ビジネス・ニーズに応じてそれらを整理しやすくなります。リソースの作成時にタグを適用するか、後でリソースを必要なタグで更新します。タグ適用についての一般情報は、リソース・タグを参照してください。
リソースのモニタリング
別のコンパートメントへのリソースの移動
シークレットはコンパートメント間で移動できます。シークレットを新しいコンパートメントに移動した後、コンパートメントに構成されたポリシーは即座に適用され、シークレットおよびシークレット・バージョンへのアクセスに影響します。シークレットを移動しても、シークレットに関連付けられているボールトへのアクセスには影響しません。同様に、ボールトは、そのシークレットの移動とは別に、コンパートメント間で移動できます。詳細は、コンパートメントの管理を参照してください。