動的 ApsaraDB RDS シークレットを作成し、スケジュールに従って自動的にローテーションできます。これにより、シークレット漏洩によるセキュリティリスクを低減できます。本トピックでは、Key Management Service (KMS) コンソールで動的 ApsaraDB RDS シークレットを作成、削除、および復元する手順について説明します。
前提条件
- Alibaba Cloud ApsaraDB RDS インスタンスを作成済みである必要があります。詳細については、「ApsaraDB RDS for MySQL インスタンスの作成」をご参照ください。
- シークレットの管理に RAM ユーザーまたは RAM ロールを使用する場合、その RAM ユーザーまたは RAM ロールに AliyunKMSSecretAdminAccess システムポリシーを付与します。このポリシーにより、以下の権限が付与されます:
- Secrets Manager の特徴を使用します。
- ApsaraDB RDS インスタンスの照会およびアカウント管理が可能。
- マネージド ApsaraDB RDS シークレット用のサービスリンクロールを作成します。
動的 ApsaraDB RDS シークレットの作成
- Key Management Service コンソール にログインします。
- ページ左上隅の [リージョン] ドロップダウンリストから、認証情報が格納されているリージョンを選択します。
- 左側のナビゲーションウィンドウで、[シークレット] をクリックします。
- [シークレットの作成] をクリックします。
- [シークレットの作成] ダイアログボックスで、以下のパラメーターを設定し、[次へ] をクリックします。
- シークレットの種類: [管理対象 RDS シークレット] を選択します。
- シークレット名: シークレットの名前を入力します。
- RDS インスタンスの選択: ご利用の Alibaba Cloud アカウント内の既存の ApsaraDB RDS インスタンスを選択します。
- シークレット値の設定: 管理方法を選択し、シークレット値を設定します。
- 二重アカウント管理(推奨): プログラムによるデータベースアクセスに適しています。パスワードリセット中にプログラムによるアクセスが中断されないよう、同じ権限を持つ 2 つのアカウントを管理します。
- [ワンクリック作成と権限付与] タブをクリックします。アカウント名を設定し、データベースを選択して権限を指定します。説明 ワンクリック作成と権限付与機能は、新しいアカウントを即時に構成しません。アカウントは、シークレット情報の確認および承認後に構成されます。
- [既存アカウントのインポート] タブをクリックします。ユーザー名を選択し、パスワードを設定します。説明 パスワードには、ApsaraDB RDS インスタンスのユーザーアカウントに対応するものを設定してください。インポートしたアカウントとパスワードが一致しない場合、シークレットの初回ローテーション後に正しいアカウントおよびパスワードを取得できます。
- [ワンクリック作成と権限付与] タブをクリックします。アカウント名を設定し、データベースを選択して権限を指定します。
- 単一アカウント管理: 特権アカウントまたは運用アカウントの管理に適しています。パスワードをリセットすると、シークレットの現在のバージョンが一時的に利用できなくなる場合があります。
- [ワンクリック作成と権限付与] タブをクリックします。アカウント名を設定し、アカウントタイプを選択します。
[標準アカウント] または [特権アカウント] のいずれかを選択できます。[標準アカウント] を選択した場合は、データベースを選択して権限を指定する必要があります。
- [既存アカウントのインポート] タブをクリックします。ユーザー名を選択し、パスワードを設定します。
- [ワンクリック作成と権限付与] タブをクリックします。アカウント名を設定し、アカウントタイプを選択します。
- 二重アカウント管理(推奨): プログラムによるデータベースアクセスに適しています。パスワードリセット中にプログラムによるアクセスが中断されないよう、同じ権限を持つ 2 つのアカウントを管理します。
- 説明: シークレットの説明を入力します。
- [シークレットの作成] ダイアログボックスで、[自動ローテーションを有効化] を選択し、[ローテーション間隔] を設定して、[次へ] をクリックします。説明 ApsaraDB RDS シークレットの自動ローテーションを実行しない場合は、[自動ローテーションを無効化] を選択します。
- [シークレットの作成] ダイアログボックスで、シークレットの構成内容を確認し、[OK] をクリックします。
- [作成完了] ダイアログボックスで、[閉じる] をクリックします。
動的 ApsaraDB RDS シークレットの削除
動的 ApsaraDB RDS シークレットを削除する前に、そのシークレットがすでに利用されていないことを確認してください。
動的 ApsaraDB RDS シークレットの削除をスケジュールすることも、即時削除することもできます。
- 対象の動的 ApsaraDB RDS シークレットの [操作] 列で、 を選択します。
- [シークレットの削除] ダイアログボックスで、削除方法を選択し、[OK] をクリックします。
- [削除のスケジュール設定] を選択し、[保持期間(7~30 日)] を設定します。保持期間終了後にシステムがシークレットを削除します。
保持期間中は、シークレットを復元することで削除をキャンセルできます。詳細については、「動的 ApsaraDB RDS シークレットの復元」をご参照ください。
- [即時削除] を選択します。システムが即時にシークレットを削除します。
- [削除のスケジュール設定] を選択し、[保持期間(7~30 日)] を設定します。保持期間終了後にシステムがシークレットを削除します。
動的 ApsaraDB RDS シークレットの復元
動的 ApsaraDB RDS シークレットの削除をスケジュール設定した場合、保持期間内にシークレットを復元することで削除をキャンセルできます。シークレットを復元後は、通常通り使用できます。
- 対象の動的 ApsaraDB RDS シークレットの [操作] 列で、 を選択します。
- [シークレットの復元] ダイアログボックスで、[OK] をクリックします。