Amazon MLA-C01: セキュリティ、ガバナンス、コンプライアンス — 学習ガイド

こちらの一部です: AWS Machine Learning Engineer Associate MLA-C01 — 学習ガイド. 検証済みの解答で練習: Amazon試験ハブ, または時間制限付き模擬試験に挑戦: ExamRoll.io.

IAMロール、最小権限、およびSageMakerの実行コンテキスト

MLワークロードのIDとアクセス管理では、人間のユーザー、CI/CDシステム、およびランタイムコンピュートの間で、権限を明示的かつ監査可能に分離することが求められます。SageMakerの場合、これは専用の実行ロール(SageMakerサービスプリンシパル sagemaker.amazonaws.com を許可するAssumeRolePolicyDocumentを持つIAMロール)を定義し、そのロールの権限を必要最小限のアクションセットに限定することを意味します。具体的には、特定のプレフィックスに対するS3 GetObject/PutObject、1つ以上のカスタマー管理CMKに対するkms:Decrypt/kms:Encrypt、特定のLogGroup ARNに対するlogs:CreateLogStreamおよびlogs:PutLogEvents、そしてクロスアカウントアクセスが必要な場合にのみsts:AssumeRoleです。特定のSageMakerジョブやパイプラインによって作成されたアーティファクトが他のプリンシパルによって外部に持ち出されないように、リソースレベルのポリシー条件(aws:SourceAccountおよびaws:SourceArn)をアタッチします。ランタイム権限をコンパートメント化するために、トレーニング、モデル構築、ホスティングには別々のロールを使用します(CreateTrainingJob、CreateModel、CreateEndpointConfigに渡されるRoleArnフィールド)。これらのロールARNは、認証情報を埋め込むのではなく、コードやパイプラインにパラメータとして保存します。

一時的な開発者アクセスや人間による承認には、長期的なIAMユーザーキーの代わりに、AWS STSを介して引き受けられる短期的な認証情報を持つIAMロールを使用することが望ましいです。複数人によるレビューと職務の分離の徹底は、IAMのアクセス許可の境界、AWS Single Sign-OnまたはOIDC IdP、およびSageMaker Model Registryパッケージに対するリソースレベルの制御を組み合わせることで実現されます。ワークフローで一時的な権限昇格が必要な場合(例えば、モデルパッケージを承認するため)、SageMaker Model Registryの承認ワークフローを使用し、ModelApprovalStatusを"PendingManualApproval"に設定します。そして、それを"Approved"に変更するためには、狭くスコープされたsagemaker:ApproveModelPackage権限を持つIAMプリンシパルを要求します。

VPC分離、ネットワーク制御、および暗号化

ネットワーク分離は、CreateTrainingJob、CreateModel、CreateEndpointConfig、およびCreateProcessingJob APIに明示的なVpcConfig(サブネットIDとセキュリティグループID)を指定して、SageMakerのトレーニングおよび推論インスタンスをVPCサブネット内に配置することから始まります。これをVPCエンドポイント(AWS PrivateLink経由のcom.amazonaws.region.sagemakerおよびcom.amazonaws.region.s3用のインターフェイスエンドポイント、またはS3用のゲートウェイエンドポイント)と組み合わせることで、モデルアーティファクトとAPIトラフィックがパブリックインターネットを経由しないようにします。サブネットでVPCフローログを有効にし、セキュリティグループのルールを使用して、外部への送信(egress)を必要なアドレスとポートのみに制限します。例えば、S3 VPCエンドポイントのみ、または外部パッケージのダウンロードが許可されている場合はNATゲートウェイのみに制限します。

暗号化は、保管時(at rest)と転送中(in transit)の両方で適用する必要があります。保管中のデータについては、AWS KMSによるS3サーバーサイド暗号化(SSE-KMS)を使用し、管理者とSageMaker実行ロールを制限するキーポリシーを持つカスタマー管理CMKでキーを保護します(アーティファクトに対して、CMKのARNをOutputDataConfig.KmsKeyIdまたはS3 PutObjectのSSE-KMSヘッダーに設定します)。トレーニングインスタンスにアタッチされたEBSボリュームについては、ResourceConfigを介してボリュームの暗号化を指定し、EBS KMSキーが設定されていることを確認します。コンテナ間のトラフィックとネットワーク転送については、CreateTrainingJob/CreateModelでEnableInterContainerTrafficEncryptionとEnableNetworkIsolationを有効にして、コンテナ間トラフィックにTLSを強制し、アウトバウンドのインターネットアクセスをブロックします。さらに、SageMakerとS3へのすべてのRESTおよびSDKコールは、デフォルトでHTTPS/TLSを利用すべきです。CMKでEnableKeyRotationを使用してCMKをローテーションし、CloudTrailのKMSイベントでキーの使用状況を監査します。

監査ログ、データイベント、およびリネージ追跡

包括的な監査証跡は、管理プレーンのログとデータプレーンのイベントを組み合わせたものです。AWS CloudTrailを使用して、すべてのSageMakerおよびIAMのAPIコールを記録します。トレーニングデータセットとモデルアーティファクトのオブジェクトレベルの読み取り/書き込みをキャプチャするために、S3バケットに対してCloudTrailでデータイベントロギングを有効にします(DataResourcesでS3 ARNを指定したPutEventSelectorsを使用)。実行ロールにlogs:CreateLogStreamとlogs:PutLogEventsの権限があることを確認し、コンテナログとトレーニングジョブのシステムログをCloudWatch Logsに送信します。保持ポリシーとサブスクリプションフィルターを使用して、これらのログを中央のSIEMにストリーミングできます。ネットワークレベルの監査にはVPCフローログを有効にし、不審なアクティビティの検出にはGuardDutyの検出結果をサブスクライブし、S3の機密データ検出にはAmazon Macieを利用します。

リネージでは、前処理、トレーニング、評価、デプロイにわたるアーティファクトの来歴をキャプチャする必要があります。SageMaker PipelinesとSageMaker Experimentsを使用して、Experiment、Trial、およびTrialComponentのレコードを自動的に作成します。これらのAPIは、パラメータ、入力、メトリクス、およびModelPackageのメタデータを記録します。メタデータは中央のメタデータストアに永続化します。AWS Glue Data Catalogはデータセットカタログとして機能し、テーブルレベルのメタデータとパーティショニングを保存できます。一方、SageMakerのメタデータサービスはパイプラインの実行をモデルアーティファクトにリンクします。クロスアカウントまたはマルチソースからの取り込みには、AWS Glue接続(オンプレミスのMySQL用にはJDBC)で接続を一元化するか、AWS Database Migration Service (DMS)を使用してトランザクションデータをS3/Redshiftに複製し、そこでGlueクローラーがインデックスを作成できるようにします。その後、パイプラインから結果のGlueテーブルを参照して、監査可能なリネージパスを維持します。

モデルガバナンス: レジストリ、モデルカード、モニタリング

SageMaker Model Registry (モデルパッケージグループとModelPackageオブジェクト) は、CI/CDのための組み込みのライフサイクル状態とフックを備えた、正規の集中モデルストアを提供します。トレーニング済みモデルをModelPackageGroupに登録し、ModelApprovalStatusを「PendingManualApproval」に設定します。自動化(CodePipeline、Step Functions)は、承認されたプリンシパルがUpdateModelPackageを呼び出してModelApprovalStatusを「Approved」にするまで一時停止することができます。レジストリをSageMaker Model Cardsと組み合わせることで、使用目的、データセット、トレーニングのハイパーパラメータ、リネージ参照、パフォーマンスメトリクス、SageMaker Clarifyによる公平性メトリクス、およびコンプライアンスに関する記述を文書化します。モデルカードは構造化メタデータとして作成し、ModelPackageと一緒に保存する必要があります。これにより、レビュー、監査証跡、モデルカードがバイナリアーティファクトと同じ場所に保持されます。

運用モニタリングは、データとモデル品質のドリフトにはSageMaker Model Monitorを、バイアスと説明可能性にはSageMaker Clarifyを使用して行われます。CreateEndpointでDataCaptureConfigを有効にして、リクエストとレスポンスのペイロードを(SSE-KMSで)保護されたS3プレフィックスにキャプチャします。次に、(ベースライン統計と制約を使用して)Model Monitorのベースライン生成ジョブを設定し、モニタリングジョブをスケジュールするか、オンデマンド分析をトリガーします。デプロイされたリアルタイムエンドポイントのバイアスドリフトについては、推論と(利用可能な場合は)グラウンドトゥルースをキャプチャし、キャプチャしたデータセットに対してClarifyのバイアスジョブを実行し、ClarifyレポートをS3とモデルカードに保存します。アラートと修復は、ロールバックや隔離パターンを実装するCloudWatch AlarmsとStep Functionsに結び付けることができます。

設計パターン、トレードオフ、および一般的な落とし穴

複数のデータソースを集中管理する場合、JDBCコネクタを備えたAWS Glueと、きめ細かなアクセス制御のためのAWS Lake Formationを組み合わせるのが、最も運用オーバーヘッドが低いパターンです。DMSを使用してトランザクションソースをS3にレプリケートすると、MLパイプラインの分離性は向上しますが、運用上の複雑性が増します。繰り返し行われるトレーニングジョブ中のデータセットアクセスレイテンシーについては、パイプモードでS3入力をストリーミングするか、Amazon FSx for Lustreのような共有ファイルシステム(POSIX名前空間をトレーニングインスタンスにエクスポート)をマウントすることで、大規模なデータセットをローカルのEBSボリュームに繰り返しコピーする場合と比較して起動時間を短縮できます。トレードオフとして、FSxはコストと管理が追加されます。パイプモードはよりシンプルですが、トレーニングコンテナがストリーミング入力(RecordIO、protobuf)をサポートする必要があります。

最小限の運用でクラスの不均衡とカテゴリカルデータを処理するには、Data WranglerまたはSageMaker Processingを活用して一貫した変換を生成し、特徴量データをSageMaker Feature Storeに保存することで、オフラインのトレーニングとオンラインの推論が同じ変換を共有するようにします。特に不均衡については、データレベルのリサンプリングを行う前に、まずアルゴリズムレベルの対策(XGBoostの場合、scale_pos_weightをnum_negative/num_positiveに設定)を優先します。アルゴリズムによるアプローチは合成レコードの作成を避け、パイプラインにとって運用上よりシンプルです。異常検知とデータセットの品質チェックには、専用サービスとカスタムモデルのどちらかを選択します。Amazon Lookout for Metricsは、複数のソースへのコネクタを備えた自動異常検知と可視化を提供します。一方、SageMaker Random Cut Forest(組み込み)はパイプラインに直接統合され、カスタムのしきい値と説明可能性に対する完全な制御を提供します。

一般的な落とし穴には、過度に広範なIAMロール(過剰なs3:*やkms:*の権限)、S3のCloudTrailデータイベントを有効にしないことによるモデルアーティファクトが外部に持ち出された際の死角の発生、VPCエンドポイントを有効にせず意図せずデータをパブリックインターネット経由でルーティングしてしまうこと、モデル承認ワークフローをスキップし結果としてレビューされていないモデルが昇格されることなどがあります。もう一つのよくある誤りは、SSE-KMSなしで平文の機密データをS3に保存することや、不正なプリンシパルによるキーの使用を防ぐためにKMSキーポリシーを制限しないことです。

実践的な問題:ユースケースシナリオ

AcmeFin:金融ウェブアプリケーション向けの不正検知モデル。データソースには、S3内のトランザクションログと顧客プロファイル、さらに顧客のリスクスコアを含むオンプレミスのMySQLテーブルが含まれます。目標は、セキュアで監査可能なパイプライン、頻繁な再トレーニングのための低いトレーニング起動レイテンシー、本番デプロイメントのための手動承認ゲート、デプロイされたエンドポイントに対するオンデマンドのバイアス/ドリフト評価、および入力データに対する自動的な異常検知と可視化です。

  1. データの取り込みと一元化:AWS DMSを使用してオンプレミスのMySQLを、厳格なSSE-KMS暗号化(バケットポリシーをAcmeFinアカウントに制限)の下でS3のランディングプレフィックスにレプリケートします。Glueクローラーを介してS3データセットとパーティションをAWS Glueデータカタログに登録し、Lake Formationの権限を通じてアクセスを強制します。理由:DMSはトランザクションテーブルの継続的なレプリケーションを提供し、Glueカタログはメタデータを一元管理し、ETLとトレーニングにわたるリネージを可能にします。

  2. コンピュートとストレージの保護:最小権限を持つ専用のSageMaker実行ロール(CreateTrainingJobで使用されるRoleArn)を作成し、sagemaker.amazonaws.comを許可する信頼ポリシーを設定します。ロールの権限を特定のS3プレフィックスと顧客管理のCMKに制限します。CreateTrainingJobとCreateEndpointConfigにVpcConfig.SubnetsとVpcConfig.SecurityGroupIdsを指定してすべてのトレーニングと推論をプライベートサブネットに配置し、パブリックインターネットへのegressを避けるためにcom.amazonaws.region.s3とSageMaker API用のインターフェースエンドポイントを作成します。理由:VPC分離とVPCエンドポイントにより、アーティファクトがパブリックネットワークを経由しないことが保証され、CMK制限付きのロールはキーの不正使用を防ぎます。

  3. トレーニング起動レイテンシーの最小化:大規模なデータセットをトレーニングサブネットにエクスポートされたAmazon FSx for Lustreに保存し、小規模なストリーミング入力にはパイプモードを使用します。FSxにマウントされたデータセットまたはパイプモードのS3を指すInputDataConfigを使用してCreateTrainingJobを設定し、ジョブ間でデータセットポインタを一定に保つことでウォームキャッシュを再利用します。理由:FSxはPOSIXアクセスを提供し、S3からの繰り返しのダウンロードを回避します。パイプモードはストリーミング対応コンテナのコピーレイテンシーを削減します。

  4. ガバナンスと手動承認:トレーニング完了時にモデルをSageMakerモデルレジストリに登録します。新しいModelPackageオブジェクトに対してModelApprovalStatus=“PendingManualApproval"を設定します。AWS CodePipeline/Step Functionsを使用して承認ワークフローを実装し、CreateEndpointステップが実行される前に、sagemaker:UpdateModelPackage権限を持つプリンシパルがUpdateModelPackage(ModelApprovalStatus=“Approved”)を呼び出すことを要求します。理由:モデルレジストリはライフサイクル状態と、IAM認可に結びついた監査可能な承認アクションを提供します。

  5. オンデマンドのバイアスとドリフトのチェック:エンドポイントでDataCaptureConfigを有効にし、リクエストとレスポンスをSSE-KMSで暗号化されたS3プレフィックスに書き込みます。オンデマンドのバイアス分析には、キャプチャされたデータとモデルカードのベースラインを参照するSageMaker Clarifyバッチジョブを実行します。継続的なドリフトには、ライブの分布をベースライン統計と比較するSageMaker Model Monitorジョブをスケジュールします。理由:データキャプチャとClarify/Model Monitorを組み合わせることで、アドホックおよびスケジュールされた評価の両方が提供され、結果はモデルメタデータと共に保存されます。

  6. 異常検知と可視化:キャプチャされたメトリクスと特徴量の時系列データをAmazon Lookout for Metricsに接続し、自動的な異常検知と通知を行い、結果をAmazon QuickSightで可視化します。あるいは、カスタムのしきい値が必要な場合は、SageMakerでRandom Cut Forestトレーニングジョブを実行し、異常をダッシュボードに表示します。理由:Lookout for Metricsは異常検知の運用オーバーヘッドを削減し、迅速な可視化のために複数のソースと統合します。

このアプローチは、セキュリティ(VPC、SSE-KMS、制限付きIAM)、ガバナンス(モデルレジストリ、モデルカード、承認ワークフロー)、低レイテンシーのトレーニング(FSx + パイプモード)、および運用モニタリング(DataCapture、Clarify、Model Monitor、Lookout for Metrics)のバランスを取りながら、GlueカタログとSageMaker Experimentsを介して監査可能なリネージを維持します。


モデルのモニタリングと可観測性 · すべてのドメイン · 生成 AI と基盤モデル

これらの問題を練習する → · ExamRoll.ioで時間制限付き練習 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

試験に合格する →

Amazonを閲覧 →

Related guides

オールインワンアクセス

1つのサブスクリプション。すべての試験。

すべてのプランで、無制限の回答検索、模擬試験、AI解説、および完全なリソースライブラリが利用可能 — 20以上の言語に対応。

月額
24.87
Just €0.83/day
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

ベストバリュー
12ヶ月
179.87
Just €0.49/daySave 40%
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

✓ 無料プランが含まれています · ✓ いつでもキャンセル可能 · ✓ すべてのプランで製品の全機能が利用可能