翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
セキュリティとアクセスコントロール
Amazon SageMaker Feature Store では、オンラインストアとオフラインストアの 2 種類のストアを作成できます。オンラインストアは低レイテンシーのリアルタイム推論に使用され、オフラインストアはトレーニングやバッチ推論のユースケースに使用されます。オンラインまたはオフラインで使用する特徴量グループを作成するときは、 AWS Key Management Service カスタマーマネージドキーを指定して、保管中のすべてのデータを暗号化できます。 AWS KMS キーを指定しない場合、データはサーバー側で AWS 所有キーまたは AWS マネージド AWS KMS キーを使用して暗号化されます AWS KMS 。特徴量グループの作成中に、ストレージタイプを選択し、オプションでデータを暗号化するための AWS KMS キーを指定し、PutRecord、、、ListRecords、 などのデータ管理用のさまざまな APIs GetRecord DeleteRecordを呼び出すことができますBatchWriteRecord。
Feature Store では、特徴グループレベルで個々人に対してアクセスの許可または拒否ができ、また、Feature Store へのクロスアカウントアクセスを有効化できます。例えば、本番稼働用アカウントへの書き込みアクセス権はないが、モデルトレーニングや調査のためにオフラインストアにアクセスできるデベロッパーアカウントを設定できます。本番稼働用アカウントでオンラインストアとオフラインストアの両方にアクセスできるよう設定できます。Feature Store は、オフラインおよびオンラインストアの保管時のデータの暗号化に一意のカスタマー AWS KMS キーを使用します。アクセスコントロールは、API アクセスと AWS KMS キーアクセスの両方で有効になります。特徴グループレベルのアクセスコントロールも作成できます。
カスタマーマネージドキーの詳細については、「カスタマーマネージドキー」を参照してください。詳細については AWS KMS、「」を参照してくださいAWS KMS
Amazon SageMaker Feature Store の AWS KMS アクセス許可の使用
保管時の暗号化は、 AWS KMS カスタマーマネージドキーで Feature Store を保護します。デフォルトでは、AWS OnlineStore には 所有のカスタマーマネージドキーを使用し、OfflineStore には AWS マネージドのカスタマーマネージドキーを使用します。Feature Store では、カスタマーマネージドキーを使用してオンラインまたはオフラインストアを暗号化するオプションをサポートしています。オンラインまたはオフラインストアの作成時に、Feature Store に対してカスタマーマネージドキーを選択できます。また、ストアごとに異なるキーを選択できます。
Feature Store では対称カスタマーマネージドキーのみをサポートしています。オンラインまたはオフラインストアのデータの暗号化に非対称カスタマーマネージドキーは使用できません。カスタマーマネージドキーが対称か非対称かを確認する方法については、「対称および非対称カスタマーマネージドキーを識別する」を参照してください。
カスタマーマネージドキーを使うと、次の機能を活用できます。
-
カスタマーマネージドキーを作成、管理できます。これには、キーポリシー、IAM ポリシー、カスタマーマネージドキーへのアクセスを制御する権限付与の設定が含まれます。カスタマーマネージドキーの有効化または無効化、自動キーローテーションの有効化または無効化、使用しなくなったカスタマーマネージドキーの削除を行えます。
-
インポートされたキーマテリアルを持つカスタマーマネージドキー、またはユーザーが所有して管理するカスタムキーストアで、カスタマーマネージドキーを使用できます。
-
AWS KMS AWS CloudTrail ログで への API コールを調べることで、オンラインストアまたはオフラインストアの暗号化と復号化を監査できます。
AWS 所有のカスタマーマネージドキーには月額料金はかかりません。カスタマーマネージドキーには、API コールごとに料金が発生し
オンラインストアに対するカスタマーマネージドキーの使用を承認する
カスタマーマネージドキーを使ってオンラインストアを保護する場合、そのカスタマーマネージドキーに対するポリシーによって、Feature Store にキーを代理で使用する許可を与える必要があります。カスタマーマネージドキーに対するポリシーと権限付与のフルコントロールはお客様にあります。
Feature Store では、 AWS アカウント内のオンラインストアまたはオフラインストアを保護するために、デフォルトのAWS 所有 KMS キーを使用するための追加の認可は必要ありません。
カスタマーマネージドキーポリシー
オンラインストアの保護にカスタマーマネージドキーを選択する場合、Feature Store には、選択を行うプリンシパルの代わりにカスタマーマネージドキーを使うための許可が必要です。そのプリンシパル (ユーザーまたはロール) は、Feature Store が必要とするカスタマーマネージドキーに対する許可を持っている必要があります。これらのアクセス権限は、キーポリシー、IAM ポリシー、または 許可で指定できます。少なくとも、Feature Store は、カスタマーマネージドキーへの次の許可を必要とします。
-
「kms:Encrypt」、「kms:Decrypt」、「kms:DescribeKey」、「kms:CreateGrant」、「kms:RetireGrant」、「kms:ReEncryptFrom」、「kms:ReEncryptTo」、「kms:GenerateDataKey」、「kms:ListAliases」、「kms:ListGrants」、「kms:RevokeGrant」
例えば、次のキーポリシーの例では、必要なアクセス許可のみを提供します。このポリシーには、以下の影響があります。
-
Feature Store がカスタマーマネージドキーを暗号化操作に使用して、権限付与の作成ができるようにします。ただし、Feature Store を使用する許可を持つアカウント内のプリンシパルの代理として動作している場合に限ります。ポリシーステートメントで指定されたプリンシパルに Feature Store を使う許可がない場合、Feature Store サービスから呼び出された場合でも、呼び出しは失敗します。
-
kms:ViaService 条件キーは、ポリシーステートメントにリストされているプリンシパルの代わりに Feature Store からリクエストが来る場合にのみ許可を認めます。これらのプリンシパルは、これらのオペレーションを直接呼び出すことはできません。
kms:ViaServiceの値はsagemaker.*.amazonaws.comとしてください。注記
kms:ViaService条件キーはオンラインストアのカスタマーマネージド AWS KMS キーにのみ使用でき、オフラインストアには使用できません。この特別な条件をカスタマーマネージドキーに追加し、オンラインストアとオフラインストアの両方で同じ AWS KMS キーを使用すると、CreateFeatureGroupAPI オペレーションは失敗します。 -
カスタマーマネージドキー管理者に、カスタマーマネージドキーへの読み取り専用アクセス権と、権限付与 (データ保護のために Feature Store が使う権限を含む) を取り消す許可を与えます。
サンプルキーポリシーを使用する前に、サンプルプリンシパルを AWS アカウントの実際のプリンシパルに置き換えます。
権限付与を使って Feature Store を認可する
Feature Store は、キーポリシーに加え、権限付与を使ってカスタマーマネージドキーに許可を設定できます。アカウントにあるカスタマーマネージドキーへの権限付与を表示するには、ListGrants オペレーションを使用します。Feature Store は、AWS 所有のカスタマーマネージドキーを使用してオンラインストアを保護するのに、権限付与や追加の許可を必要としません。
Feature Store は、バックグラウンドシステムメンテナンスおよび継続的なデータ保護タスクを実行するときに、権限付与を使用します。
各権限付与は、オンラインストアごとに固有です。同じカスタマーマネージドキーで暗号化された複数のストアがアカウントに含まれている場合、同じカスタマーマネージドキーを使用する FeatureGroup ごとに固有の権限が付与されます。
キーポリシーは、アカウントがカスタマーマネージドキーの権限付与を取り消すことも許可できます。ただし、アクティブな暗号化されたオンラインストアで権限付与を取り消すと、Feature Store はストアを保護、維持できません。
Feature Store と のインタラクションのモニタリング AWS KMS
カスタマーマネージドキーを使用してオンラインストアまたはオフラインストアを保護する場合は、 AWS CloudTrail ログを使用して、Feature Store が AWS KMS ユーザーに代わって に送信するリクエストを追跡できます。
オンラインストアのデータにアクセスする
DataPlane オペレーションの呼び出し元 (ユーザーまたはロール) には、ターゲット特徴量グループリソースに対する対応する IAM アクションのアクセス許可が必要です。さらに、すべての DataPlane オペレーションでは、カスタマーマネージドキーkms:Decryptに が必要です。
PutRecord – 必須
sagemaker:PutRecordUpdateRecord – が必要です
sagemaker:PutRecord。UpdateRecordには個別の IAM アクションはありません。代わりに、IAM はsagemaker:PutRecordアクションUpdateRecordに対して を承認します。を許可または拒否するポリシーは、sagemaker:PutRecordにも適用されますUpdateRecord。既存のポリシーを更新する必要はありません。GetRecord – 必須
sagemaker:GetRecordDeleteRecord – 必須
sagemaker:DeleteRecordListRecords – 必須
sagemaker:ListRecordsBatchWriteRecord –
sagemaker:BatchWriteRecordと が必要ですsagemaker:PutRecordBatchGetRecord – 必須
sagemaker:BatchGetRecord
注記
BatchWriteRecord API では、呼び出し元にターゲット特徴量グループに対する sagemaker:BatchWriteRecordと の両方のsagemaker:PutRecordアクセス許可が必要です。いずれかのアクションに対する明示的な拒否は、リクエストをブロックします。
UpdateRecord アクセスコントロールの条件キー
IAM は sagemaker:PutRecordアクションUpdateRecordに対して を承認します。これらの条件キーを使用すると、より詳細なポリシーを記述できます。キーを使用すると、部分的なレコード更新と完全なレコード書き込みを区別できます。
-
sagemaker:IsUpdateRecord– リクエストがUpdateRecordコールtrueの場合は に設定し、リクエストがPutRecordコールfalseの場合は に設定します。このキーは、 がBatchWriteRecord実行するPutRecordチェックを含め、他の DataPlane オペレーションには存在しません。 -
sagemaker:UpdatableFeatures–UpdateRecordリクエストに含まれる機能名のリスト。リクエストで機能が指定されていない場合、IAM はこのキーを省略します。このキーは空のリストには存在しません。これにより、空のセットに対してForAllValues条件が評価されるのを防ぐことができます。このキーはPutRecordリクエストには存在しません。
これらの条件キーを使用すると、次のようなポリシーを構築できます。
-
次の JSON IAM ポリシーでは、特徴量グループの
UpdateRecord呼び出しのみを許可し、直接PutRecord呼び出しをブロックします。このポリシーは もブロックしますBatchWriteRecord。がBatchWriteRecord実行するsagemaker:PutRecord認可チェック中にsagemaker:IsUpdateRecordキーが存在しません。を許可する必要がある場合はBatchWriteRecord、IsUpdateRecord条件を指定せずに別のステートメントを追加します。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:PutRecord", "Resource": "arn:aws:sagemaker:us-east-1:111122223333:feature-group/test-fg", "Condition": { "Bool": { "sagemaker:IsUpdateRecord": "true" } } } ] } -
次の JSON IAM ポリシーは、特徴量グループの
PutRecord呼び出しを許可し、UpdateRecord呼び出しをブロックします。BoolIfExists条件演算子は、 ステートメントが がBatchWriteRecord実行するsagemaker:PutRecordチェックと一致することを確認します。の場合BatchWriteRecord、認可コンテキストには は含まれませんsagemaker:IsUpdateRecord。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:PutRecord", "Resource": "arn:aws:sagemaker:us-east-1:111122223333:feature-group/test-fg", "Condition": { "BoolIfExists": { "sagemaker:IsUpdateRecord": "false" } } } ] } -
次の JSON IAM ポリシーは、リクエストに含まれる他の機能に関係なく、機密機能を変更しようとする
UpdateRecord呼び出しを拒否します。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "sagemaker:PutRecord", "Resource": "arn:aws:sagemaker:us-east-1:111122223333:feature-group/test-fg", "Condition": { "Bool": { "sagemaker:IsUpdateRecord": "true" }, "ForAnyValue:StringEquals": { "sagemaker:UpdatableFeatures": ["ssn", "credit_score"] } } } ] } -
次の JSON IAM ポリシーでは、リクエストされたすべての機能が承認済みの safe-to-update リストにある場合にのみ
UpdateRecord呼び出しを許可します。trueキーがない場合、ForAllValues演算子は と評価するため、Null条件が存在するsagemaker:UpdatableFeatures必要があります。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:PutRecord", "Resource": "arn:aws:sagemaker:us-east-1:111122223333:feature-group/test-fg", "Condition": { "Bool": { "sagemaker:IsUpdateRecord": "true" }, "Null": { "sagemaker:UpdatableFeatures": "false" }, "ForAllValues:StringEquals": { "sagemaker:UpdatableFeatures": ["last_login", "click_count"] } } } ] }
注記
の条件sagemaker:PutRecordなしで許可または拒否するポリシーは、 PutRecordと の両方のUpdateRecord呼び出しにsagemaker:IsUpdateRecord引き続き適用されるため、2 つのオペレーションを区別しない限り、ポリシーを変更する必要はありません。
IAM 条件キーの使用の詳細については、IAM ユーザーガイドの「IAM JSON ポリシー要素: 条件演算子」を参照してください。
オフラインストアのカスタマーマネージドキーの使用を認可する
createFeatureGroup にパラメータとして渡される roleArn は OfflineStore KmsKeyId に次の許可を持っている必要があります。
"kms:GenerateDataKey"
注記
kms:ViaService 条件が指定されていない場合のみ、オンラインストアのキーポリシーは、オフラインストアでも機能します。
重要
AWS KMS 暗号化キーを指定して、特徴量グループの作成時にオフライン特徴量ストアに使用される Amazon S3 の場所を暗号化できます。 AWS KMS 暗号化キーが指定されていない場合、デフォルトでは AWS KMS キーを使用して保管中のすべてのデータを暗号化します。SSE のバケットレベルのキーを定義することで、 AWS KMS リクエストコストを最大 99% 削減できます。