SageMaker エンドポイントの保存時暗号化キーを確認

SageMaker エンドポイントの既定の保存時暗号化と、個別の KMS キーが必要な場合を区別してください。

説明

SageMaker エンドポイントのストレージボリュームには、モデルが使用するデータや一時ファイルが保存されることがあります。aws_sagemaker_endpoint_configuration の kms_key_arn は、このボリュームの暗号化キーを指定します。キーを省略しても SageMaker は既定でボリュームを暗号化するため、省略だけで平文保存とは判断できません。

個別のキーポリシーやライフサイクルの管理が必要な場合は、対応するストレージボリュームにカスタマーマネージド KMS キーを使用してください。一部の Nitro インスタンスのローカルストレージはハードウェアで暗号化され、この KMS 設定の対象にはなりません。

想定される影響

既定の暗号化では、組織のキー管理要件を満たせない場合があります。また、必要なキー権限の削除やキーの無効化は、エンドポイントのデプロイや運用に影響する可能性があります。

対処方法

  • インスタンスのストレージ形式とキー要件を確認し、個別のキーが必要なら実際の ARN を kms_key_arn に指定してください。
  • SageMaker がキーを使用するために必要な権限を付与してください。新しいエンドポイント設定を適用し、推論リクエストが正常に処理されることを確認してください。
  • S3 のモデルファイル、データキャプチャ、ログの暗号化とアクセス権限は別途確認してください。ボリューム暗号化は通信の保護や推論呼び出しの認可を代替しません。

例

エンドポイント設定の抜粋です。全体の構成でモデルと必要な権限を定義してください。

キーを省略

hcl
resource "aws_sagemaker_endpoint_configuration" "ml_endpoint_config" {
  name = "my-endpoint-config"

  production_variants {
    variant_name           = "variant-1"
    model_name             = aws_sagemaker_model.model.name
    initial_instance_count = 1
    instance_type          = "ml.t2.medium"
  }
}

個別の KMS キーを指定していません。既定の保存時暗号化がキー管理要件を満たすか確認してください。

KMS キーを指定

hcl
resource "aws_sagemaker_endpoint_configuration" "ml_endpoint_config" {
  name = "my-endpoint-config"

  production_variants {
    variant_name           = "variant-1"
    model_name             = aws_sagemaker_model.model.name
    initial_instance_count = 1
    instance_type          = "ml.t2.medium"
  }

  kms_key_arn = aws_kms_key.sagemaker.arn
}

対応するストレージボリュームのキーを指定しています。この設定で S3 に保存されるすべてのデータの暗号化キーが変わるわけではありません。

参考資料