説明
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 に保存されるすべてのデータの暗号化キーが変わるわけではありません。