Amazon SageMakerスタジオ は、機械学習 (ML) 用の Web ベースの統合開発環境 (IDE) であり、ML モデルの構築、トレーニング、デバッグ、デプロイ、監視を可能にします。 AWS アカウントとリージョンで Studio をプロビジョニングするには、まず、 アマゾンセージメーカー ドメイン - ML 環境をカプセル化する構造。 より具体的には、SageMaker ドメインは、関連する AmazonElasticファイルシステム (Amazon EFS) ボリューム、許可されたユーザーのリスト、およびさまざまなセキュリティ、アプリケーション、ポリシー、 アマゾン バーチャル プライベート クラウド (Amazon VPC) 構成。
SageMaker ドメインを作成するときは、次のいずれかを使用することを選択できます。 AWS IAM アイデンティティ センター (AWS シングル サインオンの後継) または AWS IDおよびアクセス管理 (IAM) ユーザー認証方法。 どちらの認証方法にも独自の使用例があります。 この投稿では、認証方法として IAM Identity Center、つまりシングル サインオン (SSO) モードを使用する SageMaker ドメインに焦点を当てます。
SSO モードでは、IAM Identity Center で SSO ユーザーとグループを設定し、Studio コンソールから SSO グループまたはユーザーのいずれかにアクセスを許可します。 現在、ドメイン内のすべての SSO ユーザーは、ドメインの実行ロールを継承します。 これはすべての組織で機能するとは限りません。 たとえば、管理者は、Active Directory (AD) グループのメンバーシップに基づいて、Studio SSO ユーザーの IAM 権限を設定したい場合があります。 さらに、管理者は SSO ユーザーに Studio へのアクセスを手動で許可する必要があるため、数百人のユーザーをオンボーディングする場合にはプロセスが拡張できない可能性があります。
この投稿では、AD グループのメンバーシップに基づいて最小限の権限で SSO ユーザーを Studio にプロビジョニングするソリューションの規範的なガイダンスを提供します。 このガイダンスにより、数百人のユーザーを Studio にオンボーディングするために迅速に拡張し、セキュリティとコンプライアンスの体制を達成することができます。
ソリューションの概要
次の図は、ソリューションのアーキテクチャを示しています。
Studio で AD ユーザーをプロビジョニングするワークフローには、次の手順が含まれます。
- デジタルフィルターボックス(フィルターと増幅用)と周波数応答アナライザーを使用して SSO モードの Studio ドメイン.
- 各 AD グループについて:
- 適切な詳細な IAM ポリシーを使用して Studio 実行ロールを設定する
- AD グループと役割のマッピングにエントリを記録します。 Amazon DynamoDB 列で番号の横にあるXをクリックします。
あるいは、AD グループ名に基づいて IAM ロール ARN の命名標準を採用し、マッピングを外部データベースに保存することなく IAM ロール ARN を導出することができます。
- AD ユーザー、グループ、メンバーシップを AWS Identity Center に同期します。
- SCIM をサポートする ID プロバイダー (IdP) を使用している場合は、IAM Identity Center との SCIM API 統合を使用します。
- セルフマネージド AD を使用している場合は、AD コネクタを使用できます。
- 企業 AD に AD グループが作成されたら、次の手順を実行します。
- IAM Identity Center で対応する SSO グループを作成します。
- SageMaker コンソールを使用して、SSO グループを Studio ドメインに関連付けます。
- 企業 AD で AD ユーザーが作成されると、対応する SSO ユーザーが IAM Identity Center で作成されます。
- AD ユーザーが AD グループに割り当てられると、IAM Identity Center API (グループメンバーシップの作成) が呼び出され、SSO グループのメンバーシップが作成されます。
- 前のイベントがログインしています AWS クラウドトレイル 名前で
AddMemberToGroup
. - An アマゾンイベントブリッジ ルールは CloudTrail イベントをリッスンし、
AddMemberToGroup
ルールパターン。 - EventBridge ルールがターゲットをトリガーします。 AWSラムダ 機能。
- この Lambda 関数は、IAM Identity Center API をコールバックし、SSO ユーザーとグループの情報を取得し、次の手順を実行して Studio ユーザー プロファイルを作成します (ユーザープロファイルの作成) SSO ユーザーの場合:
- DynamoDB テーブルを検索して、AD グループに対応する IAM ロールを取得します。
- ルックアップ テーブルから取得した SSO ユーザーと IAM ロールを使用してユーザー プロファイルを作成します。
- SSO ユーザーには Studio へのアクセスが許可されます。
- SSO ユーザーは、Studio ドメイン URL を介して Studio IDE にリダイレクトされます。
執筆時点では、ステップ 4b (SSO グループを Studio ドメインに関連付ける) は、管理者が SageMaker ドメイン レベルで SageMaker コンソールを使用して手動で実行する必要があることに注意してください。
ユーザープロファイルを作成するための Lambda 関数を設定する
このソリューションでは、Lambda 関数を使用して Studio ユーザー プロファイルを作成します。 Studio ユーザー プロファイルの作成を自動化するニーズに合わせてコピーして変更できる、次のサンプル Lambda 関数が提供されています。 この関数は次のアクションを実行します。
- CloudTrail を受け取る
AddMemberToGroup
EventBridge からのイベント。 - スタジオを取得する
DOMAIN_ID
環境変数から取得します (複数のドメインがある場合は、ドメイン ID をハードコーディングするか、DynamoDB テーブルを使用することもできます)。 - ダミーのマークアップ テーブルから読み取り、AD ユーザーと実行ロールを照合します。 テーブル駆動のアプローチを使用している場合は、DynamoDB テーブルからフェッチするようにこれを変更できます。 DynamoDB を使用する場合、Lambda 関数の実行ロールにはテーブルから読み取る権限も必要です。
- CloudTrail イベント データに基づいて、IAM Identity Center から SSO ユーザーと AD グループのメンバーシップ情報を取得します。
- SSO の詳細と一致する実行ロールを使用して、SSO ユーザーの Studio ユーザー プロファイルを作成します。
デフォルトでは、Lambda 実行ロールにはユーザー プロファイルを作成したり、SSO ユーザーをリストしたりするためのアクセス権がないことに注意してください。 Lambda 関数を作成した後、IAM で関数の実行ロールにアクセスし、組織の要件に基づいて必要に応じて絞り込んだ後、次のポリシーをインライン ポリシーとしてアタッチします。
CloudTrail イベントの EventBridge ルールを設定する
EventBridge は、アプリケーションをさまざまなソースからのデータに接続するために使用できるサーバーレス イベント バス サービスです。 このソリューションでは、ルールベースのトリガーを作成します。EventBridge はイベントをリッスンして、提供されたパターンと照合し、パターンの照合が成功した場合に Lambda 関数をトリガーします。 ソリューションの概要で説明したように、私たちは次のような声に耳を傾けます。 AddMemberToGroup
イベント。 セットアップするには、次の手順を実行します。
- EventBridge コンソールで、 キャンペーンのルール ナビゲーションペインに表示されます。
- 選択する ルールを作成.
- ルール名を指定します。例:
AddUserToADGroup
. - 必要に応じて、説明を入力します。
- 選択 デフォルト イベントバスの場合。
- ルールタイプ、選択する イベントパターンのあるルール、を選択します Next.
- ソフトウェア設定ページで、下図のように イベントパターンの構築 ページ、選択 イベント·ソース as AWS イベントまたは EventBridge パートナー イベント.
- イベントパターンを選択してください カスタム パターン (JSON エディター) タブをクリックして、次のパターンを入力します。
- 選択する Next.
- ソフトウェア設定ページで、下図のように ターゲットを選択してください ページで、ターゲット タイプとして AWS サービス、ターゲットとして Lambda 関数、および前に作成した関数を選択してから、 Next.
- 選択する Next タグを構成する ページ、次に選択 ルールを作成 確認して作成する ページで見やすくするために変数を解析したりすることができます。
Lambda 関数と EventBridge ルールを設定したら、このソリューションをテストできます。 これを行うには、IdP を開き、Studio 実行ロールがマップされた AD グループの XNUMX つにユーザーを追加します。 ユーザーを追加すると、Lambda 関数のログを確認してイベントを検査したり、自動的にプロビジョニングされた Studio ユーザーを確認したりできます。 さらに、 ユーザープロファイルの説明 ユーザーが適切な権限を持って作成されたことを確認するための API 呼び出し。
複数の Studio アカウントのサポート
上記のアーキテクチャで複数の Studio アカウントをサポートするには、次の変更をお勧めします。
- 各 Studio アカウント レベルにマッピングされた AD グループを設定します。
- 各 Studio アカウントでグループレベルの IAM ロールを設定します。
- グループと IAM ロールのマッピングを設定または派生します。
- 実行する Lambda 関数をセットアップする クロスアカウントの役割の想定、 IAM ロール マッピング ARN と作成されたユーザー プロファイルに基づいて。
ユーザーのプロビジョニング解除
ユーザーが AD グループから削除された場合は、Studio ドメインからもそのユーザーのアクセスを削除する必要があります。 SSO では、AD と IAM Identity Center の同期が設定されている場合、ユーザーが削除されると、そのユーザーは IAM Identity Center で自動的に無効になり、Studio アプリケーションへのアクセスはすぐに取り消されます。
ただし、Studio 上のユーザー プロファイルは引き続き残ります。 CloudTrail と Lambda 関数を使用して同様のワークフローを追加し、Studio からユーザー プロファイルを削除できます。 EventBridge トリガーは、 グループメンバーシップの削除 イベント。 Lambda 関数で、次の手順を実行します。
- ユーザーとグループ ID からユーザー プロファイル名を取得します。
- を使用して、ユーザー プロファイルで実行中のすべてのアプリを一覧表示します。 アプリのリスト API 呼び出し、フィルタリング
UserProfileNameEquals
パラメータ。 ユーザーのすべてのアプリを一覧表示するには、ページ分割された応答を必ず確認してください。 - ユーザーの実行中のアプリをすべて削除し、すべてのアプリが削除されるまで待ちます。 使用できます アプリの説明 アプリのステータスを表示するための API。
- すべてのアプリが 削除された 状態(または Failed:)、ユーザープロファイルを削除します。
このソリューションを導入すると、ML プラットフォーム管理者はグループ メンバーシップを XNUMX か所で管理し、EventBridge および Lambda 機能を通じて Studio ユーザー プロファイル管理を自動化できます。
次のコードは、サンプル CloudTrail イベントを示しています。
次のコードは、Studio ユーザー プロファイル API リクエストのサンプルを示しています。
まとめ
この投稿では、管理者が AD グループのメンバーシップに基づいて数百のユーザーの Studio オンボーディングを拡張する方法について説明しました。 私たちは、組織が俊敏性、セキュリティ、コンプライアンスのニーズを満たすためにオンボーディング プロセスを自動化および拡張するために採用できるエンドツーエンドのソリューション アーキテクチャを実証しました。 ユーザーのオンボーディングを自動化するスケーラブルなソリューションをお探しの場合は、このソリューションを試して、以下にフィードバックを残してください。 Studio へのオンボーディングの詳細については、を参照してください。 AmazonSageMakerドメインにオンボード.
著者について
ラムヴィタル AWS の ML スペシャリスト ソリューション アーキテクトです。 彼は、分散、ハイブリッド、クラウド アプリケーションの設計と構築に 20 年以上の経験があります。 彼は、安全でスケーラブルな AI/ML およびビッグ データ ソリューションを構築し、企業顧客のクラウド導入と最適化の取り組みを支援してビジネス成果を向上させることに情熱を注いでいます。 暇なときは、オートバイに乗って、2 歳のシープ・ア・ドゥードゥルと散歩しています。
ドゥルガスリー Amazon SageMaker Service SA チームの ML ソリューションアーキテクトです。 彼女は機械学習を誰でも利用できるようにすることに情熱を持っています。 AWS での 4 年間、彼女は企業顧客向けの AI/ML プラットフォームのセットアップを支援してきました。 仕事以外のときは、バイクに乗ったり、ミステリー小説を読んだり、5 歳のハスキー犬とハイキングしたりすることが大好きです。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- EVMファイナンス。 分散型金融のための統一インターフェイス。 こちらからアクセスしてください。
- クォンタムメディアグループ。 IR/PR増幅。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 データ インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/onboard-users-to-amazon-sagemaker-studio-with-active-directory-group-specific-iam-roles/
- :持っている
- :は
- :not
- $UP
- 1
- 11
- 116
- 20
- 20年
- 200
- 22
- 24
- 9
- a
- 私たちについて
- 同意
- アクセス
- アクセス可能な
- アカウント
- 達成する
- Action
- 行動
- アクティブ
- Active Directory
- Ad
- 加えます
- 追加されました
- さらに
- 管理人
- 管理者
- 採用
- 養子縁組
- 後
- に対して
- AI / ML
- すべて
- 許す
- また
- Amazon
- アマゾンセージメーカー
- Amazon SageMakerスタジオ
- Amazon Webサービス
- an
- および
- API
- API
- 申し込み
- アプローチ
- 適切な
- アプリ
- 建築
- です
- AS
- 割り当てられた
- 仲間
- 関連する
- 仮定
- At
- アタッチ
- 認証
- 許可
- 自動化する
- 自動的に
- 自動化する
- AWS
- バック
- ベース
- BE
- なぜなら
- き
- ビッグ
- ビッグデータ
- ボディ
- 両言語で
- ビルド
- 建物
- バス
- ビジネス
- by
- コール
- 缶
- 例
- センター
- 中央の
- 変化する
- 変更
- 文字
- チェック
- 選択する
- クライアント
- クラウド
- クラウドの採用
- クラウドアプリケーション
- コード
- COM
- コンプリート
- コンプライアンス
- お問合せ
- からなる
- 領事
- 構築する
- コンテキスト
- 企業
- 対応する
- 作ります
- 作成した
- 作成
- 創造
- 現在
- Customers
- データ
- データベース
- デフォルト
- 実証
- 展開します
- 説明
- 詳細
- 細部
- 開発
- 無効
- 議論する
- 配布
- do
- そうではありません
- すること
- ドメイン
- ドメイン
- ドント
- ダウン
- 各
- 前
- エディタ
- 効果
- どちら
- ほかに
- 可能
- 端から端まで
- 入力します
- Enterprise
- 企業顧客
- エントリ
- 環境
- エーテル(ETH)
- イベント
- イベント
- 誰も
- 例
- 実行
- 体験
- 説明
- 外部
- false
- フィードバック
- File
- フィルタリング
- 名
- フォーカス
- フォロー中
- から
- function
- 機能
- さらに
- 取得する
- 助成金
- 付与された
- グループ
- グループの
- ガイダンス
- ハンドル
- 持ってる
- he
- 助けます
- 助けました
- 彼女の
- ハイキング
- 彼の
- 認定条件
- HTML
- HTTP
- HTTPS
- 何百
- ハイブリッド
- IAM
- ID
- アイデンティティ
- if
- 説明する
- 直ちに
- import
- 改善します
- in
- 含ま
- 情報
- 統合された
- 統合
- 呼び出された
- IT
- 旅
- JSON
- 学習
- 最低
- コメントを残す
- ことができます
- レベル
- リスト
- 場所
- ログインして
- ロジック
- 探して
- 検索
- で
- 機械
- 機械学習
- 維持する
- make
- 作成
- 管理
- 手動で
- マッピング
- 一致
- マッチング
- 五月..
- 大会
- メンバー
- メンバーシップ
- メンバーシップ
- 方法
- メソッド
- ML
- モード
- モデル
- 修正する
- モニター
- 他には?
- オートバイ
- の試合に
- 謎
- 名
- 命名
- ナビゲーション
- 必要
- 必要とされる
- 必要
- ニーズ
- 何も
- 今
- 得
- of
- オクタ
- on
- オンボード
- 新人研修
- かつて
- ONE
- 開いた
- 最適化
- or
- 組織
- 組織
- OS
- でる
- 成果
- が
- 概要
- 自分の
- ページ
- ペイン
- パラメーター
- パートナー
- 情熱的な
- パターン
- パターン
- 実行する
- 実行
- 実行する
- パーミッション
- 持続する
- 場所
- プラットフォーム
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 方針
- ポスト
- プライベート
- 特権
- プロセス
- プロフィール
- 対応プロファイル
- 提供します
- 提供
- プロバイダー
- 準備
- すぐに
- 読む
- 推奨する
- 地域
- 削除します
- 削除済み
- 要求
- の提出が必要です
- 要件
- リソースを追加する。
- 応答
- return
- 職種
- 役割
- ルール
- ランニング
- s
- SA
- セージメーカー
- ド電源のデ
- 規模
- スコーピング
- 安全に
- セキュリティ
- サーバレス
- サービス
- サービス
- セッションに
- 彼女
- すべき
- 作品
- 同様の
- から
- So
- 溶液
- ソリューション
- ソース
- ソース
- 専門家
- 標準
- 都道府県
- ステートメント
- Status:
- 手順
- ステップ
- まだ
- 店舗
- 研究
- 成功した
- サポート
- サポート
- テーブル
- ターゲット
- チーム
- test
- それ
- アプリ環境に合わせて
- その後
- この
- 介して
- 時間
- 〜へ
- トレーニング
- トリガー
- true
- 試します
- type
- 未知の
- まで
- URL
- つかいます
- ユーザー
- users
- 使用されます
- 値
- 多様
- 確認する
- バージョン
- 、
- 詳しく見る
- バーチャル
- ボリューム
- wait
- 欲しいです
- we
- ウェブ
- Webサービス
- ウェブベースの
- WELL
- いつ
- 意志
- 無し
- 仕事
- ワークフロー
- ワーキング
- 書き込み
- 年
- 貴社
- あなたの
- ゼファーネット