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

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

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

OceanBase Cloudのクロスアカウントアクセスユーザーと委任を作成します。
Huawei Cloudの[統一認証サービスIAM] > 委任で新しい委任を作成します。以下の設定にご注意ください:
委託タイプ に 一般アカウント を選択します。
委託アカウント に、OceanBase Cloudが提供するマスターアカウントを入力します(現在のインスタンスに対応するアカウント情報は自動的に取得されます)。
説明
OceanBase Cloudが提供するマスターアカウントは、セキュリティ設定 > TDE透過的データ暗号化 > Huawei Cloudアカウントの権限を表示するで確認できます。
KMSアクセス権限を設定します。
説明
初回設定時には、指定された権限ポリシーを作成する必要があります。同じポリシーが既に存在する場合は、最初の手順をスキップできます。
カスタムポリシーを作成します。
統一認証サービスIAMの管理ページで、左側のナビゲーションバーの 権限管理 > 権限 をクリックします。
権限ポリシーページの右上で、カスタムポリシーの作成 をクリックします。
ポリシー名を入力した後、視覚化ビューのタブで、以下の設定を選択します:
オプション説明効果 許可 サービス データ暗号化サービス 操作 以下の権限を選択します: - kms:cmk:get(キー情報のクエリ)
- kms:cmk:list(キー一覧のクエリ)
- kms:dek:create(データキーの作成)
- kms:dek:encrypt(データキーの暗号化)
- kms:dek:decrypt(データキーの復号化)
リソース デフォルトではすべてのリソースが選択されています。OceanBaseがアクセスできるKMSリソースを特定のものに限定したい場合は、特定のリソースを選択します。 OK をクリックして、作成を完了します。
委任にKMSキー権限を設定します。
左側のナビゲーションバーで、委任 をクリックします。
委任リストで、対象の委任の 操作 列の 権限付与 をクリックします。
権限付与ページで、最初のステップで作成したポリシーを選択し、次へ をクリックします。
最小権限範囲を設定した後、OK をクリックします。
統一認証サービスIAM委任の詳細からURN情報を取得します。
権限付与検証を行います。
OceanBase Cloudコンソールにログインします。
左側のナビゲーションバーで クラスターリスト をクリックし、対象のクラスターを選択して、クラスターワークスペース ページに移動します。
左側のナビゲーションバーで セキュリティ設定 をクリックします。
セキュリティ設定画面で、TDE透過的データ暗号化 タブをクリックします。
Huawei Cloudアカウントの権限を表示する をクリックします。
URNにIAM委任の詳細で取得したURN情報を入力し、完了 をクリックします。
AWS IAM管理コンソールにログインします。
KMSアクセス権限を設定します。
説明
初回設定時は、指定された権限ポリシーを作成する必要があります。同じポリシーが既に存在する場合は、最初の手順をスキップできます。
カスタムKMS権限ポリシーを作成します。
ポリシー管理ページで、ポリシーの作成をクリックします。
可視化編集タブで、以下の設定を選択します:
オプション説明サービスの選択 KMS 操作 指定操作を選択し、以下の権限を選択します: - ListAliases
- ListKeys
- DescribeKey
- GenerateDataKey
- Decrypt
- Encrypt
リソース デフォルトではすべてが選択されています。OceanBaseがアクセスできるようにするKMSリソースを特定のものだけに制限したい場合は、指定リソースを選択できます。 OKをクリックして、作成を完了します。
IAMロールを作成し、KMSキー権限を設定します。
ロール管理ページで、ロールの作成をクリックします。
カスタム信頼ポリシーを選択した後、以下の設定を入力し、
PrincipalフィールドにOceanBase 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情報を入力し、**完了**をクリックします。
前提条件
- KMS APIサービスが有効になっていること。有効化するには、Cloud Key Management Service (KMS) APIにアクセスしてください。
操作手順
サービスアカウントを作成します。
GCPのIAMと管理 > サービスアカウントにログインします。
サービスアカウントを作成をクリックします。
作成ダイアログでサービスアカウント名を入力し、作成して続行をクリックします。
サービスアカウントに、次のGCPの事前定義ロールを付与します。ロールの詳細については、Permissions and rolesを参照してください。
- Cloud KMS Viewer
- Cloud KMS Crypto Operator
- Cloud KMS CryptoKey Encrypter/Decrypter
完了をクリックします。
OceanBase Cloudのサービスアカウントに権限を付与します。
作成したアカウント名をクリックし、サービスアカウントの管理ページに移動します。
Principals with accessをクリックします。
View by principalsタブでGrant accessをクリックします。
権限付与画面で次の情報を設定します。
Add principals:OceanBase Cloudのサービスアカウント情報を省略せずに入力します。
説明
OceanBase Cloudが提供するマスターアカウントは、セキュリティ設定 > TDE透過的データ暗号化 > View Google Cloud Account Authorizationで確認できます。
Assign roles:tokenを検索し、Service Account Token Creatorを選択します。
Saveをクリックします。
ロールの作成が完了したら、サービスアカウントの詳細からメールアドレスを取得します。
権限付与を検証します。
OceanBase Cloudコンソールにログインします。
左側のナビゲーションバーでクラスターリストをクリックし、対象クラスターを選択して、クラスターワークスペースページに移動します。
左側のナビゲーションバーでセキュリティ設定をクリックします。
セキュリティ設定画面でTDE透過的データ暗号化タブをクリックします。
View Google Cloud Account Authorizationをクリックします。
GCPサービスアカウントの詳細から取得したメールアドレスを入力し、**完了**をクリックします。