Data Management (DMS) は、ApsaraDB RDSシークレットの統合をサポートしています。 DMSがApsaraDB RDSインスタンス上のデータベース (以下、ApsaraDB RDSデータベース) にログインする必要がある場合、DMSは関連するApsaraDB RDSシークレットをKey Management Service (KMS) からリアルタイムで取得できます。 このトピックでは、ApsaraDB RDSシークレットを使用してApsaraDB RDSデータベースにログインするようにDMSを設定する方法について説明します。
説明
Data Management (DMS) を使用してデータアセットを管理し、ApsaraDB RDSのデータベースを開発する前に、ApsaraDB RDSデータベースをDMSに登録する必要があります。 登録プロセス中に、DMSのApsaraDB RDSデータベースのアカウントを設定して、データベースにログインする必要があります。
DMSでApsaraDB RDSデータベースのアカウントを入力できます。 KMSシークレットをDMSに統合することもできます。 これにより、ApsaraDB RDSシークレットを使用して、ApsaraDB RDSデータベースのアカウントを保存できます。 DMSは、関連付けられたApsaraDB RDSシークレットを使用してデータベースにログインします。 DMSがApsaraDB RDSデータベースにログインすると、DMSは関連するApsaraDB RDSシークレットをKMSからリアルタイムで取得します。 プロセスの詳細を次の図に示します。
シークレット管理者は、ApsaraDB RDSデータベースのApsaraDB RDSシークレットをKMSで作成します。
DMS管理者がApsaraDB RDSデータベースをDMSに登録すると、DMS管理者は、ApsaraDB RDSシークレットを使用してApsaraDB RDSデータベースにログインするようにDMSを設定します。
DMS管理者は、ApsaraDB RDSデータベースへの接続リクエストを開始します。
DMSは、KMSのListSecretsおよびGetSecretValue操作を呼び出して、KMSからApsaraDB RDSシークレットをリアルタイムで取得します。
DMSはApsaraDB RDSシークレットを使用してApsaraDB RDSデータベースにログインします。
ApsaraDB RDSシークレットをDMSに統合する利点
ApsaraDB RDSシークレットはDMSに統合され、データベースのセキュリティを向上させ、データベースアカウントへの安全なアクセスを確保します。
ApsaraDB RDSシークレットは暗号化されてKMSに保存されるため、平文データベースアカウントの公開が減り、セキュリティが向上します。
KMSでApsaraDB RDSシークレットの自動ローテーションを設定して、データベースアカウントのパスワードを定期的に更新できます。 これにより、長期間にわたってパスワードを変更しないことから生じる可能性のあるセキュリティリスクが軽減されます。
説明DMSは、ステージラベルがACSCurrentであるシークレット値をKMSからリアルタイムで取得します。 自動ローテーションを設定した場合、操作はApsaraDB RDSデータベースへの接続には影響しません。 ローテーションの詳細については、「ApsaraDB RDSシークレットの管理と使用」および「概要」をご参照ください。
KMSはActionTrailをサポートしており、ApsaraDB RDSシークレットへのすべてのアクセスリクエストを記録できます。 これにより、その後の監査と追跡、および異常な動作の迅速な識別が容易になります。
使用上の注意
ApsaraDB RDSシークレットをDMSに統合するには、KMSインスタンスを購入する必要があります。 KMSの課金と選択の詳細については、「課金」と「概要」をご参照ください。
KMSは、ApsaraDB RDS for MySQL、ApsaraDB RDS for MariaDB、ApsaraDB RDS for SQL Server、およびApsaraDB RDS for PostgreSQLのApsaraDB RDSインスタンスをサポートしています。 KMSは、SQL Server 2017 EEを実行するApsaraDB RDS for SQL Serverインスタンスをサポートしていません。
ApsaraDB RDSシークレットは自動的にローテーションされ、シークレットのパスワードが更新されます。 ApsaraDB RDSシークレットがKMSで管理されている場合、手動でアカウントを入力するのではなく、ApsaraDB RDSシークレットを使用してデータベースにログインするようにDMSを設定することをお勧めします。 これにより、パスワードの変更によるApsaraDB RDSデータベースへのログインの失敗を防ぎます。
KMSからApsaraDB RDSシークレットを削除する前に、DMSがApsaraDB RDSシークレットを使用しないことを確認してください。 使用状況レコードのクエリ方法の詳細については、「キーとシークレットの使用状況レコードのクエリ」をご参照ください。
前提条件
KMSインスタンスが購入され、有効化されています。 詳細については、「KMSインスタンスの購入と有効化」をご参照ください。
対称キーが作成されます。これは、ApsaraDB RDSシークレットを作成するときにApsaraDB RDSシークレットを暗号化するために使用されます。 詳細については、「キーの管理」をご参照ください。
手順1: KMSでのApsaraDB RDSシークレットの作成
KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。
資格情報管理 ページで、データベース資格情報 をクリックし、インスタンス管理 ドロップダウンリストから管理するKMSインスタンスのIDを選択し、
を選択します。 次に、パラメーターを設定し、[OK] をクリックします。パラメーター
説明
データベースタイプ
作成するデータベースシークレットの種類。 ApsaraDB RDS 資格情報 を選択します。
資格情報名
秘密の名前。 シークレット名は現在のリージョン内で一意です。
ApsaraDB RDS インスタンス
Alibaba Cloudアカウント内で管理する既存のApsaraDB RDSインスタンス。
アカウント管理
デュアルアカウント管理 (推奨): このモードは、アプリケーションがApsaraDB RDSインスタンスにアクセスするためにシークレットを使用するシナリオに適しています。 このモードでは、KMSは同じ権限を持つ2つのアカウントを管理します。 このモードでは、シークレットのローテーション時にアプリケーションとApsaraDB RDSインスタンス間の接続が中断されないようにします。
アカウントを作成 タブをクリックし、ユーザー名のプレフィックスを指定し、データベースを選択してから権限を指定します。
説明KMSはすぐにアカウントを作成しません。 KMSは、秘密情報を確認して確認した後にアカウントを作成します。
存在するアカウントをインポート タブをクリックし、ユーザー名を選択して、ユーザー名のパスワードを指定します。
説明ApsaraDB RDSインスタンスの作成時にアカウントに指定したパスワードと同じパスワードを指定することを推奨します。 ユーザー名と指定されたパスワードが一致しない場合は、シークレットが最初にローテーションされたときに有効なユーザー名とパスワードを取得できます。
シングルアカウント管理: このモードは、特権アカウントまたは手動O&Mアカウントが管理されるシナリオに適しています。 このモードでは、秘密が回転されるとき、秘密の現在のバージョンは一時的に利用不可能であり得る。
アカウントを作成 タブをクリックし、ユーザー名のプレフィックスを指定して、アカウントタイプを選択します。
[アカウントタイプ] パラメーターとして、標準アカウント または 特権アカウント を選択できます。 標準アカウント を選択した場合、データベースを選択し、アカウントの権限を指定する必要があります。
存在するアカウントをインポート タブをクリックしてユーザー名を選択し、ユーザー名のパスワードを指定します。
CMK
シークレットの現在の値を暗号化するために使用されるキー。
重要キーとシークレットは同じKMSインスタンスに属している必要があります。 キーは対称キーである必要があります。 KMSでサポートされている対称キーの詳細については、「キーの種類と仕様」をご参照ください。
RAMユーザーまたはRAMロールの場合は、キーを使用してGenerateDataKey操作を呼び出す権限が必要です。
タグ
シークレットに追加するタグ。 タグを使用して、シークレットを分類および管理できます。 タグはキーと値のペアで構成されます。
説明タグキーまたはタグ値の長さは最大128文字で、英数字、スラッシュ (/) 、バックスラッシュ (\) 、アンダースコア (_) 、ハイフン (-) 、ピリオド (.) 、プラス記号 (+) 、等号 (=) 、コロン (:) 、アット記号 (@) 、およびスペースを使用できます。
タグキーをaliyunまたはacs: で始めることはできません。
シークレットごとに最大20個のキーと値のペアを設定できます。
自動ローテーション
自動シークレットローテーションを有効にするかどうかを指定します。
ローテーション期間
自動秘密ローテーションの間隔。 この設定は、自動回転を有効にする場合にのみ必要です。 値の範囲は6時間から365日です。
KMSは、このパラメーターの値に基づいてシークレットを定期的に更新します。
説明
秘密の説明。
ポリシー設定
シークレットのポリシー設定。 詳細については、「Overview」をご参照ください。
デフォルトのポリシーを使用し、シークレットの作成後にビジネス要件に基づいてポリシーを変更できます。
手順2: ApsaraDB RDSデータベースをDMSに登録する
DMSコンソールV5.0にログインします。
DMSコンソールのホームページで、左側のナビゲーションウィンドウの [データベースインスタンス] の横にあるアイコンをクリックします。
説明または、上部のナビゲーションバーで
を選択します。 [インスタンス] ページの [インスタンスリスト] タブで、[新規作成] をクリックします。[インスタンスの追加] ページで、ApsaraDB RDSデータベースが属するApsaraDB RDSインスタンスに関する情報を入力します。
Access modeパラメーターに [KMS Secretでログイン] を選択します。 他のパラメーターを設定する方法の詳細については、「Alibaba Cloudデータベースインスタンスの登録」をご参照ください。
関連ドキュメント
ApsaraDB RDSデータベースのアクセスモードを、アカウントおよびパスワードベースのログインからApsaraDB RDSシークレットベースのログインに変更できます。 詳細については、「データベースインスタンスの変更」をご参照ください。
データベースインスタンスをDMSに登録した後、次の操作を実行できます。
データベースの作成、データベース内でのテーブルの作成、テーブルデータの照会と変更など、データベースインスタンスを管理します。 詳細については、「SQLConsoleタブのデータベースの管理」をご参照ください。
テーブルをロックせずに、テーブル内の大量のデータを変更します。 この操作は、DMSのロックフリーDML機能を使用して実行できます。 詳細については、「ロックフリーDML操作の実行」をご参照ください。
テーブルデータをエクスポートします。 詳細については、「データのエクスポート」をご参照ください。