あなたがアクセスすることができます Amazon SageMakerスタジオ からのノートブック アマゾンセージメーカー コンソール経由 AWS IDおよびアクセス管理 (IAM)OktaなどのIDプロバイダー(IdP)からの認証済みフェデレーション。 Studioユーザーがノートブックリンクを開くと、StudioはフェデレーションユーザーのIAMポリシーを検証してアクセスを承認し、ユーザーの事前署名されたURLを生成して解決します。 SageMakerコンソールはインターネットドメインで実行されるため、この生成された事前署名されたURLはブラウザーセッションに表示されます。 これは、適切なアクセス制御が実施されていない場合に、顧客データへの侵入とアクセスを取得するための望ましくない脅威ベクトルを示します。
Studioは、事前に署名されたURLデータの漏えいに対してアクセス制御を適用するためのいくつかの方法をサポートしています。
- IAMポリシー条件を使用したクライアントIP検証
aws:sourceIp
- IAM条件を使用したクライアントVPC検証
aws:sourceVpc
- IAMポリシー条件を使用したクライアントVPCエンドポイントの検証
aws:sourceVpce
SageMakerコンソールからStudioノートブックにアクセスする場合、使用可能な唯一のオプションは、IAMポリシー条件でクライアントIP検証を使用することです。 aws:sourceIp
。 ただし、Zscalerなどのブラウザトラフィックルーティング製品を使用して、従業員のインターネットアクセスの規模とコンプライアンスを確保できます。 これらのトラフィックルーティング製品は、独自のソースIPを生成しますが、そのIP範囲は企業顧客によって制御されていません。 これにより、これらの企業顧客は aws:sourceIp
条件。
IAMポリシー条件を使用してクライアントVPCエンドポイント検証を使用するには aws:sourceVpce
、事前署名されたURLの作成は、Studioがデプロイされているのと同じ顧客VPCで行われる必要があり、事前署名されたURLの解決は、顧客VPC上のStudioVPCエンドポイントを介して行われる必要があります。 企業ネットワークユーザーのアクセス時間中の事前署名されたURLのこの解決は、DNS転送ルール(Zscalerと企業DNSの両方)を使用して実行でき、次に、 アマゾンルート53 インバウンドリゾルバ。
このパートでは、スタジオの事前署名されたURLを保護するための包括的なアーキテクチャについて説明し、インターネットを経由せずにプライベートネットワーク経由でVPCエンドポイントを介してスタジオの事前署名されたURLを作成および起動するための基本的なインフラストラクチャをセットアップする方法を示します。 これは、外部の悪意のある攻撃者がStudioの事前署名されたURLにアクセスしたり、企業環境内で不正またはなりすましの企業ユーザーにアクセスしたりすることによるデータの漏えいを防ぐための基盤となるレイヤーとして機能します。
ソリューションの概要
次の図は、包括的なソリューションアーキテクチャを示しています。
プロセスには次のステップが含まれます。
- 企業ユーザーは、IdPを介して認証し、企業ポータルに接続し、企業ポータルからStudioリンクを開きます。
- 企業ポータルアプリケーションは、API Gateway VPCエンドポイントを使用してプライベートAPI呼び出しを行い、事前に署名されたURLを作成します。
- API Gateway VPCエンドポイントの「createpresignedURL」コールは、企業DNSで設定されているように、カスタマーVPCのRoute53インバウンドリゾルバーに転送されます。
- VPC DNSリゾルバーは、それをAPIGatewayVPCエンドポイントIPに解決します。 オプションで、プライベートホストゾーンレコードが存在する場合はそれを検索します。
- API Gateway VPCエンドポイントは、Amazonプライベートネットワークを介して、APIGatewayサービスアカウントで実行されている「createpresignedURLAPI」にリクエストをルーティングします。
- APIゲートウェイは
create-pre-signedURL
プライベートAPIを使用して、リクエストをcreate-pre-signedURL
AWSラムダ 機能。 -
create-pre-signedURL
Lambda呼び出しは、LambdaVPCエンドポイントを介して呼び出されます。 -
create-pre-signedURL
関数はサービスアカウントで実行され、認証されたユーザーコンテキスト(ユーザーID、リージョンなど)を取得し、マッピングテーブルを検索してSageMakerドメインとユーザープロファイル識別子を識別し、sagemaker createpre-signedDomainURL
API呼び出し、および事前署名されたURLを生成します。 Lambdaサービスロールには、SageMakerAPIおよびStudio用に定義されたソースVPCエンドポイント条件があります。 - 生成された事前署名されたURLは、StudioVPCエンドポイントを介して解決されます。
- Studioは、事前署名されたURLがポリシーで定義された顧客のVPCエンドポイントを介してアクセスされていることを検証し、結果を返します。
- Studioノートブックは、インターネットを経由せずに、企業ネットワークを介してユーザーのブラウザセッションに戻されます。
次のセクションでは、このアーキテクチャを実装して、VPCエンドポイントを使用して企業ネットワークからStudioの事前署名されたURLを解決する方法について説明します。 次の手順を示すことにより、完全な実装を示します。
- 基本的なアーキテクチャを設定します。
- VPCエンドポイントを介してSageMakerの事前署名されたURLにアクセスするように企業アプリサーバーを設定します。
- 企業ネットワークからStudioをセットアップして起動します。
基本的なアーキテクチャを設定する
ポストで 企業ネットワークからAmazonSageMakerStudioノートブックにアクセスする、インターネットを経由せずに、企業ネットワークからStudioノートブックの事前署名されたURLドメイン名を解決する方法を示しました。 その投稿の指示に従って基本アーキテクチャをセットアップしてから、この投稿に戻って次のステップに進むことができます。
VPCエンドポイントを介してSageMakerの事前署名されたURLにアクセスするように企業アプリサーバーを設定します
インターネットブラウザからStudioにアクセスできるようにするために、オンプレミスVPCパブリックサブネット上のWindowsServerにオンプレミスアプリサーバーをセットアップしました。 ただし、StudioにアクセスするためのDNSクエリは、企業(プライベート)ネットワークを介してルーティングされます。 次の手順を実行して、企業ネットワークを介したルーティングStudioトラフィックを構成します。
- オンプレミスのWindowsアプリサーバーに接続します。
- 選択する パスワードを取得する 次に、秘密鍵を参照してアップロードし、パスワードを復号化します。
- RDPクライアントを使用し、資格情報を使用してWindowsServerに接続します。
次のスクリーンショットに示すように、WindowsServerコマンドプロンプトからStudioDNSを解決すると、パブリックDNSサーバーが使用されます。
ここで、以前にセットアップしたオンプレミスDNSサーバーを使用するようにWindowsServerを更新します。 - MFAデバイスに移動する コントロールパネル, ネットワークとインターネット、選択して ネットワーク接続.
- 右クリックする イーサネット を選択して プロパティ タブには何も表示されないことに注意してください。
- オンプレミスのDNSサーバーを使用するようにWindowsServerを更新します。
- 次に、優先DNSサーバーをDNSサーバーIPで更新します。
- MFAデバイスに移動する VPC & ルートテーブル そしてあなたを選ぶ STUDIO-ONPREM-パブリック-RT ルートテーブル。
- 基本的なアーキテクチャのセットアップ中に作成したピアリング接続としてターゲットを使用して、10.16.0.0/16へのルートを追加します。
企業ネットワークからStudioをセットアップして起動します
Studioをセットアップして起動するには、次の手順を実行します。
- Chromeをダウンロードし、このWindowsインスタンスでブラウザを起動します。
あなたがする必要があるかもしれません InternetExplorerのセキュリティ強化の構成をオフにする ファイルのダウンロードを許可してから ファイルのダウンロードを有効にする. - ローカルデバイスのChromeブラウザーで、SageMakerコンソールに移動し、Chrome開発者ツールを開きます ネットワーク タブには何も表示されないことに注意してください。
- Studioアプリを起動し、 ネットワーク のタブ
authtoken
パラメータ値。生成された署名付きURLと、解決のためにURLがルーティングされるリモートサーバーアドレスが含まれます。この例では、リモートアドレス100.21.12.108は、SageMakerDNSドメインを解決するためのパブリックDNSサーバーアドレスのXNUMXつです。name d-h4cy01pxticj.studio.us-west-2.sagemaker.aws
. - からこれらの手順を繰り返します アマゾン エラスティック コンピューティング クラウド (Amazon EC2)基本アーキテクチャの一部として設定したWindowsインスタンス。
リモートアドレスはパブリックDNSIPではなく、StudioVPCエンドポイント10.16.42.74であることがわかります。
まとめ
この投稿では、事前署名されたURL解決をインターネットに公開せずに、AmazonプライベートVPCエンドポイントを使用して企業ネットワークからStudioの事前署名されたURLを解決する方法を示しました。 これにより、SageMakerで安全性の高い機械学習ワークロードを構築するために、企業ネットワークからStudioにアクセスするための企業のセキュリティ体制がさらに保護されます。 の 一部2 このシリーズでは、このソリューションをさらに拡張して、StudioにアクセスするためのプライベートAPIを構築する方法を示します。 aws:sourceVPCE
IAMポリシーの検証とトークン認証。 このソリューションを試して、コメントにフィードバックを残してください!
著者について
ラムヴィタル AWSの機械学習ソリューションアーキテクトです。 彼は、分散型、ハイブリッド、およびクラウドアプリケーションの設計と構築に20年以上の経験があります。 彼は、安全でスケーラブルなAI / MLおよびビッグデータソリューションを構築して、企業のお客様がクラウドを採用し、ビジネスの成果を向上させるための最適化の道のりを支援することに情熱を注いでいます。 余暇にはテニスと写真を楽しんでいます。
ニーラムコシヤ AWSのエンタープライズソリューションアーキテクトです。 彼女の現在の焦点は、戦略的なビジネス成果のためのクラウド導入の旅で企業顧客を支援することです。 余暇には、読書やアウトドアを楽しんでいます。