AWS KMS で出力データとストレージボリュームを暗号化する - Amazon SageMaker

AWS KMS で出力データとストレージボリュームを暗号化する

AWS Key Management Service (AWS KMS) を使用して、ラベル付けジョブを作成するときにカスタマー管理のキーを指定して、ラベル付けジョブからの出力データを暗号化できます。API オペレーション CreateLabelingJob を使用して、自動データラベリングを使用するラベル付けジョブを作成するには、カスタマーマネージド型キーを使用して ML コンピューティングインスタンスにアタッチされたストレージボリュームを暗号化し、トレーニングジョブと推論ジョブを実行することもできます。

このセクションでは、出力データの暗号化を有効にするためにカスタマーマネージド型キーにアタッチする必要がある IAM ポリシーと、ストレージボリュームの暗号化を使用するためにカスタマーマネージド型キーと実行ロールにアタッチする必要があるポリシーについて説明します。これらのオプションの詳細については、出力データとストレージボリュームの暗号化を参照してください。

KMS を使用して出力データを暗号化する

AWS KMS カスタマーマネージド型キーを指定して出力データを暗号化する場合、次のような IAM ポリシーをそのキーに追加する必要があります。このポリシーは、ラベル付けジョブの作成に使用する IAM 実行ロールに、このキーを使用して "Action" にリストされているすべてのアクションを実行するアクセス権限を付与します。これらのアクションの詳細については、AWS Key Management Service デベロッパーガイドの「AWS KMS アクセス許可」を参照してください。

このポリシーを使用するには、"Principal" の IAM サービスロール ARN をラベル付けジョブの作成に使用する実行ロールの ARN に置き換えます。コンソールでラベル付けジョブを作成するとき、これが [Job overview] (ジョブの概要) セクションの [IAM Role] (IAM ロール) で指定するロールです。CreateLabelingJob を使用してラベル付けジョブを作成する場合、これが RoleArn で指定する ARN です。

{ "Sid": "AllowUseOfKmsKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/service-role/example-role" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

自動データラベリングの機械学習コンピューティングインスタンスストレージボリュームを暗号化する

VolumeKmsKeyId を指定して、自動データラベリングのトレーニングと推論に使用される機械学習コンピューティングインスタンスにアタッチされたストレージボリュームを暗号化する場合は、次の手順を実行する必要があります。

  • KMS を使用して出力データを暗号化する で説明されているアクセス許可をカスタマーマネージド型キーにアタッチします。

  • ラベル付けジョブの作成に使用する IAM 実行ロールに、次のようなポリシーをアタッチします。これは、CreateLabelingJobRoleArn で指定した IAM ロールです。このポリシーで許可される "kms:CreateGrant" アクションについては、AWS Key Management Service API リファレンスの「CreateGrant」を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant" ], "Resource": "*" } ] }

Ground Truth ストレージボリュームの暗号化の詳細については、「KMS キーを使用して自動データラベリングのストレージボリュームを暗号化する (API のみ)」を参照してください。