Secret Manager を使用して機密データを保存する

Datastream は Secret Manager と統合されているため、ソース データベースのパスワードなどの認証リソースを安全に保存できます。接続プロファイルを作成するときにプレーン テキストのパスワードを使用するのではなく、シークレットを作成して使用します。

シークレットとは

シークレットは、ラベル、アノテーション、権限などのメタデータを含むグローバル リソースです。

シークレットにはシークレット バージョンもあります。シークレット バージョンには、API キー、パスワード、証明書などのシークレット リソースの実際のデータが保存されます。各バージョンには一意の識別子またはタイムスタンプがあります。

シークレットと暗号鍵の違い

シークレットの管理は暗号鍵の管理と同様に重要ですが、データ セキュリティの異なる領域に重点を置いています。ユースケースと保存する機密情報の種類に応じて、どちらか一方を使用します。

通常は、機密データをバイナリ blob またはテキスト文字列として安全に保存して管理するために、シークレットを選択します。シークレットには実際のデータが保存されますが、アクセスするには、シークレット メタデータで定義された特定の権限が必要です。

一方、データの暗号化または復号が必要な場合は、暗号鍵が適しています。暗号化に使用される実際の暗号データは表示または抽出できません。Cloud Key Management Service などの鍵管理システムは、通常、データベース内の行、画像、ファイルなどの暗号化など、より要求の厳しいシナリオを管理するために使用されます。

データに追加の保護レイヤが必要な場合は、顧客管理の暗号鍵(CMEK)を有効にして、Cloud Key Management Service に保存されている独自の暗号鍵を使用して、Secret Manager のシークレットを保護できます。Datastream で CMEK を使用する方法の詳細については、顧客管理の暗号鍵(CMEK)を使用するをご覧ください。

Datastream で Secret Manager を使用する

Datastream で使用する機密データを保存するには、Secret Manager を使用してシークレットを作成する必要があります。詳細については、シークレットを作成するをご覧ください。

接続プロファイルの接続の詳細を定義するときに、シークレットを作成することもできます。詳細については、接続プロファイルを作成するをご覧ください。

必要なロール

Datastream で Secret Manager を使用するために必要な権限を取得するには、Datastream サービス アカウントに対する Secret Manager のシークレット アクセサー roles/secretmanager.secretAccessor)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。