このトピックでは、ある Alibaba Cloud アカウントから別のアカウントに Key Management Service (KMS) インスタンスを共有し、Data Security Center (DSC) の一元的なマルチアカウント管理機能を使用して RDS MySQL 資産を同期し、機密データ検出タスクを実行し、KMS キーに基づいて列レベルの暗号化を設定する方法について説明します。このソリューションにより、複数のアカウントにまたがる一元的なキー管理と統合的なデータセキュリティガバナンスを実現します。
利用シーン
次の要件を満たす企業に、このソリューションを推奨します。
複数の Alibaba Cloud アカウントを管理しており、すべてのアカウントにまたがるキー管理のために一元的な KMS インスタンスが必要です。
単一の管理アカウントで、DSC を通じてメンバーアカウントの RDS MySQL データ資産を管理したいと考えています。
メンバーアカウントの RDS MySQL インスタンスにオンザフライ暗号化を設定するには、KMS キー 暗号化方式を使用する必要があります。
このソリューションには、2つの独立した設定パスが含まれます。
KMS 共有パス:ビジネスアカウントが他のアカウントの KMS インスタンスのキーの機能を使用できるようにします。
DSC マルチアカウント管理パス:管理アカウントが DSC を通じてビジネスアカウントの RDS 資産を検出、スキャンし、ガバナンスを実施できるようにします。
Data Security Center コンソールでビジネスアカウントの RDS MySQL インスタンスに対して KMS キー に基づく オンザフライ暗号化 を有効にするには、両方のパスを完全に設定する必要があります。
アカウントの役割
このソリューションには、3つのアカウントの役割が含まれます。
役割 | アカウント | 責任 |
中央管理アカウント | A | データセキュリティセンターを介してメンバーアカウントのデータ資産を管理し、資産同期を実行し、データ分類タスクを実行し、オンザフライ暗号化を設定します |
KMS インスタンス所有者 | B | KMS インスタンスを所有および維持し、Resource Sharing を通じてビジネスアカウントと共有します |
ビジネスリソースアカウント | C | オンザフライ暗号化をサポートする RDS MySQL インスタンスを所有し、KMS インスタンスのコンシューマーと DSC メンバーアカウントの両方を兼ねます |
アカウント A が Resource Directory の管理アカウントである場合、まず適格なメンバーアカウントを DSC 委任管理者として設定する必要があります。この場合、「アカウント A の DSC コンソール」という記述は、一元管理コンソールまたは DSC 委任管理者アカウントのコンソールのいずれかを指します。
前提条件
開始する前に、次の条件が満たされていることを確認してください。
アカウントと組織
アカウント A、B、および C は同じ Resource Directory に属し、同じ企業の実名認証エンティティを共有していること。
アカウント A が Resource Directory の管理機能を持っているか、または必要に応じて DSC 委任管理者として設定されていること。
KMS リソース
アカウント B がソフトウェア KMS インスタンスまたはハードウェア KMS インスタンスを有効化していること。
DSC リソース
一元管理アカウントは、マルチアカウント管理 をサポートする有料の Data Security Center インスタンスを有効化しました。
アカウント C が DSC メンバーアカウントとして管理可能であり、アカウント C 内のターゲット RDS 資産が DSC からのアクセスを認可されていること。
データベースインスタンス
アカウント C は、オンザフライ暗号化 に対応した RDS MySQL インスタンスを所有しており、そのインスタンスは実行中です。
インスタンスのデータベースバージョン、マイナーエンジンバージョン、ストレージタイプ、およびリージョンが列レベルの暗号化の要件を満たしていること。詳細な要件については、「列レベルの暗号化の設定」をご参照ください。
設定の概要
以下の順序で設定を行います。まず、KMS 共有関係を確立し、次に DSC マルチアカウント管理を設定し、最後にデータセキュリティセンターで資産の同期、検出タスクの実行、オンザフライ暗号化 の設定を行います。
ステップ | アカウント | 説明 |
1. KMS インスタンスの共有 | B | Resource Sharing を通じて KMS インスタンスをアカウント C と共有します |
2. KMS キーの準備 | C | 共有された KMS インスタンスが表示されることを確認し、利用可能な対称キーを準備します |
3. マルチアカウント管理の設定 | A | DSC を通じてアカウント C をメンバーアカウントとして追加します |
4. RDS 資産の同期 | A | DSC を通じてアカウント C から RDS 資産を同期します |
5. 検出タスクの実行 | A | ターゲットデータベースで機密データ検出タスクを実行します |
6. 列レベルの暗号化の設定 | A | オンザフライ暗号化 を設定するには、KMS キー を選択します。 |
列レベルの暗号化用 KMS キーの準備
操作アカウント:C (ビジネスリソースアカウント)
アカウント C として KMS コンソールにログインし、[Instances] ページに移動して、共有されている KMS インスタンスが表示されていることを確認します。
共有されている KMS インスタンスを開き、利用可能な対称キーを作成または確認します。列レベルの暗号化には対称キータイプが必要です。
後続の操作を実行する RAM アイデンティティに必要な KMS 権限を準備します。 少なくとも、
kms:Encryptとkms:Decryptの権限を付与します。
企業が一元的なキー管理を必要とする場合、共有モードが独立所有権か共同所有権かを確認してください。
DSC マルチアカウント管理の設定
操作アカウント:A (中央管理アカウント) または DSC 委任管理者
「マルチアカウント管理機能の使用」に従って、Resource Directory、信頼されたサービス、委任管理者、およびメンバーアカウントを設定します。
データセキュリティセンターコンソールにログオンします。左側のナビゲーションペインで、マルチアカウント管理 をクリックします。
マルチアカウント管理が有効化されていない場合は、マルチアカウント管理の有効化 をクリックします。
メンバーアカウントの追加 をクリックします。 表示されるパネルで、左側の インポート可能なメンバーアカウント リストからアカウント C を選択し、右側の 選択済みのメンバーアカウント リストに移動して、[OK] をクリックします。
アカウント A が Resource Directory の管理アカウントである場合、まず適格なメンバーアカウントを DSC 委任管理者として設定する必要があります。すでに DSC インスタンスを購入しているメンバーアカウントは、通常、管理対象メンバーアカウントとして追加されません。アカウントの計画については、公式ドキュメントの制約事項をご参照ください。
RDS 資産の同期
操作アカウント:A (中央管理アカウント) または DSC 委任管理者
DSC コンソールにログインし、DSC がクラウドリソースにアクセスするための認可を完了します。
左側のナビゲーションペインで、アセットセンター をクリックして アセットの権限付与 ページに移動します。
資産同期 をクリックし、システムがデータ同期を完了するまで待ちます。同期中、ページに「データ同期中です。後でページを更新してください。」というメッセージが表示されます。
構造化データ資産リストを確認し、アカウント C のターゲット RDS MySQL インスタンスがリストに表示されることを確認します。
データセキュリティセンターを初めて有効化すると、システムは自動的にクラウドアセットを同期します。 メンバーアカウントを追加したばかりの場合、またはインスタンスのステータスを変更した場合は、手動で 資産同期 を実行することをお勧めします。 インスタンスが表示されない場合は、DSC メンバーアカウントの関係、Resource Directory の関係、RDS リージョン、およびインスタンスの実行ステータスを確認してください。
機密データ検出タスクの実行
操作アカウント:A (中央管理アカウント) または DSC 委任管理者
アセットセンター に移動し、対象の RDS MySQL インスタンスを選択して、データベース接続を承認します。ワンクリック接続とユーザー名とパスワードによる接続の両方がサポートされています。
接続が成功したら、データベース接続管理を通じてデータ分類を有効化します。
センシティブデータ検出タスクを実行します。検出タスクが完了した後にのみ、データセキュリティセンターは オンザフライ暗号化 ページに管理可能なデータベース、テーブル、列を表示できます。
最新のデータを継続的にスキャンするには、データセキュリティセンターが検出タスクに使用するデータベースアカウントをプレーンテキスト権限アカウントに設定します。
スキャン用のシステムデフォルトタスクを自動的に作成することを選択した場合、[データ分類] > [タスク管理] > [検出タスク] に移動してスキャンの進行状況を確認できます。
列レベルの暗号化の設定
操作アカウント:A (中央管理アカウント) または DSC 委任管理者
Data Security Center コンソールにログオンします。[リスクガバナンス] > オンザフライ暗号化 に移動します。
ターゲット RDS MySQL インスタンスの 暗号化チェック ステータスが「合格」と表示されていることを確認してください。表示されていない場合は、プロンプトに従ってデータベースのバージョン、マイナーエンジンバージョン、ストレージタイプ、またはインスタンスのステータスに必要な修正を行い、資産同期 を再度実行してください。
ワンクリック暗号化 をクリックして暗号化設定パネルを開き、次のパラメーターを設定します。
パラメータ
説明
Asset type
ターゲット RDS MySQL インスタンスの資産タイプを選択します。
Region
ターゲットインスタンスがデプロイされているリージョンを選択します。
Instance name
オンザフライ暗号化 を設定する RDS MySQL インスタンスを選択します。
[暗号化アルゴリズム]
暗号化アルゴリズムを選択します。
[暗号化方式]
KMS キーを選択します。KMS キー 暗号化方式は、RDS MySQL インスタンスでのみサポートされています。
[KMS キー]
オンザフライ暗号化 に使用する KMS 対称キーを選択します。リストには、有効な状態のキーが表示されます。キーが作成されていない場合、「KMS キーが検出されませんでした。」というプロンプトが表示されます。この場合、まず KMS コンソールで対称キーを作成してください。
[プレーンテキスト権限アカウント]
暗号化された列で平文データを表示できるデータベースアカウントを1つ以上選択します。ここで選択されていないアカウントは、暗号化された列に対して暗号文のみのアクセス権を持ちます。
暗号化対象のデータベース、テーブル、および列を選択し、[Submit] をクリックします。
送信する前に暗号化方式を確認してください。後から暗号化方式を変更すると、暗号化タスクが再起動され、その間に暗号化された列データが平文形式で保存される可能性があります。
設定の検証
設定が完了したら、次の項目を検証します。
KMS の検証
アカウント C の KMS コンソールに、アカウント B から共有されている KMS インスタンスが表示されること。
オンザフライ暗号化 に使用される共通鍵が存在し、関連する RAM ID が必要な KMS 権限を有しています。
DSC の検証
アカウント C が中央管理アカウントによって DSC メンバーアカウントとして管理されていること。
アカウント C のターゲット RDS MySQL インスタンスは、アセットセンターで表示されます。
スキャンの検証
ターゲットデータベースで接続の認可とデータ分類検出タスクが完了していること。
オンザフライ暗号化 ページには、対象のデータベース、テーブル、列、および機密レベル情報が表示されます。
暗号化の検証
設定を送信すると、ターゲットインスタンスの暗号化チェックが「合格」と表示され、オンザフライ暗号化のステータスが「暗号化済み」に更新されます。
異なる権限レベルのアカウントで暗号化された列にアクセスし、返される結果がプレーンテキスト権限アカウントまたは暗号文権限の期待される動作と一致することを確認します。
アカウント間の制約とリスク
項目 | 説明 |
アカウント関係 | KMS インスタンス共有と DSC の マルチアカウント管理 は、どちらもリソースディレクトリの関係と同一の企業実名認証エンティティに依存します。アカウントが同じ組織にない場合は、まずリソースディレクトリの管理を完了してください。 |
KMS と DSC の関係 | KMS インスタンスを共有しても、RDS 資産が DSC に自動的に同期されるわけではありません。同様に、アカウント C を DSC に追加しても、KMS の共有が自動的に完了するわけではありません。両方のパスを個別に設定する必要があります。 |
前提条件:暗号化前に検出を実行 | オンザフライ暗号化 を設定する前に、対象のデータベースで DSC の承認アクセス、資産同期、および機密データ検出タスクを完了している必要があります。 そうでない場合、オンザフライ暗号化 ページに設定可能な列が表示されない場合があります。 |
[KMS キー] 暗号化モード | Before selecting [KMS キー] as the [暗号化方式], prepare an available KMS symmetric key and confirm that the RDS MySQL version, minor engine version, storage type, and region meet the official restrictions. |
[プレーンテキスト権限アカウント] | 列の暗号化を設定すると、ホワイトリストに追加されていないアカウントは、暗号文のみの権限で暗号化された列にアクセスします。データセキュリティセンターがデータ分類のために引き続き最新のデータベースデータを読み取る必要がある場合は、DSC で使用されるデータベースアカウントをプレーンテキスト権限アカウントとして設定します。 |
変更リスク | 列暗号化の設定後は、暗号化方式 を変更しないでください。変更するとタスクの再起動がトリガーされ、再起動中に暗号化された列データが平文で保存される可能性があります。 |