Key Management Service (KMS) は、キー管理、データ暗号化、およびシークレット管理のためのエンドツーエンドのサービスプラットフォームです。 KMSは、使いやすく、信頼性が高く、安全で、標準に準拠した機能を提供し、データを暗号化および保護し、シークレットを管理します。 このトピックでは、KMSの一般的なシナリオについて説明します。
シナリオ1: KMSコンソールで無料のCMKをデフォルトキーとして使用して、Elastic Compute Service (ECS) クラウドディスク、ApsaraDB RDSデータ、またはObject Storage Service (OSS) データを暗号化
KMSインスタンスを購入する必要はありません。 KMSは、各リージョンのAlibaba Cloudアカウントごとに無料のカスタマーマスターキー (CMK) を提供します。 Alibaba Cloudサービスのサーバー側暗号化に無料のCMKを使用できます。 次の例では、ECSシステムディスクを暗号化する方法について説明します。
ステップ1: CMKをデフォルトキーとして使用する
KMSコンソールにログインします。 上部のナビゲーションバーで、必要なリージョンを選択します。 左側のナビゲーションウィンドウで、インスタンス管理 をクリックします。
インスタンス管理 ページで、タブをクリックします。
CMKを見つけて、操作 列の 有効化 をクリックします。 キーを作成 ダイアログボックスでパラメーターを設定し、[OK] をクリックします。
Key Management Service: KMSはキーマテリアルを生成します。
External: 外部ソースからキーマテリアルをインポートする必要があります。 詳細については、「キーマテリアルの対称キーへのインポート」をご参照ください。

パラメーター | 説明 |
キーのエイリアス | CMKのエイリアス。 エイリアスには、英数字、アンダースコア (_) 、ハイフン (-) 、およびスラッシュ (/) を使用できます。 |
Description | CMK の説明。 |
詳細設定 | 重要な素材の起源。 |
ステップ2: ECSインスタンスの作成時にシステムディスクの暗号化設定を設定する
Alibaba Cloudサービスのサーバー側暗号化のためにKMSでサポートされているキーの種類と操作の詳細については、対応するAlibaba Cloudサービスのドキュメントをご参照ください。
ECSコンソールにログインします。
左側のナビゲーションウィンドウで、を選択します。
上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。
インスタンスページで、インスタンスの作成をクリックします。
、基本的な設定ステップで、以下の操作を実行します。
説明この手順では、インスタンスの作成時にシステムディスクの暗号化設定を構成する方法について説明します。 その他のインスタンス設定については、「カスタム起動タブでインスタンスを作成する」をご参照ください。
[リージョン] セクションでリージョンとゾーンを選択し、[インスタンスタイプ] セクションでインスタンスタイプを選択します。
[イメージ] セクションで [パブリックイメージ] または [カスタムイメージ] を選択します。
拡張SSD (ESSD) を選択し、ストレージセクションでシステムディスクの容量を指定します。
選択ディスク暗号化からKMSコンソールで作成したCMKを選択します。デフォルトサービスCMKドロップダウンリスト。
説明中国 (南京-ローカルリージョン) 、中国 (福州-ローカルリージョン) 、タイ (バンコク) 、または韓国 (ソウル) リージョンでECSインスタンスを作成した場合、暗号化キーとしてキーマテリアルをインポートしたカスタムキーを選択することはできません。
システムディスクが暗号化されると、システムディスクの暗号化に使用されるCMKにタグが自動的に追加されます。 タグのキーは
acs:ecs:disk-encryptionで、タグの値はtrueです。 KMSコンソールにログインし、インスタンス管理 ページのタブでCMK IDとCMKに追加されたタグを表示できます。
シナリオ2: 無料のCMKをデフォルトキーとして使用して、複数のAlibaba Cloudアカウント内のECS、ApsaraDB RDS、およびOSSのデータを暗号化
各Alibaba Cloudアカウントには、各リージョンのデフォルトキーとして無料のCMKがあります。 複数のAlibaba Cloudアカウント内のAlibaba Cloudサービスのデータを暗号化する必要がある場合、各アカウント内に無料のCMKを作成し、アカウント内のCMKを使用して、アカウント内のAlibaba Cloudサービスのデータを暗号化する必要があります。 次の図はアーキテクチャを示しています。
シナリオ3: Terraformを使用して無料のCMKをデフォルトキーとして有効にする
前提条件
オンプレミス環境でTerraformを使用する
Terraform v0.14以降がインストールされています。
説明Terraformをインストールしたら、terraform -- versionコマンドを実行してTerraformのバージョンを確認できます。 Terraformのバージョンがv0.14より前の場合は、必要なバージョンのTerraformをインストールして、元のバージョンのTerraformを上書きします。
Alibaba Cloudアカウント情報が設定されています。
説明権限管理の柔軟性とセキュリティを向上させるために、Terraformという名前のResource Access management (RAM) ユーザーを作成することをお勧めします。 次に、RAMユーザーのAccessKeyペアを作成し、AliyunKMSCryptoAdminAccessおよびAliyunKMSSecretAdminAccessポリシーをRAMユーザーにアタッチします。 AliyunKMSCryptoAdminAccessポリシーを使用すると、キーを管理できます。 AliyunKMSSecretAdminAccessポリシーを使用すると、シークレットを管理できます。 詳細については、「RAMユーザーの作成」および「RAMユーザーへの権限付与」をご参照ください。
(推奨) 方法1: ID情報を格納するように環境変数を設定します。
export ALICLOUD_ACCESS_KEY="******" export ALICLOUD_SECRET_KEY="******" export ALICLOUD_REGION="******"方法2: ID情報を指定するために、構成ファイルに
プロバイダーコードブロックを設定します。provider "alicloud" { access_key = "******" secret_key = "******" region = "******" }
Cloud ShellでTerraformを使用する
Terraform v0.14以降がインストールされています。 バージョンがビジネス要件を満たしていない場合は、Terraformのバージョンを更新します。 詳細については、「Cloud ShellでのTerraformの使用」および「Terraformを使用したAlibaba Cloudリソースの管理」をご参照ください。
手順
作業ディレクトリを作成し、という名前の構成ファイルを作成します。main.tfと変数. tf作業ディレクトリにあります。
main.tf: このファイルはTerraformのメインファイルで、デプロイするリソースを定義します。
# For more information about the alicloud_kms_key resource, visit https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/kms_key. resource "alicloud_kms_key" "key" { description = "${var.description}" } output "key_id" { value = alicloud_kms_key.key.id }variables.tf: このファイルには、main.tfファイルに転送できるカスタム変数が含まれています。
# The description of the CMK. variable "description" { default = "the new key" }
terraform initコマンドを実行して、Terraformランタイム環境を初期化します。terraform planコマンドを実行してリソースプランを生成します。terraform applyコマンドを実行し、CMKを使用します。
シナリオ4: シークレットの作成
シークレットを作成する前に、KMSインスタンスを購入する必要があります。
手順1: KMSコンソールでKMSインスタンスを購入する
KMSインスタンスはKMSコンソールでのみ購入できます。 Terraformはサポートされていません。
KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。
インスタンス管理 ページで、インスタンスの作成 をクリックします。 購入ページでパラメータを設定し、[今すぐ購入] をクリックします。
パラメーター
説明
サイト
KMSインスタンスをデプロイするサイト。
[インスタンスタイプ]
KMSインスタンスのタイプ。 有効な値:
ソフトウェアキー管理: キーストアを作成できます。 キーのライフサイクルを管理し、暗号化と復号化にキーを使用できます。
ハードウェアキー管理: ハードウェアセキュリティモジュール (HSM) クラスターに保存されているキーを管理でき、クラウドにキー管理センターをすばやく構築できます。 このタイプのインスタンスは、アプリケーション暗号化のための簡易API操作を提供し、Alibaba Cloudのサービスおよびアプリケーションのデータ暗号化要件を満たし、クラウド内のデータの暗号化に適しています。
説明サービス付加価値: このタイプのインスタンスは、ソフトウェアキー管理タイプのKMSインスタンスのデータをバックアップおよび復元するために使用されます。 詳細については、「バックアップ」をご参照ください。
リージョン
KMSインスタンスのリージョン。 詳細は、「リージョンとエンドポイント」をご参照ください。
コンピューティングパフォーマンス
KMSインスタンスのコンピューティングパフォーマンス。 詳細については、「パフォーマンスデータ」をご参照ください。
キー数
KMSインスタンスで作成できるキーの最大数。
秘密の数
KMSインスタンスで作成できるシークレットの最大数。
アクセス管理数量
KMSインスタンスへのアクセスが許可されているオブジェクトのクォータ。 クォータには、KMSインスタンスのリソースを使用するプリンシパルの数と、KMSインスタンスに関連付けられている仮想プライベートクラウド (VPC) の数が含まれます。 デフォルト値:1
たとえば、KMSインスタンスを3つのVPCに関連付け、インスタンスを2つのプリンシパルと共有する場合は、ビジネス要件を満たすために5以上の値を指定します。
購入数量
購入するKMSインスタンスの数。
重要ほとんどの場合、KMSインスタンスを1つだけ購入する必要があります。 複数のKMSインスタンスを購入する場合は、チケットを起票してください。
有効期間
KMSインスタンスのサブスクリプション期間。
説明[自動更新] を選択すると、インスタンスの有効期限が切れたときにKMSインスタンスを自動的に更新できます。
読み、利用規約を選択し、[支払い] をクリックして支払いを完了します。
KMSインスタンスの作成には1〜5分かかります。 作成したインスタンスは インスタンス管理 ページで確認できます。
ステップ2: KMSインスタンスの有効化
前提条件
KMSインスタンスが存在するリージョンにVPCとvSwitchが作成されます。 詳細については、「VPCとvSwitchの作成」または「vSwitchの作成」をご参照ください。
重要vSwitchのIPアドレスが十分に確保されていることを確認してください。 ソフトウェアキー管理タイプのKMSインスタンスにはvSwitchのIPアドレスを1つ、ハードウェアキー管理タイプのKMSインスタンスにはvSwitchのIPアドレスを5つ確保する必要があります。 vSwitchで使用可能なIPアドレスの数を表示するには、次の操作を実行します。VPCコンソールにログインします。 vSwitchページに移動します。 次に、vSwitchのIDをクリックします。
Alibaba Cloud DNS PrivateZoneが有効化されています。 中国サイト (aliyun.com) のアカウントを使用して中国本土以外のKMSインスタンスを購入する場合、または国際サイト (alibabacloud.com) のアカウントを使用して中国本土のKMSインスタンスを購入する場合は、Alibaba Cloud DNS PrivateZoneを手動で有効化する必要があります。 詳細については、「Alibaba Cloud DNS PrivateZoneの有効化」をご参照ください。
説明他のシナリオでは、Alibaba Cloud DNS PrivateZoneが自動的に有効化されます。
ドメイン名解決の料金はKMSに請求されます。 Alibaba Cloud DNS PrivateZone側で支払いを完了する必要はありません。
HSMクラスターが作成され、設定されます。 ハードウェアキー管理タイプのKMSインスタンスを有効にするには、インスタンスをHSMクラスターに接続する必要があります。 詳細については、「ハードウェアキー管理タイプのKMSインスタンス用のHSMクラスターの設定」をご参照ください。
ソフトウェアキー管理タイプのKMSインスタンスの有効化
KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。
ソフトウェアキー管理 タブで、有効にするKMSインスタンスを見つけ、操作 列の 有効化 をクリックします。
Enable KMS Instance ダイアログボックスで、パラメーターを設定し、[OK] をクリックします。
パラメーター
説明
Key Management Platform Mode
値を変更する必要はありません。 デフォルト値: Alibaba Cloud KMS
Database
値を変更する必要はありません。 デフォルト値: Create Database
VPC ID: KMSインスタンスが存在するVPCのID。
VSwitch ID: VPC内のvSwitchのID。
約30分待ってからページを更新します。 KMSインスタンスのステータスがEnabledに変更された場合、KMSインスタンスは有効になります。
ハードウェアキー管理タイプのKMSインスタンスの有効化
KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。
ハードウェアキー管理 タブで、有効にするKMSインスタンスを見つけ、有効化 列の 操作 をクリックします。
Connect to HSM ダイアログボックスで、HSMクラスターを指定し、Connect to HSM をクリックします。HSMクラスターを指定するには、次のパラメーターを設定する必要があります。
パラメーター
説明
Configure HSM Cluster
Data Encryption Serviceで作成したHSMクラスターを選択します。
説明ハードウェアキー管理タイプのKMSインスタンスは、1つのHSMクラスターにのみ接続できます。
Configure HSM Access Secret.
Username: 暗号ユーザーのユーザー名。 値は
kmsuserとして固定されます。Password: 暗号ユーザーのパスワード。 暗号ユーザーを作成したときに指定したパスワードを入力します。
Security Domain Certificate: PEM形式の認証機関 (CA) 証明書。 証明書を取得するには、次の操作を実行します。Data Encryption Serviceコンソールにログインします。 HSMクラスターとクラスター内のマスターHSMを見つけます。 マスターHSMの
IDの右側にあるアイコンをクリックします。[クラスターの詳細] ダイアログボックスで、ClusterOwnerCertificateファイルをダウンロードします。
KMSインスタンスの購入時にNumber of Secretsパラメーターを設定した場合、KMSインスタンスの有効化に約30分かかります。 約30分待ってからページを更新します。 KMSインスタンスを購入したときにNumber of Secretsパラメーターを設定しなかった場合、システムはKMSインスタンスを有効にするのに約10分かかります。 約10分待ってからページを更新します。 KMSインスタンスのステータスがEnabledに変更された場合、KMSインスタンスは有効になります。
(オプション) 手順3: KMSインスタンスの詳細を表示する
KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。
インスタンス管理 ページで、ビジネス要件に基づいてインスタンスタイプのタブをクリックします。
詳細を表示するKMSインスタンスを見つけ、操作 列の Manage をクリックします。 表示される詳細ページで、インスタンスの詳細を表示できます。
ステップ4: KMSインスタンスでキーを作成する
シークレットの暗号化に使用できるのは対称キーのみです。 シークレットを作成する場合は、まず対称キーを作成する必要があります。
KMSコンソールの使用
KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。
キー管理 ページで、インスタンス管理 ドロップダウンリストからインスタンスのIDを選択し、キーを作成 をクリックします。
キーを作成 パネルでパラメーターを設定し、OK をクリックします。
パラメーター
説明
キータイプ
作成するキーのタイプ。 有効な値: 対称キーと非対称キー。
重要シークレット値を暗号化するためのキーを作成する場合は、[対称キー] を選択します。
キー仕様
キーの仕様。
キー使用
キーの使用法。 有効な値:
Encrypt/Decrypt: データを暗号化または復号します。
署名 /検証: データに署名するか、デジタル署名を検証します。
キーのエイリアス
キーのエイリアスを設定します。 エイリアスには、英数字、アンダースコア (_) 、ハイフン (-) 、およびスラッシュ (/) を使用できます。
タグ
キーに追加されるタグ。 タグはキーと値のペアで構成されます。 タグの詳細については、「」をご参照ください。タグとは.
Description
キーの説明を入力します。
Terraformの使用
前提条件
オンプレミス環境でTerraformを使用する
Terraform v0.14以降がインストールされています。
説明Terraformをインストールしたら、terraform -- versionコマンドを実行してTerraformのバージョンを確認できます。 Terraformのバージョンがv0.14より前の場合は、必要なバージョンのTerraformをインストールして、元のバージョンのTerraformを上書きします。
Alibaba Cloudアカウント情報が設定されています。
説明権限管理の柔軟性とセキュリティを向上させるために、Terraformという名前のResource Access management (RAM) ユーザーを作成することをお勧めします。 次に、RAMユーザーのAccessKeyペアを作成し、AliyunKMSCryptoAdminAccessおよびAliyunKMSSecretAdminAccessポリシーをRAMユーザーにアタッチします。 AliyunKMSCryptoAdminAccessポリシーを使用すると、キーを管理できます。 AliyunKMSSecretAdminAccessポリシーを使用すると、シークレットを管理できます。 詳細については、「RAMユーザーの作成」および「RAMユーザーへの権限付与」をご参照ください。
(推奨) 方法1: ID情報を格納するように環境変数を設定します。
export ALICLOUD_ACCESS_KEY="******" export ALICLOUD_SECRET_KEY="******" export ALICLOUD_REGION="******"方法2: ID情報を指定するために、構成ファイルに
プロバイダーコードブロックを設定します。provider "alicloud" { access_key = "******" secret_key = "******" region = "******" }
Cloud ShellでTerraformを使用する
Terraform v0.14以降がインストールされています。 バージョンがビジネス要件を満たしていない場合は、Terraformのバージョンを更新します。 詳細については、「Cloud ShellでのTerraformの使用」および「Terraformを使用したAlibaba Cloudリソースの管理」をご参照ください。
手順
作業ディレクトリを作成し、という名前の構成ファイルを作成します。main.tfと変数. tf作業ディレクトリにあります。
main.tf: このファイルはTerraformのメインファイルで、デプロイするリソースを定義します。
# For more information about the alicloud_kms_key resource, visit https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/kms_key. resource "alicloud_kms_key" "key" { description = "${var.description}" dkms_instance_id = "${var.dkms_instance_id}" } output "key_id" { value = alicloud_kms_key.key.id }variables.tf: このファイルには、main.tfファイルに転送できるカスタム変数が含まれています。
# The description of the key. variable "description" { default = "the new key" } # The ID of your KMS instance. variable "dkms_instance_id" { default = "kst-szz63292789pf2h******" }
terraform initコマンドを実行して、Terraformランタイム環境を初期化します。terraform planコマンドを実行してリソースプランを生成します。terraform applyコマンドを実行してキーを作成します。
ステップ5: KMSインスタンスにシークレットを作成する
次の例では、ジェネリックシークレットを作成する方法について説明します。
KMSコンソールの使用
KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。
Generic Secrets タブをクリックし、インスタンス管理 ドロップダウンリストからインスタンスのIDを選択し、資格情報の作成 をクリックします。 次に、パラメーターを設定し、[OK] をクリックします。
パラメーター
説明
Secret Name
秘密の名前。
Secret Value
管理する機密データのタイプ。 有効な値: Secret Key/ValueおよびPlain Text。
Initial Version
シークレットの初期バージョン。 デフォルト値: v1 カスタムバージョン番号を指定できます。
CMK
シークレットの値を暗号化するために使用されるキー。
重要キーとシークレットは同じKMSインスタンスに属している必要があります。 キーは対称キーである必要があります。 KMSでサポートされている対称キーの詳細については、「キーの種類と仕様」をご参照ください。
RAMユーザーまたはRAMロールの場合は、キーを使用してGenerateDataKey操作を呼び出す権限が必要です。
タグ
シークレットに追加されるタグ。 タグはキーと値のペアで構成されます。 タグの詳細については、「タグとは」をご参照ください。
説明
シークレットの説明
Terraformの使用
作業ディレクトリを作成し、という名前の構成ファイルを作成します。main.tfと変数. tf作業ディレクトリにあります。
main.tf: このファイルはTerraformのメインファイルで、デプロイするリソースを定義します。
# For more information about the alicloud_kms_secret resource, visit https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/kms_secret. resource "alicloud_kms_secret" "secret" { description = "from terraform" secret_name = "${var.secret_name}" secret_data = "${var.ENV_SECRET_DATA}" version_id = "${var.version_id}" dkms_instance_id = "${var.dkms_instance_id}" encryption_key_id = "${var.encryption_key_id}" }variables.tf: このファイルには、main.tfファイルに転送できるカスタム変数が含まれています。
// The secret name. variable "secret_name" { default = "secret_name_sample" } # The secret version information. variable "version_id" { default = "000000000001" } # The value of the secret. variable "ENV_SECRET_DATA" { # Run the export TF_VAR_ENV_SECRET_DATA=xxxxxxxxxx command to specify a value or enter a value when a prompt is displayed. # default = "Secret data sample." # Set sensitive to true so that the value is not displayed for Terraform-related tools. sensitive = true } # The ID of your KMS instance. variable "dkms_instance_id" { default = "kst-szz63292789pf2h******" } # Specify the ID of the key that is used to encrypt the value of the secret. Note: The key and the secret must belong to the same instance. variable "encryption_key_id" { default = "key-szz640fd91d99y1******" }
terraform initコマンドを実行して、Terraformランタイム環境を初期化します。terraform planコマンドを実行してリソースプランを生成します。terraform applyコマンドを実行してシークレットを作成します。
ステップ6: シークレットをアプリケーションに統合する
シークレットを作成したら、シークレットをアプリケーションに統合できます。 これにより、コード内のハードコードされたシークレットによる機密データの漏洩を防ぎます。 シークレットをアプリケーションに統合する方法の詳細については、「SDKリファレンス」をご参照ください。
シナリオ5: KMSインスタンスを使用するように複数のVPCを設定する
アプリケーションが同じリージョンの複数のVPCにデプロイされている場合、同じKMSインスタンスを使用するようにこれらのVPCを構成できます。
VPCとKMSインスタンスは同じAlibaba Cloudアカウントに属しています
KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。
インスタンス管理 ページで、ビジネス要件に基づいてインスタンスタイプのタブをクリックします。
VPCに関連付けるKMSインスタンスを見つけ、操作 列の Manage をクリックします。 インスタンスの詳細ページで、Configure VPC をクリックします。
Configure VPC ダイアログボックスで、Available VPCs セクションでVPCを選択し、
アイコンをクリックします。 Select vSwitch to Associate with VPC ダイアログボックスで、各VPCのvSwitchを選択し、[OK] をクリックします。
Configure VPC ダイアログボックスで、OK をクリックします。
VPCとKMSインスタンスは異なるAlibaba Cloudアカウントに属しています
この例では、Alibaba CloudアカウントBおよびAlibaba CloudアカウントCのアプリケーションは、Alibaba CloudアカウントaのKMSインスタンスのリソースにアクセスします。
Alibaba CloudアカウントBおよびAlibaba CloudアカウントCのVPCのvSwitchリソースをAlibaba CloudアカウントAと共有するようにリソース共有を設定します。
Alibaba CloudアカウントBを使用してリソース管理コンソールにログインし、リソース共有を作成し、Alibaba CloudアカウントBに属するVPCのvSwitchリソースをAlibaba Cloudアカウントaと共有します。Alibaba CloudアカウントCに対して上記の操作を繰り返します。
Alibaba CloudアカウントAを使用してリソース管理コンソールにログインし、Alibaba CloudアカウントBおよびAlibaba CloudアカウントCからリソース共有の招待を受け入れます。
説明リソースを共有する方法の詳細については、「アカウントとリソースを共有する」または「リソースディレクトリ内のオブジェクトとリソースを共有する」をご参照ください。
Alibaba CloudアカウントAを使用して、KMSコンソールにログインします。上部のナビゲーションバーで、VPCに関連付けるKMSインスタンスのリージョンを選択します。 左側のナビゲーションウィンドウで、インスタンス管理 をクリックします。
インスタンス管理 ページで、ビジネス要件に基づいてインスタンスタイプのタブをクリックします。
KMSインスタンスを見つけ、操作 列の Manage をクリックします。 インスタンスの詳細ページで、Configure VPC をクリックします。
Configure VPC ダイアログボックスで、Available VPCs セクションでVPCを選択し、
アイコンをクリックします。 Select vSwitch to Associate with VPC ダイアログボックスで、各VPCのvSwitchを選択し、[OK] をクリックします。
Configure VPC ダイアログボックスで、OK をクリックします。
シナリオ6: 複数のAlibaba Cloudアカウント間でシークレットを共有する
Alibaba Cloudアカウント1を使用してKMSインスタンスを購入し、シークレットクォータを設定するとします。 Alibaba Cloudアカウント2とAlibaba Cloudアカウント3は、KMSインスタンスのパブリックエンドポイントを使用して、KMSインスタンスのシークレットにアクセスできます。
Alibaba Cloudアカウント1内にシークレットを作成します。 詳細については、「シナリオ4: シークレットの作成」をご参照ください。
KMSインスタンスのパブリックエンドポイントを使用して、Alibaba Cloudアカウント2およびAlibaba Cloudアカウント3からAlibaba Cloudアカウント1内のシークレットにアクセスします。 詳細については、「シークレットクライアント」、「シークレットJDBCクライアント」、または「RAMシークレットプラグイン」をご参照ください。
パブリックエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
シナリオ7: 同じリソースディレクトリ内の他のAlibaba CloudアカウントとKMSインスタンスを共有する
プリンシパルは、KMSインスタンスのリソース所有者と同じエンタープライズエンティティに属している必要があります。 エンタープライズエンティティは、実名検証に合格する必要があります。 プリンシパルは、Alibaba Cloudサービスのサーバー側暗号化に共有KMSインスタンスを使用できます。 詳細については、「複数のAlibaba Cloudアカウント間でのKMSインスタンスの共有」をご参照ください。
前提条件
リソースディレクトリが作成されます。 詳細については、「リソースディレクトリとは」をご参照ください。
手順1: KMSインスタンスをリソース所有者として共有する
KMSインスタンスを他のAlibaba Cloudアカウントと共有する場合は、リソースにアクセスできるプリンシパルの範囲を管理するリソース共有を作成することを推奨します。
KMSコンソールの使用
リソース所有者としてKMSコンソールにログインします。 上部のナビゲーションバーで、KMSインスタンスのリージョンを選択します。 左側のナビゲーションウィンドウで、インスタンス管理 をクリックします。
インスタンス管理 ページで、ビジネス要件に基づいてインスタンスタイプのタブをクリックします。
共有するKMSインスタンスを見つけて、操作 列の Share Resources をクリックします。
[リソース共有に追加] パネルで、[作成] をクリックします。 次に、パラメーターを設定し、[OK] をクリックします。
パラメーター
説明
リソース共有名
リソース共有の名前です。 カスタム値を入力できます。 名前には、英数字、およびピリオド (.) 、コンマ (,) を使用できます。 アンダースコア (_) 、およびハイフン (-) 。 名前の長さは最大50文字です。
権限の追加
プリンシパルの権限。 プリンシパルの権限を確認する場合は、リソース管理コンソールの [権限ライブラリ] ページに移動します。
AliyunRSDefaultPermissionKMSInstance: プリンシパルは、Alibaba Cloudサービスのサーバー側暗号化にキーを使用できます。
AliyunRSPermissionKMSInstanceReadWrite: プリンシパルは、Alibaba Cloudサービスでキーを管理し、サーバー側の暗号化にキーを使用できます。
説明ビジネスの分離とリスク分散のために、2つのリソース共有を作成することを推奨します。 Alibaba Cloudサービスのサーバー側暗号化のために、AliyunRSPermissionKMSInstanceReadWrite権限を一方のリソース共有に追加し、AliyunRSDefaultPermissionKMSInstance権限をもう一方のリソース共有に追加します。
プリンシパルの追加
校長だ 有効な値:
Alibaba Cloudアカウント: [プリンシパルID] フィールドに [Alibaba CloudアカウントのID] を入力し、[追加] をクリックして、KMSインスタンスをAlibaba Cloudアカウントと共有します。 この方法は、この例で使用される。
リソースディレクトリ: [プリンシパルID] フィールドにリソースディレクトリのIDを入力して、KMSインスタンスをリソースディレクトリ内のすべてのメンバーと共有します。 リソースディレクトリのIDはrdで始まります。 例: rd-Y4 **** 。
リソースディレクトリにAlibaba Cloudアカウントを作成するか、リソース共有後にAlibaba Cloudアカウントをリソースディレクトリに招待すると、KMSインスタンスは新しいAlibaba Cloudアカウントと自動的に共有されます。
フォルダー: [プリンシパルID] フィールドにフォルダーのIDを入力して、KMSインスタンスをフォルダー内のすべてのメンバーと共有します。 フォルダのIDはfdで始まります。 例: fd-gLh1HJ **** 。
フォルダーにAlibaba Cloudアカウントを作成するか、リソース共有後にフォルダーに参加するようにAlibaba Cloudアカウントを招待すると、KMSインスタンスは新しいAlibaba Cloudアカウントと自動的に共有されます。
重要プリンシパルとリソース所有者は、同じリソースディレクトリに属している必要があります。 詳細については、「リソースディレクトリの概要」をご参照ください。
KMSインスタンスをプリンシパルと共有すると、KMSインスタンスのアクセス管理クォータが消費されます。 リソース共有を作成するときは、Principal TypeパラメーターをAlibaba Cloudアカウントまたはフォルダーに設定することを推奨します。 Principal TypeパラメーターをResource Directoryに設定すると、指定されたリソースディレクトリ内のすべてのメンバーがKMSインスタンスのアクセス管理クォータを消費します。 これにより、アクセス管理クォータが過度に使用され、KMSインスタンスでキーが不要に使用されます。
リソース共有を作成するときにプリンシパルを指定しない場合は、リソース共有を変更するときにプリンシパルを指定できます。
KMSインスタンスが共有されると、KMSインスタンスのIDの下にBeing Sharedが表示されます。 プリンシパルはKMSコンソールにログインし、KMSインスタンスを表示できます。 KMSインスタンスのIDの下にShared Resourceが表示されます。
リソース管理コンソールの使用
詳細については、「リソースディレクトリ内のリソースのみを共有する」をご参照ください。
手順2: KMSインスタンスをプリンシパルとして使用する
キーの管理
KMSインスタンスに対するAliyunRSPermissionKMSInstanceReadWrite権限がリソース共有に追加された場合、リソース共有に追加されたプリンシパルはKMSインスタンスのキーを管理できます。 たとえば、プリンシパルはキーの作成、エイリアスの設定、タグの追加を行うことができます。 詳細については、「キーの管理」をご参照ください。
キーを使用したデータの暗号化または復号化
KMSインスタンスに対するAliyunRSPermissionKMSInstanceReadWrite権限またはAliyunRSDefaultPermissionKMSInstance権限がリソース共有に追加された場合、リソース共有に追加されたプリンシパルはKMSインスタンスのキーを使用してAlibaba Cloudサービスでサーバー側暗号化を実行できます。 サーバー側暗号化の詳細については、「KMSとの統合」および「KMSと統合可能なAlibaba Cloudサービス」をご参照ください。
次に何をすべきか
リソース共有をリソース所有者として変更する
KMSコンソール
KMSコンソールにログインします。 上部のナビゲーションバーで、KMSインスタンスのリージョンを選択します。 左側のナビゲーションウィンドウで、インスタンス管理 をクリックします。
インスタンス管理 ページで、KMSインスタンスタイプに基づいて、ソフトウェアキー管理 タブまたは ハードウェアキー管理 タブをクリックします。
KMSインスタンスを見つけ、操作 列の Share Resources をクリックします。
[リソース共有に追加] パネルで、[リソース共有の選択] ドロップダウンリストから変更するリソース共有を選択し、追加した権限を調整します。 [プリンシパル] セクションの [編集] をクリックして、プリンシパルを追加または削除することもできます。 [OK] をクリックします。
リソース管理コンソール
詳細については、「リソース共有の変更」をご参照ください。
リソース共有をリソース所有者として削除する
リソース共有が削除されると、リソース共有に追加されたすべてのプリンシパルは、リソース共有内のリソースにアクセスできなくなります。 作業は慎重に行ってください。
この操作は、リソース管理コンソールでのみ実行できます。 詳細については、「リソース共有の削除」をご参照ください。