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

Datastream は Secret Manager と統合されているため、ソース データベースのパスワードなどの機密性の高い認証情報を保存して管理できます。接続プロファイルに書式なしテキストのパスワードを入力する代わりに、シークレット バージョンを参照して、Datastream サービス アカウントにアクセス権を付与できます。

シークレットとは

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

シークレットにはシークレット バージョンもあります。シークレット バージョンには、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 ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

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