MaxCompute プロジェクトに個人識別情報、財務記録、健康記録などの機密情報が含まれている場合、データストレージ暗号化を有効にすることで、これらのデータを不正アクセスから保護できます。MaxCompute は Key Management Service (KMS) を使用して保存データを暗号化します。この機能は、企業の規制およびセキュリティコンプライアンス要件を満たすための保存データの保護を提供します。
ストレージ暗号化の仕組み
MaxCompute は、KMS でホストされているキーを使用してデータを暗号化または復号します。データストレージ暗号化の仕組みは次のとおりです。
MaxCompute は、プロジェクト単位で KMS を使用してデータを暗号化または復号します。
KMS は、カスタマーマスターキー (CMK) を生成および管理し、キーのセキュリティを確保します。
MaxCompute は、AES256、AESCTR、および RC4 暗号化アルゴリズムをサポートしています。
MaxCompute は、デフォルトキーまたは Bring-Your-Own-Key (BYOK) を使用したデータの暗号化と復号をサポートしています。
デフォルトキー (MaxCompute デフォルトキー)
MaxCompute は、CMK として使用するキーを KMS に自動的に作成します。このキーの詳細は、KMS コンソールで確認できます。
さまざまなビジネス要件やセキュリティ要件を満たすために、MaxCompute は BYOK を使用したデータの暗号化と復号もサポートしています。
BYOK を使用してデータを暗号化または復号するには、手動で KMS を有効化し、キーを作成する必要があります。詳細については、「CreateKey」をご参照ください。
画面の指示に従って Resource Access Management (RAM) 権限付与を完了します。これにより、MaxCompute に BYOK を使用するプロジェクトを作成するために必要な権限が付与されます。
カスタム RAM ポリシーを使用して、新規プロジェクトを暗号化するかどうかを制御できます。ポリシーの内容の詳細については、「アクセスポリシー」をご参照ください。
制限事項
BYOK を使用してデータを暗号化または復号する場合、MaxCompute プロジェクトが存在するリージョンで KMS を有効化する必要があります。
Hologres 外部テーブルが MaxCompute にアクセスする場合、Hologres V1.1 以降が必要です。また、Hologres に KMS 権限を付与する必要もあります。BYOK は、中国 (上海) リージョンでのみサポートされています。詳細については、「暗号化された MaxCompute データのクエリ」をご参照ください。
KMS での BYOK に対する操作 (キーの無効化や削除など) は、MaxCompute でのデータの暗号化と復号に影響します。MaxCompute はキャッシュを使用するため、KMS で行われた変更が有効になるまでに最大 24 時間かかる場合があります。
既存のプロジェクトのストレージ暗号化設定は変更できません。たとえば、ストレージ暗号化を無効にしたり、暗号化アルゴリズムを変更したりすることはできません。
既存のプロジェクトでストレージ暗号化を有効にしても、プロジェクト内の既存データは自動的に暗号化されません。これは、通常の読み取りおよび書き込み操作には影響しません。既存データを暗号化するには、手動でデータを読み取り、プロジェクトに書き戻す必要があります。
課金
MaxCompute のデータストレージ暗号化機能は無料です。ただし、この機能は KMS API と対話するため、KMS はそのサービスに対して課金します。課金の詳細については、「KMS の課金」をご参照ください。
新規プロジェクトのストレージ暗号化の有効化
データストレージ暗号化を有効にすると、MaxCompute はデータの読み取りおよび書き込み操作中に暗号化と復号を自動的に処理します。
方法1:MaxCompute コンソールでのデータストレージ暗号化の有効化
ご利用のリージョンで KMS がすでに有効化されている場合は、このステップをスキップしてください。
Key Management Service (KMS) 有効化ページで、[今すぐ有効にする] をクリックします。
MaxCompute コンソールにログインし、左上隅でリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
Internal Project タブで、新しいプロジェクト をクリックします。
新しいアイテム ダイアログボックスで、プロジェクトパラメーターを設定し、[OK] をクリックします。
ストレージ暗号化 を 暗号化が必要 に設定し、対応する キー と アルゴリズム を選択します。
キー:プロジェクトで使用されるキーのタイプで、MaxCompute が作成したデフォルトキー (MaxCompute デフォルトキー) と Bring-Your-Own-Key (BYOK) が含まれます。
デフォルトキーを使用するには、[MaxCompute デフォルトキー] を選択します。
BYOK を使用するには、[CMK] を選択します。
アルゴリズム:キーの暗号化アルゴリズムです。サポートされているアルゴリズムは、AES256、AESCTR、および RC4 です。
方法2:DataWorks でのデータストレージ暗号化の有効化
ご利用のリージョンで KMS がすでに有効化されている場合は、このステップをスキップしてください。
Key Management Service (KMS) 有効化ページで、[今すぐ有効にする] をクリックします。
DataWorks コンソールにログインし、左上隅でリージョンを選択します。
左側のナビゲーションウィンドウで、ワークスペース をクリックします。
ワークスペース ページで、ワークスペースの作成 をクリックします。
詳細については、「ワークスペースの作成」をご参照ください。
MaxCompute 計算リソースを関連付けます。
ワークスペースが作成された後、ワークスペース ページで、対象のワークスペースを見つけ、アクション 列の 管理 をクリックします。
ワークスペースの詳細 ページで、左側のナビゲーションウィンドウの コンピューティングリソース をクリックします。
コンピューティングリソース ページで、[計算リソースの関連付け] をクリックし、[MaxCompute] を選択します。
[MaxCompute 計算リソースの関連付け] の [基本情報] を設定します。
[MaxCompute プロジェクト] の場合は、[作成] をクリックします。
ストレージ暗号化 を 暗号化が必要 に設定し、対応する キー と アルゴリズム を選択します。
キー:プロジェクトで使用されるキーのタイプで、MaxCompute が作成したデフォルトキー (MaxCompute デフォルトキー) と Bring-Your-Own-Key (BYOK) が含まれます。
デフォルトキーを使用するには、[MaxCompute デフォルトキー] を選択します。
BYOK を使用するには、[CMK] を選択します。
アルゴリズム:キーの暗号化アルゴリズムです。サポートされているアルゴリズムは、AES256、AESCTR、および RC4 です。
既存プロジェクトのストレージ暗号化の有効化
ストレージ暗号化は、まだ有効になっていないプロジェクトに対してのみ有効にできます。プロジェクトでストレージ暗号化が有効になっている場合、無効にしたり、暗号化アルゴリズムを変更したりすることはできません。
権限の設定
ストレージ暗号化を有効にするには、MaxCompute プロジェクトの [基本プロパティ] セクションのパラメーターを変更する必要があります。この操作には RAM 認証が必要であり、プロジェクトの Super_Administrator ロールが必要です。
MaxCompute プロジェクトの権限プロパティと IP アドレスホワイトリストを設定するには、プロジェクトの管理権限が必要です。これには、Super_Administrator、Admin、またはカスタム管理者ロールなどのロールが含まれます。
詳細については、「プロジェクト管理権限」および「RAM を使用したアクセスの制御」をご参照ください。
MaxCompute コンソールにログインし、左上隅でリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
プロジェクト管理 ページで、対象のプロジェクトを見つけ、その 操作 列にある 管理 をクリックします。
プロジェクト設定 ページで、パラメーター設定 タブをクリックします。
基本属性 セクションで、編集 をクリックします。
ストレージ暗号化 を 暗号化が必要 に設定し、対応する キー と アルゴリズム を選択します。
キー:プロジェクトで使用されるキーのタイプで、MaxCompute が作成したデフォルトキー (MaxCompute デフォルトキー) と Bring-Your-Own-Key (BYOK) が含まれます。
デフォルトキーを使用するには、[MaxCompute デフォルトキー] を選択します。
BYOK を使用するには、[CMK] を選択します。
アルゴリズム:キーの暗号化アルゴリズムです。サポートされているアルゴリズムは、AES256、AESCTR、および RC4 です。
提出 をクリックして、既存のプロジェクトのストレージ暗号化を有効にします。
関連ドキュメント
アクセス制御リスト (ACL) とロールベースアクセス制御を使用して、プロジェクトレベルおよびテーブルレベルで権限を付与することもできます。これにより、権限のあるユーザーのみがデータにアクセスできるようになります。詳細については、「ACL ベースのアクセスの制御」をご参照ください。
プロジェクトユーザーが機密データをクエリする権限を持っているが、完全な機密情報を表示させたくない場合は、クエリ結果のデータを動的にマスキングできます。詳細については、「動的データマスキング」をご参照ください。
テーブル内の特定のデータのみを暗号化する場合は、MaxCompute が提供する暗号化関数を使用できます。詳細については、「暗号化関数」をご参照ください。