本記事では、クラウドベンダーアカウントの紐づけとKMS認可の方法について説明します。
背景
OceanBase Cloudでは、インスタンスをクラウドベンダーのアカウント情報に紐づけることで、クラウドベンダーが提供するカスタムキーを取得し、データ暗号化に利用してセキュリティを強化できます。
注意事項
- クラウドベンダーアカウントの認可機能は、OceanBaseデータベースV4.3.5以降のバージョンでのみサポートされています。
- 現在対応しているクラウドベンダーは、Huawei Cloud、AWS、およびAlibaba Cloudの自社チャネルのインスタンスです。
アカウント権限付与
OB Cloudのクロスアカウントアクセスロールを作成します。
Alibaba CloudのRAMアクセス制御 > アイデンティティ管理 > ロールで新しいロールを作成します。以下の設定に注意してください:

エディターの切り替えをクリックします。
効果で**許可する**を選択します。
主体タイプでクラウドアカウントを選択し、**編集**をクリックします。
クラウドアカウントでその他のクラウドアカウントを選択し、OB Cloudが提供するメインアカウント(インスタンスが自動生成)を入力します。
身分証明タイプでRAMユーザーを選択し、OB Cloudが提供するRAMユーザー名(インスタンスが自動生成)を入力します。
説明
OB Cloudが提供するメインアカウントとRAMユーザー名は、セキュリティ設定 > TDE透過的データ暗号化 > Alibaba Cloudアカウントの権限付与を表示で確認できます。

KMSアクセス権限を設定します。
説明
初回設定時は、指定された権限ポリシーを作成する必要があります。同じポリシーが既に存在する場合は、最初の手順をスキップできます。
カスタムKMS権限ポリシーを作成します。
RAMアクセス制御ページで、左側のナビゲーションバーの権限管理 > 権限ポリシーをクリックします。
権限ポリシーページで、権限ポリシーの作成をクリックします。
可視化編集タブで、以下の設定を選択します:
オプション説明効果 許可 サービス キーマネジメントサービス 操作 指定操作を選択し、以下の権限を選択します: - kms:ListKeys
- kms:ListAliases
- kms:ListAliasesByKeyId
- kms:DescribeKey
- kms:Encrypt
- kms:Decrypt
- kms:GenerateDataKey
リソース デフォルトでは**すべてのリソース**が選択されています。特定のKMSリソースのみをOceanBaseのアクセスに開放したい場合は、指定リソースを選択できます。 **OK**をクリックして作成を完了します。作成後の権限ポリシーは以下のとおりです:
RAMユーザーにKMSキーの権限を設定します。
左側のナビゲーションペインで、アイデンティティ管理 > ロール をクリックします。
上記で作成したロール名をクリックし、ロールの詳細ページに移動します。
新規権限付与 をクリックし、以下の設定を入力します。
選択肢説明リソース範囲 権限付与主体は自動的に入力されるため、変更は不要です。 権限ポリシー ステップ1で作成したカスタムポリシーを選択します。 権限付与が完了すると、状態は次のとおりになります:
アリババクラウドRAMユーザーの詳細からARN情報を取得します。
権限検証。
OB Cloudクラウドデータベースコンソールにログインします。
左側のナビゲーションペインでクラスターリストをクリックし、対象クラスターを選択してクラスターワークスペースページに移動します。
左側のナビゲーションペインで**セキュリティ**をクリックします。
セキュリティ設定画面で、**透過的データ暗号化(TDE)**タブをクリックします。
**Alibaba Cloudアカウント認証を表示**をクリックします。
ARNに、アリババクラウドRAMユーザーの詳細から取得したARN情報を入力し、**完了**をクリックします。

OB Cloudのクロスアカウントアクセスユーザーと委任を作成します。
Huawei Cloudの統一認証サービスIAM > 委任で新しい委任を作成します。以下の設定に注意してください:
**委任タイプで、通常アカウント**を選択します。
**委任されるアカウント**に、OB Cloudが提供するメインアカウントを入力します(現在のインスタンスは結果を自動取得します)。
説明
OB Cloudが提供するマスターアカウントは、セキュリティ設定 > TDE 透過的データ暗号化 > Huawei Cloudアカウントの認可を表示で確認できます。
KMSアクセス権限を設定します。
説明
初回設定時には、指定された権限ポリシーを作成する必要があります。同じポリシーが既に存在する場合は、最初の手順をスキップできます。
カスタムポリシーを作成します。
統一アイデンティティ認証サービスIAM管理ページで、左側のナビゲーションバーの権限管理 > 権限をクリックします。
権限ポリシーページの右上隅で、カスタムポリシーの作成をクリックします。
ポリシー名を入力した後、視覚化ビューのタブで、以下の設定を選択します:
項目説明効果 を許可する サービス データ暗号化サービス 操作 以下の権限を選択: - kms:cmk:get(キー情報のクエリ)
- kms:cmk:list(キーのリストのクエリ)
- kms:dek:create(データキーの作成)
- kms:dek:encrypt(データキーの暗号化)
- kms:dek:decrypt(データキーの復号化)
リソース デフォルトではすべてのリソースが選択されています。OceanBaseがアクセスできるように特定のKMSリソースのみを許可したい場合は、特定のリソースを選択できます。 **わかりました**をクリックして、作成を完了します。
委譲に対するKMSキー権限を設定します。
左側のナビゲーションペインで、委譲をクリックします。
委譲リストで、対象の委譲の**操作列の承認する**をクリックします。
認可ページで、最初のステップで作成したポリシーを選択し、**次へ**をクリックします。
最小認可範囲を設定した後、**わかりました**をクリックします。
統一アイデンティティ認証サービスIAM委譲詳細からURN情報を取得します。
認可検証を行います。
OB Cloudクラウドデータベースコンソールにログインします。
左側のナビゲーションペインでクラスターリストをクリックし、対象のクラスターを選択して、クラスターワークスペースページに移動します。
左側のナビゲーションペインで**セキュリティ設定**をクリックします。
セキュリティ設定画面で、**透過的データ暗号化(TDE)**タブをクリックします。
Huawei Cloudアカウント認証を表示 をクリックします。
URNにIAM委任の詳細で取得したURN情報を入力し、**完了**をクリックします。
AWS IAM管理コンソールにログインします。
KMSアクセス権限を設定します。
説明
初回設定時は、指定された権限ポリシーを作成する必要があります。同じポリシーが既に存在する場合は、最初の手順をスキップできます。
カスタムKMS権限ポリシーを作成します。
ポリシー管理ページで、**作成方式**をクリックします。
可視化編集タブで、以下の設定を選択します:
オプション説明サービスの選択 KMS 操作 指定操作を選択し、以下の権限を選択します: - ListAliases
- ListKeys
- DescribeKey
- GenerateDataKey
- Decrypt
- Encrypt
リソース デフォルトではすべてが選択されています。OceanBaseがアクセスできる特定のKMSリソースのみを許可する場合は、指定リソースを選択できます。 **OK**をクリックして、作成を完了します。
IAMロールを作成し、KMSキー権限を設定します。
ロール管理ページで、ロールの作成をクリックします。
カスタム信頼ポリシーを選択した後、以下の設定を入力し、
PrincipalフィールドにOB Cloudが提供するIAMユーザーのARNを挿入します。説明
IAMユーザーのARNは、セキュリティ設定 > TDE透過的データ暗号化 > AWSアカウントの権限付与を表示で確認できます。

{ "Version":"2012-10-17" "Statement":[ { "Effect":"Allow", "Principal":{****}, "Action":"sts:AssumeRole" }] }権限を追加する際に、手順1で作成したカスタム権限ポリシーを選択します。
名前と説明を入力し、OK をクリックします。
AWS IAMロールの詳細からARN情報を取得します。
権限検証。
OceanBase Cloudコンソールにログインします。
左側のナビゲーションペインで クラスターリスト をクリックし、対象クラスタを選択して クラスターワークスペース ページに移動します。
左側のナビゲーションペインで セキュリティ をクリックします。
セキュリティ設定画面で、透過的データ暗号化(TDE) タブをクリックします。
AWSアカウント認証を表示 をクリックします。
ARNに、AWS IAMロールの詳細で取得したARN情報を入力し、完了 をクリックします。

Tencent Cloudのアクセス管理 > ポリシーにログインします。
KMSアクセス権限を設定します。
説明
初回設定時は、指定された権限ポリシーを作成する必要があります。同じポリシーが既に存在する場合は、最初の手順をスキップできます。
KMSアクセス権限ポリシーを作成します。
ポリシー管理ページで、新規カスタムポリシー > ポリシージェネレーターによる作成 をクリックします。
可視化編集タブで、以下の設定を選択します:
選択肢説明サービスの選択 キーマネジメントシステム (KMS) 操作 指定操作 を選択し、以下の権限を選択します: - ListKeys
- ListKeyDetail
- DescribeKey
- GenerateDataKey
- Encrypt
- Decrypt
リソース デフォルトでは すべてのリソース が選択されています。OceanBaseがアクセスできる特定のKMSリソースのみを許可する場合は、特定のリソース を選択できます。 次へ をクリックします。
ポリシー名と説明を入力し、完了 をクリックします。
[アクセス管理] > ロールでCAMロールを作成し、指定したポリシーを設定します。
ロール管理ページで、新規ロール > テンセントクラウドアカウント をクリックします。
ロールの情報を入力し、以下の設定を行います:
項目説明クラウドアカウントタイプ その他のプライマリアカウント を選択します。 アカウントID OB Cloudが提供するテンセントクラウドアカウントを入力します。 説明
OB Cloudが提供するプライマリアカウントは、セキュリティ設定 > TDE透過的データ暗号化 > テンセントクラウドアカウントの認可を表示で確認できます。
ロールポリシーを設定し、手順1で作成したカスタムポリシーを選択します。
ロールタグを設定し、必要に応じて構成します。
レビューし、ロール名と説明を設定して、**完了**をクリックします。
ロールの作成が完了したら、ロールの詳細からRoleArnを取得します。
権限検証を行います。
OB Cloudクラウドデータベースコンソールにログインします。
左側のナビゲーションペインでクラスターリストをクリックし、対象のクラスターを選択して、クラスターワークスペースページに移動します。
左側のナビゲーションペインで**セキュリティ**をクリックします。
セキュリティ設定画面で、**透過的データ暗号化(TDE)**タブをクリックします。
**Tencent Cloudアカウント認証**をクリックします。
テンセントクラウドCAMロールの詳細で取得したRoleArn情報を入力し、**完了**をクリックします。
