このトピックでは、Bastionhost を使用して Platform for AI (PAI) Data Science Workshop (DSW) インスタンスの統合された運用保守 (O&M) を実装する方法について説明します。このアプローチは、Secure Shell (SSH) のアクセスポイントを一元化し、詳細なアクセス制御を可能にし、包括的な操作監査を提供します。これにより、データ漏洩、モデルの改ざん、計算能力の乱用などのセキュリティリスクを軽減できます。
適用範囲
Bastionhost のエディション: ニーズに基づいて Bastionhost のエディションを選択します。詳細については、「バージョンの比較」をご参照ください。
O&M 機能のみが必要で、シークレットローテーションが不要な場合は、Basic Edition を使用できます。
シークレットローテーションが必要な場合は、Enterprise Dual-Engine Edition を選択できます。
ネットワーク環境: Bastionhost と DSW インスタンスは相互に通信できる必要があります。
プロトコル要件: DSW インスタンスは SSH 接続をサポートしている必要があります。
背景情報
大規模な AI モデルの開発中、アルゴリズムエンジニアや O&M 担当者は、SSH プロトコルを介して PAI-DSW 開発環境にアクセスする必要があります。彼らはコードのデバッグ、環境構成、データ管理などの操作を実行します。従来の分散型のアクセス方法には、以下のセキュリティ上の課題があります。
分散したアクセスポイント: DSW インスタンスの SSH ポートをインターネットやオフィスネットワークに直接公開すると、攻撃対象領域が拡大します。
大まかな権限管理: 複数のユーザーが
rootなどの高い権限を持つアカウントを共有すると、最小権限の原則に従うことが困難になります。これにより、操作の責任を明確に定義することも難しくなります。操作の可視性の欠如: O&M 担当者が DSW インスタンス内で実行した特定のコマンドやファイル転送を効果的に監査することは困難です。セキュリティイベントが発生した場合、原因の追跡と責任の所在の特定は困難です。
データ漏洩のリスク:
scpやwgetなどのコマンドを使用して、DSW インスタンスから機密データやモデルファイルを抜き出したりダウンロードしたりすると、効果的に制御できないリスクが生じます。
メリット
ネットワーク攻撃対象領域の削減
PAI-DSW インスタンスへのすべての SSH アクセスを Bastionhost を介して一元化できます。O&M トラフィックは内部ネットワーク上でのみ送信されます。インスタンスにパブリック IP アドレスを設定したり、ポートを公開したりする必要はありません。これにより、資産の実際のアドレスを効果的に隠し、外部からのスキャンやネットワーク攻撃をブロックします。
ID と資産の統合管理
Resource Access Management (RAM)、Active Directory (AD)、LDAP などのエンタープライズ ID ソースと統合して、分散した DSW インスタンスのアカウントを集中管理できます。これにより、ルートアカウントの共有によるセキュリティリスクを排除し、実名制の O&M システムを確立します。
詳細なアクセス制御と監査
ユーザー、資産、システムアカウントに基づいて詳細な権限付与ルールを設定できます。また、ファイル転送や削除命令のブロックなど、コマンド制御ポリシーを設定することもできます。システムはすべてのセッションログとビデオ再生を記録し、トラブルシューティングやセキュリティの責任追跡要件を満たします。
非侵入型で迅速な統合
DSW インスタンスにエージェントをインストールしたり、追加のゲートウェイをデプロイしたりすることなく、既存のネットワークアーキテクチャに Bastionhost を統合できます。資産管理を設定することで、新しい計算リソースを迅速にセキュアな O&M システムに取り込み、管理の複雑さを軽減します。
自動化されたセキュリティ O&M の強化
このソリューションは、自動 SSH キーローテーション、二要素認証 (MFA)、バッチスクリプト配信を提供します。これらの機能は、アクセスセキュリティを向上させ、手動での認証情報メンテナンスのコストを削減し、操作ミスによるセキュリティリスクを低減します。
エンドツーエンドのコンプライアンスサポート
一元化された認証、アクセス制御、セッション録画を通じて、エンドツーエンドで監査可能な O&M を実現できます。これにより、企業は金融や政府などの規制対象業界のデータセキュリティおよび O&M 監査のコンプライアンス要件を満たすことができます。
ソリューションアーキテクチャ
このソリューションの中核は、すべての O&M トラフィックの統一されたプロキシおよび監査センターとして Bastionhost を使用することです。すべての O&M エンジニアは、もはや PAI-DSW インスタンスに直接接続しません。代わりに、まず Bastionhost にログインします。厳格な ID 認証と権限チェックの後、Bastionhost はターゲットの DSW インスタンスへのアクセスをプロキシします。
アーキテクチャの説明:
ID・認証レイヤー: O&M エンジニアは、RAM ユーザー ID を使用して Bastionhost の O&M ポータルにログインします。セキュリティを強化するために、二要素認証を設定できます。Bastionhost は、AD、LDAP、IDaaS などのさまざまなエンタープライズ ID ソースと統合して、統一された ID 認証を提供できます。
アクセスプロキシレイヤー: Bastionhost は唯一のアクセスポイントとして機能し、すべての SSH 接続リクエストを一元化します。VPC (Virtual Private Cloud) 内の内部ネットワークを介して、ターゲットの PAI-DSW インスタンスに接続します。DSW インスタンスのポートをインターネットに公開する必要はありません。これにより、攻撃のリスクが大幅に軽減されます。
資産・権限レイヤー: PAI-DSW インスタンスは、統一管理のためにホスト資産として Bastionhost に追加されます。管理者は、特定のユーザーを特定の DSW インスタンスのホストアカウントにバインドするための詳細な権限付与ルールを作成できます。また、時間やソース IP アドレスに基づいてアクセスを制限することもできます。
制御・監査レイヤー: Bastionhost を通過するすべての SSH セッションは、リアルタイムで監視および記録されます。管理者は、モデルファイルの削除などの高リスクな操作を傍受またはブロックするためのコマンド制御ポリシーを設定し、ファイル転送アクティビティを監査できます。すべての操作レコードは照会および再生が可能です。レコードは、長期保存と分析のために Simple Log Service (SLS) にアーカイブすることもできます。
ステップ 1:Bastionhost インスタンスの作成
Bastionhost インスタンスを購入します。
「Bastionhost 購入ページ」に移動します。
以下の構成を指定し、[今すぐ購入] をクリックして支払いを完了します。記載されていない構成については、必要に応じて設定するか、デフォルト値のままにしてください。詳細については、「Bastionhost インスタンスの迅速な購入とログイン」をご参照ください。
設定項目
説明
例
[リージョン]
Bastionhost インスタンスが配置されているリージョンを選択します。ご利用の資産と同じリージョンを選択することを推奨します。
中国 (杭州)
[エディション]
Bastionhost インスタンスのエディションを選択します。エディションの選択方法については、「エディション選択ガイド」をご参照ください。
Enterprise Dual-Engine Edition
Bastionhost インスタンスを有効化します。
Bastionhost コンソールにログインします。トップメニューバーで、ターゲットリージョンを選択します。
説明初めて Bastionhost コンソールにアクセスする際には、包括的なセキュリティ O&M 保護を有効にするために、サービスリンクロールを作成する必要があります。プロンプトに従ってロールを作成できます。
Bastionhost インスタンスのリストで、作成したインスタンスを見つけ、[Enable] をクリックします。表示されるパネルで、以下の構成を指定します。詳細については、「Bastionhost インスタンスの有効化」をご参照ください。
構成項目
説明
値の例
Select Network
Bastionhost インスタンスの VPC と vSwitch を選択します。
VPC はインスタンスが有効化された後は変更できません。
内部ネットワークの接続性を確保するため、Bastionhost インスタンスと管理対象の Elastic Compute Service (ECS) インスタンスに同じ VPC を使用することを推奨します。
test_vpc
プライマリゾーン vSwitch の選択
Enterprise Dual-Engine Edition は、プライマリおよびセカンダリの vSwitch ゾーンにまたがるアクティブ/アクティブデプロイメントをサポートしています。Bastionhost インスタンスのプライマリゾーン vSwitch を選択します。
vsw_1
ECS セキュリティグループ
インスタンスを少なくとも 1 つの基本セキュリティグループに追加する必要があります。Bastionhost インスタンスが基本セキュリティグループに追加されると、そのセキュリティグループ内の関連資産へのアクセスを許可するアクセスルールが自動的に生成されます。
Bastionhost インスタンスは高度セキュリティグループに追加できません。代わりに、ネットワーク通信を有効にするために、高度セキュリティグループでアクセスルールを手動で設定する必要があります。
Bastionhost は他のクラウド製品によって管理されているセキュリティグループに追加できません。他のクラウド製品によって管理されているセキュリティグループしかない場合は、新しい基本セキュリティグループを作成する必要があります。
説明Bastionhost インスタンスを有効化した後、それが属するセキュリティグループを変更できます。詳細については、「Bastionhost インスタンスの設定」をご参照ください。
Bastionhost インスタンスを有効化した後、資産へのアクセスがセキュリティグループによってブロックされた場合は、セキュリティグループのアクセスルールを手動で設定できます。詳細については、「セキュリティグループルールの追加」をご参照ください。
test_sg
[次へ] をクリックします。起動チェックに合格した後、[Enable] をクリックします。
起動後、インスタンスは **初期化中** 状態になります。このプロセスには通常 10~15 分かかります。
初期化後、インスタンスのステータスが **実行中** に変わります。これは、Bastionhost インスタンスが有効化されたことを示します。
Bastionhost インスタンスのパブリックネットワークアクセスを有効にします。
Bastionhost インスタンスのリストで、作成したインスタンスを見つけ、 のスイッチをオンにします
。
ステップ 2:DSW インスタンスの作成
PAI コンソールにログインします。ターゲットの [Region] を選択します。左側のナビゲーションウィンドウで、[ワークスペースリスト] をクリックします。ターゲットのワークスペースを選択します。
左側のナビゲーションウィンドウで、 を選択します。[開発環境インスタンス] タブに移動し、[インスタンスの作成] をクリックします。以下の主要なパラメーターを設定し、他のパラメーターはデフォルト値のままにします。コンソールパラメーターの完全なリストについては、「すべてのコンソールパラメーターのリスト」をご参照ください。
構成項目
説明
値の例
Instance Name
インスタンスのカスタム名を入力します。
dsw_test
リソースタイプ
リソースタイプを指定します。
パブリックリソース
リソース仕様
リソース仕様を指定します。
説明指定した仕様が在庫切れの場合は、リストから別の仕様を選択してみてください。
ecs.gn7i-c8g1.2xlarge(構成:1 A10 GPU、8 vCPU、30 GiB メモリ)
イメージ設定
[Alibaba Cloud Image] を選択します。
説明ModelScope イメージは、優れた互換性と包括的なサードパーティライブラリセットを提供するため、使用を推奨します。
modelscope:1.31.0-pytorch2.8.0-gpu-py311-cu124-ubuntu22.04(Python バージョン:3.11、CUDA バージョン:12.4)
VPC 設定
Bastionhost インスタンスと同じ VPC を選択します。VPC を作成するには、「VPC と vSwitch」をご参照ください。
test_vpc
セキュリティグループ
ターゲットのセキュリティグループを選択します。セキュリティグループを作成するには、「セキュリティグループの管理」をご参照ください。
test_sg
SSH を有効にする
このスイッチをオンにします。
オン
SSH Public Key
「SSH 公開鍵の生成」を参照し、公開鍵の内容をここに貼り付けます。
カスタムサービス
[リスナーポート] をターゲットの [セキュリティグループ] の 方向に追加する必要があります。
リスナーポート: 22
[OK] をクリックしてインスタンスを作成します。インスタンスのステータスが [実行中] に変わると、インスタンスは作成されています。
説明Bastionhost インスタンスは、ネットワーク経由で PAI-DSW インスタンスにアクセスできる必要があります。Bastionhost と DSW インスタンスが異なる VPC にある場合は、VPC ピアリング接続を設定するか、Cloud Enterprise Network (CEN) を使用して 2 つの VPC を接続できます。接続性をテストするには、「ネットワーク診断」をご参照ください。
ステップ 3:Bastionhost での DSW インスタンスの管理
ホストを作成します。
Bastionhost コンソールにログインします。ターゲットインスタンスを見つけ、[**操作**] 列の [Manage] をクリックして、Bastionhost インスタンス管理ページに移動します。
左側のナビゲーションウィンドウで、 を選択します。次に、 を選択します。以下の情報を指定し、[Create] をクリックします。詳細については、「ホストの作成」をご参照ください。
構成項目
説明
値の例
Operating System
DSW インスタンスのオペレーティングシステムタイプを選択します。
Linux
Host IP Address
DSW インスタンスの IP アドレスを入力します。これは DSW インスタンス詳細ページの で確認できます。
192.168.1.40
Hostname
DSW インスタンスに識別しやすい名前を設定します。
dsw-model-dev
ホストアカウントを作成します。
作成したホストを見つけます。[Actions] 列で、[Create Host Account] をクリックします。DSW ホストにログインするためのアカウント情報を次の表のように設定します。完了したら、[Create] をクリックします。詳細については、「ホストアカウントの管理」をご参照ください。
構成項目
説明
値の例
Protocol
プロトコルを選択します。
SSH
Logon Name
DSW インスタンスにログインするためのユーザー名を設定します。デフォルトでは、DSW インスタンスは SSH ログイン用に
rootユーザーのみを提供します。root
特権アカウントかどうか
アカウントが特権アカウントであるかどうかを指定します。
Yes
Authentication Type
認証タイプを選択します。
秘密鍵
秘密鍵
これを、「DSW インスタンスの作成」ステップの [SSH 公開鍵] に対応する秘密鍵に設定します。
暗号化パスワード
公開鍵を作成したときにパスフレーズを設定した場合は、それをここに入力します。
ステップ 4:権限付与とアクセスポリシーの設定
ユーザーを作成します。
左側のナビゲーションウィンドウで、 を選択します。次に、 を選択します。以下の情報を指定し、[Create] をクリックします。詳細については、「ユーザーの管理」をご参照ください。
設定項目
説明
値の例
ユーザーログイン名
Bastionhost ポータルにログインするためのユーザー名を設定します。
user1
認証方法
Bastionhost ポータルにログインするための認証方式を設定します。
Local Authentication
Password
ログインパスワードを設定します。
Confirm Password
パスワードを再入力して確認します。
表示名
コンソールに表示される名前を設定します。
user1
Mobile Number
ユーザーの携帯電話番号を設定します。二要素認証が有効になっている場合、この番号はショートメッセージによる 2 次認証に使用されます。
159*******
Email
ユーザーのメールアドレスを設定します。二要素認証が有効になっている場合、このメールアドレスは 2 次認証に使用されます。
test***@aliyun.com
ユーザーにホスト権限を付与します。
ユーザーリストで、前のステップで作成したユーザーを見つけます。[Actions] 列で、[許可されたホスト] をクリックして、[認可されたホスト] ページに移動します。
[許可されたホスト] をクリックします。表示されるパネルで、ターゲットホストを選択し、[OK] をクリックします。詳細については、「ユーザーへの資産権限の付与」をご参照ください。
ユーザーにホストアカウント権限を付与します。
前のステップで権限を付与したホストを見つけます。[Authorized Accounts] 列で、「認可されたアカウントがありません。こちらをクリックして、アカウントを認可します。」をクリックします。
ターゲットアカウント (例:
[ssh] root) を選択し、[Update] をクリックします。詳細については、「ユーザーへの資産アカウント権限の付与」をご参照ください。
(オプション) 制御ポリシーを設定します。
左側のナビゲーションウィンドウで、[Control Policies] をクリックします。次に、[Create Control Policy] をクリックして、[Create Control Policy] ページに移動します。
以下の情報を指定し、[Create Control Policy] をクリックします。詳細については、「制御ポリシーの設定」をご参照ください。
構成項目
説明
値の例
Name
ポリシー名を設定します。
block-dsw-dangerous-cmds
コマンドポリシー
[コマンドポリシー] をクリックし、以下の情報を指定します:
[管理が必要なコマンドリスト]: [(Blacklist) Listed Commands Are Not Allowed]。
特定のコマンド:
ifconfig(この例ではifconfigコマンドを使用します。必要に応じて設定してください)。
[資産とユーザのバインド] ページで、以下の設定を構成します:
[選択したすべての資産に適用] を選択します。 を選択します。ターゲットホストを選択し、[OK] をクリックします。
[Apply to Selected Users] を選択します。 を選択します。ターゲットユーザーを選択し、[OK] をクリックします。
(オプション) キーローテーションタスクを作成します (Enterprise Dual-Engine Edition のみでサポート)。
セキュリティをさらに向上させるために、SSH キーの自動ローテーションを設定できます。作成されたタスクが実行されると、新しいキーペアが自動的に生成されます。公開鍵は DSW インスタンスで更新され、Bastionhost に保存されている秘密鍵は置き換えられます。
左側のナビゲーションウィンドウで、 を選択します。次に、[Create Password Change Task] をクリックします。
表示されるパネルで、以下の情報を指定し、[Create] をクリックします。詳細については、「パスワード変更タスクの作成」をご参照ください。
構成項目
説明
値の例
Task Name
タスクのカスタム名を入力します。
test_task
タスクタイプ
タスクタイプを指定します。サポートされているタイプは [パスワードのローテーション] と [キーのローテーション] です。
キーのローテーション
Execution Method
実行方法を指定します。サポートされている方法は [Periodic] と [Scheduled] です。
Scheduled
[Executed At]
タスクが実行される時間を指定します。
2025-12-23 17:23:45
タスクが作成された後、パネルで [Associate Account] をクリックします。[Managed Accounts] タブで、[Add Host Account] をクリックします。ターゲットのホストアカウントを選択し、[Add] をクリックします。
ステップ 5:検証と監査
Bastionhost ポータルにログインします。
Bastionhost インスタンス管理ページに移動します。左側のナビゲーションウィンドウで、[Overview] をクリックして [Overview] ページに移動します。
の URL にアクセスします。前のステップで作成したユーザー (例:user1) でログインします。
説明[Two-Factor Authentication] のプロンプトが表示された場合は、検証方法を選択し、プロンプトに従って検証を完了します。
ログイン後、Bastionhost ポータルの [ホスト] ページにリダイレクトされます。
ターゲットホスト (DSW インスタンス) にログインします。
Bastionhost ポータルの [ホスト] ページで、ターゲットホスト (例:dsw-model-dev) を見つけます。[リモート接続] 列で、
アイコンをクリックしてターゲットホストにログインします。制御ポリシーを検証します。
前のステップで制御ポリシーを設定した場合、ログインしたホストのターミナルでポリシーによって禁止されているコマンド (例:
ifconfig) を実行できます。メッセージpermission denied by ruleが表示された場合、制御ポリシーは有効です。
セッション監査。
Bastionhost インスタンス管理ページに移動します。左側のナビゲーションウィンドウで、 を選択してセッション情報を表示し、セッション操作を再生します。詳細については、「セッションの検索と表示」をご参照ください。
リスクの説明
不適切な権限設定
権限付与の範囲が広すぎるか、コマンド制御ポリシーが厳格でない場合、セキュリティ目標が達成されない可能性があります。権限を設定する際は、常に最小権限の原則に従ってください。
ネットワークポリシーの変更
DSW インスタンスまたは Bastionhost が存在する VPC のセキュリティグループまたはネットワークアクセスコントロールリスト (ACL) の変更は、接続の中断を引き起こす可能性があります。ネットワークポリシーを調整する際は、Bastionhost と DSW インスタンス間の通信ポート (デフォルトではポート 22) が開いたままであることを確認してください。
DSW インスタンスの IP アドレスの変更
PAI-DSW インスタンスが停止してから再起動されると、その内部 IP アドレスが変更されることがあります。IP アドレスが変更された後、Bastionhost で対応するホスト資産の IP アドレスを手動で更新する必要があります。そうしないと、接続は失敗します。重要な DSW インスタンスには固定のプライベート IP アドレスを設定するか、自動化されたスクリプトを使用して IP アドレスを更新することを推奨します。
よくある質問
Bastionhost が DSW インスタンスに接続できない
考えられる原因 | ソリューション |
ネットワーク接続の問題 | Bastionhost コンソールでネットワーク診断を実行できます。詳細については、「ネットワーク診断」をご参照ください。 |
DSW インスタンスのセキュリティグループが Bastionhost の IP アドレスからのアクセスを許可していない | DSW インスタンスのセキュリティグループのインバウンドルールを確認し、TCP ポート 22 で Bastionhost のセキュリティグループからのアクセスが許可されていることを確認します。 |
DSW インスタンスの IP アドレスが変更された | PAI コンソールで DSW インスタンスの最新の内部 IP アドレスを確認し、Bastionhost のホスト資産情報を更新します。 |
ログイン時に権限拒否またはキーエラーメッセージが表示される
考えられる原因 | ソリューション |
DSW インスタンスで SSH 公開鍵が正しく設定されていない | DSW インスタンスで設定されている公開鍵を確認し、正しく追加されていることを確認します。 |
Bastionhost で管理されている秘密鍵が DSW インスタンスの公開鍵と一致しない | Bastionhost のホストアカウント設定で、正しい秘密鍵を再アップロードします。 |
権限付与ルールでユーザー、資産、ホストアカウントが正しく関連付けられていない | Bastionhost の権限付与ルールを確認し、ユーザー、ホスト、ホストアカウントが正しくバインドされていることを確認します。 |
コマンド制御ポリシーが有効にならない
考えられる原因 | ソリューション |
ポリシーがユーザーまたは資産に正しく関連付けられていない | Bastionhost のポリシー管理セクションで、コマンドポリシーの関連付け範囲を確認し、ターゲットのユーザーと資産に関連付けられていることを確認します。 |
コマンドのマッチングルールが正しくない (例:ワイルドカード文字のフォーマットが間違っている) | コマンドポリシーのコマンドフォーマットを確認し、実際に実行されるコマンドと一致することを確認します。 |