物理ノードとアクセス範囲

セキュリティは曖昧な約束ではなく、専用物理マシンから始まります

有効な注文ごとに、専用のApple Silicon物理ノードを1台割り当てます。VMOakは管理領域、引き渡し手順、ユーザーワークロードを分離し、認証情報の発行、運用承認、操作記録によって管理操作を制限します。

セキュリティは一方だけの機能ではありません。ノードの引き渡し、プラットフォームアカウント、必要な運用管理は当社が担い、コードリポジトリの権限、デプロイトークン、作業ファイル、リモート接続元、チームメンバーのアクセスはお客様が管理します。

ノードの帰属
有効な注文1件につき専用物理マシン1台
アクセス方法
一時認証情報は引き渡し後にお客様が初回更新
サポート範囲
完全な秘密鍵やコードリポジトリのトークンは要求しません
SESSION SECURITY RECORD

リモートセッション発行記録

範囲を確認済み
01
注文とノードの紐付け モデル、ノード、注文者を確認し、物理コンピューティングリソースを他の注文と共有しません。
完了
02
引き渡し前チェック システム起動、ネットワーク接続、ストレージ容量、アクセスアカウントの状態を確認します。
完了
03
一時認証情報の発行 管理された引き渡し経路で提供し、初回接続後すぐに更新するよう求めます。
発行済み
04
運用権限の制限 承認された障害対応時に必要な範囲だけアクセスし、理由と結果を記録します。
制限付き
セッションの原則 最小権限・追跡可能・取り消し可能
信頼モデル

プラットフォーム管理とお客様の管理範囲を明確に分離

VMOakの基本方針は、共有ホスト上で論理的な割り当てを行うことではなく、物理ノードの帰属を明確にすることです。注文が有効な間、割り当てられたMacはお客様専用です。管理領域では注文、引き渡し、必要な運用を管理し、お客様のワークロードは割り当てられたノード上で実行されます。

01

物理ノードの分離

注文ごとに専用物理マシンを割り当て、プロセッサ、メモリ、ローカルストレージを他のお客様の注文と共有しません。リモートデスクトップ、SSHタスク、ビルドプロセスはすべて割り当て済みの同一デバイス上で実行されます。

  • ノード識別情報と注文記録を紐付け
  • 引き渡し前にモデルとストレージ容量を確認
  • 注文終了後に既存のアクセス経路を停止
02

管理領域とワークロードの分離

コンソールは注文状況、認証情報の引き渡し、サポート依頼に使用し、お客様のコード、ビルド成果物、プロジェクトファイルの作業ディレクトリには使用しません。お客様のタスクは割り当てられた物理ノード内で実行されます。

  • サポート依頼ではトラブルシューティングに必要な情報だけを収集
  • 管理操作は必要な範囲で実施
  • 障害対応完了後に一時権限を回収
03

お客様側の責任

誰がノードに接続できるか、どのリポジトリトークンを使えるか、どのデータをリモートMacに置くかはお客様が決定します。チーム権限の変更、キーの取り消し、業務データのバックアップを社内手順に組み込んでください。

  • リポジトリトークンの権限範囲と有効期限を制限
  • 退職・異動後は直ちにアクセスを削除
  • 機密ファイルを暗号化し、独立したバックアップを保持
引き渡しチェック

アクセス情報の発行前に、5項目のデバイス確認を完了

引き渡しチェックでは、注文に対応する物理ノードが利用可能な状態であることを確認します。デバイス、システム、ネットワーク、ストレージ、アクセスアカウントを確認し、未検証のベンチマーク結果で引き渡し可否を判断することはありません。

  1. 01

    デバイス状態

    物理ノードの識別情報、注文モデル、基本ハードウェア状態を確認し、引き渡し記録と実際の割り当てデバイスを一致させます。

    確認後に発行
  2. 02

    システム起動

    macOSが正常に起動し、グラフィカルインターフェースとコマンドラインにアクセスでき、システム時刻と基本サービスの状態が引き渡し要件を満たすことを確認します。

    起動確認
  3. 03

    ネットワーク接続

    必要なインバウンド接続経路とアウトバウンドアクセスを確認し、リモートデスクトップとSSHに必要なサービス状態を確認します。

    接続確認
  4. 04

    ストレージ容量

    注文内蔵ストレージと選択済みの追加項目を確認し、認識容量とファイルシステム状態を確認します。設定記録と実際のノード容量に差が出ないようにします。

    容量確認
  5. 05

    アクセスアカウント

    一時アカウントで初回接続できることを確認し、発行範囲を記録します。引き渡し後、最初に認証情報を更新することをセキュリティ上の基本操作とします。

    お客様による更新待ち
認証情報のセキュリティ

一時認証情報は初回アクセス用。継続利用はお客様が管理

アクセス情報は、長期的に転送して使う固定パスワードではなく、1回限りの発行記録として扱ってください。初回接続後すぐに認証情報を更新し、ユーザーと自動化タスクごとにアクセス方法を分けることで、共有パスワードによる追跡不能なリスクを減らせます。

認証情報のライフサイクル 発行から取り消しまで
発行

一時アカウントでアクセス

アクセス先、アカウント名、一時認証情報は引き渡し記録で提供します。これらの情報を公開グループ、コードリポジトリ、ビルドログに転送しないでください。

更新

初回接続後に変更

十分な長さがあり、他のサービスで再利用していない認証情報を使用してください。複数人で利用する場合も、同じ対話型ログイン情報を長期間共有しないでください。

分離

ユーザーと自動化を分けて認証

対話型リモートデスクトップ、SSH管理、CI/CD Runnerには異なる権限経路を使用します。自動化トークンはタスクに必要なリポジトリと操作範囲だけを許可します。

取り消し

メンバー変更後すぐに削除

退職、役割変更、デバイス紛失時は、該当する公開鍵、トークン、アカウント権限を取り消し、最近のログイン記録を確認します。

SSHキー

公開鍵のみアップロードし、完全な秘密鍵は送信しない

秘密鍵はお客様が管理する接続端末または管理されたキーシステムに保管してください。ユーザーと自動化タスクごとに識別可能な独立キーを使えば、取り消し時に正確に特定できます。

  • 公開鍵をユーザーまたはタスク名で管理
  • 秘密鍵ファイルのローカル読み取り権限を制限
  • 使用停止後に該当する公開鍵を削除
権限確認の例
identity: build-runner
scope: repository-read
interactive-login: false
expires: project-policy
owner: mobile-ci-team

最小権限の考え方を示す例であり、プラットフォームがお客様に代わってリポジトリアクセスポリシーを作成するものではありません。

運用アクセス

手動対応が必要な場合、権限には理由・範囲・終了時点が必要です

サポート依頼だけで、お客様のワークロードへのアクセス権が自動的に発生することはありません。お客様が明示的に承認し、状態情報、加工済みログ、お客様側の操作ではリモート障害を解決できない場合に限り、必要な手動調査を行います。

01

問題と承認を確認

注文番号、ノード、問題発生時刻、影響範囲、お客様が実施した確認を記録します。ノードへのアクセスが必要な場合は、目的を先に説明します。

02

必要な範囲に限定

アクセスは現在の障害に必要なシステム状態、サービス設定、ログの範囲に限ります。トラブルシューティングを理由に無関係なコードや業務ファイルを閲覧することはありません。

03

操作内容を記録

主要な操作、確認結果、設定変更を記録し、後からお客様の操作、システム状態、サポート操作を区別できるようにします。

04

終了して権限を回収

障害対応完了後に一時アクセス経路を閉じ、結果、変更点、継続して確認すべき兆候をお客様に説明します。

一般的なサポート場面と許可される情報範囲
場面 まずお客様に提供いただく情報 必要になる可能性のある運用操作 提出してはいけない情報
リモート接続失敗 発生時刻、クライアントネットワーク、エラー情報、ノード識別子 サービス状態、ポート経路、アカウント状態を確認 完全な秘密鍵、未加工のリポジトリトークン
ビルドプロセスの中断 コマンド、終了コード、加工済みログ、リソース使用状況 システムプロセス、ディスク容量、基本サービスを確認 完全なプロジェクトソース、本番用キー
ストレージ容量の異常 ディレクトリ使用量の概要、注文設定、想定容量 ファイルシステム、マウント状態、注文の追加項目を確認 業務ファイルの内容、暗号化されていないデータのコピー
ネットワークとリモートセッション

接続の安全性は、通信、ポート、端末、セッション終了で決まります

リモートMacのネットワーク管理は、接続できるかどうかだけでは判断できません。接続元の機能、公開ポート、クライアント端末の状態、セッションの終了方法が実際のリスクを左右します。暗号化通信に対応した接続方式を優先し、不要なネットワーク入口を制限してください。

リモートデスクトップセッション

クライアントが必要な暗号化機能に対応していることを確認し、信頼できない端末に長期認証情報を保存しないでください。作業終了時は自分でセッションを終了し、不要になったクライアントウィンドウを閉じます。

接続前
アドレス、アカウント、クライアントの提供元を確認し、ローカル端末を更新して画面ロックを有効にします。
接続中
クリップボードで長期キーを渡さず、画面共有中に機密設定を表示しないでください。
接続後
グラフィカルセッションを終了し、一時ダウンロードを削除して、機密アプリが前面に残っていないことを確認します。

SSHと自動化接続

独立した公開鍵と最小権限トークンで自動化タスクに接続します。公開する必要のないサービスに追加のポートを開けず、一時的なデバッグ入口はタスク終了後に閉じます。

ポート管理
タスクに実際に必要な入口だけを残し、便利だからという理由で無関係なサービスを長期間公開しないでください。
キーの分離
ユーザー用キーとRunner用キーを分け、リポジトリの読み取り権限と公開権限も分離します。
異常調査
見覚えのないログインを発見したら、まず関連キーを取り消し、時系列、送信元アドレス、プロセス情報を保存します。
請求データの範囲

支払い状況は注文に反映され、完全なカード情報はVMOakのページに入りません

支払い処理では、注文完了、ステータス確認、請求問題への対応に必要な情報だけを保持します。2種類の支払い方法は異なる確認経路を使用しますが、いずれも米ドル(USD)で決済されます。実際に利用できるゲートウェイはチェックアウト時の表示に従います。

カード決済

Visa / Mastercard / Amex

カード決済はStripeで処理されます。VMOakのページでは完全なカード番号やセキュリティコードなどを保存せず、注文側では決済完了と請求対応に必要なステータス情報だけを受け取ります。

  • 米ドル(USD)で決済
  • 注文記録には支払い状況と必要な取引参照情報を記録
  • 請求に関する問題はコンソールのチケットまたはサポートメールで対応
オンチェーン決済

USDT-TRC20

USDT-TRC20の注文はオンチェーン取引記録に基づいて確認します。請求に関する問い合わせでは、注文番号、取引ID、支払い時刻を提供できますが、ウォレットの秘密鍵やその他の管理用認証情報は添付しないでください。

  • 米ドル(USD)で表示
  • 注文番号とオンチェーン取引IDで確認
  • 秘密鍵とシードフレーズは常にお客様が管理
VMOakが必要とする情報 注文番号、支払い状況、必要な取引参照情報 VMOakが必要としない情報 完全なカード情報、ウォレットの秘密鍵、無関係なアカウント認証情報
セキュリティインシデント対応

事実を確認し、影響を隔離してから復旧と振り返りを行います

セキュリティインシデント対応では、推測を証拠の代わりにしません。報告を受けた後、VMOakは関係する注文、ノード、アカウント、時間範囲を確認し、リスクに応じてアクセス経路を制限し、必要な情報を保存して調査を進めます。

  1. 01

    確認

    報告者、注文番号、ノード、最初に発見した時刻、異常の状況、現在も続いている影響を確認し、接続問題、アカウント問題、セキュリティインシデントの可能性を区別します。

    時系列を作成
  2. 02

    隔離

    影響範囲に応じて、不審なセッション、認証情報、ネットワーク入口を制限します。リスクの拡大を防ぎながら、後続調査に必要な証拠をできる限り保持します。

    影響範囲を制限
  3. 03

    調査

    関連するログイン記録、プロセス情報、設定変更、サポート操作、お客様が提供した加工済み証拠を確認し、侵入口、影響対象、継続時間を判断します。

    証拠を確認
  4. 04

    復旧

    侵入口を閉じた後に必要なアクセスを復旧し、影響を受けた認証情報や設定を更新します。リポジトリトークンの取り消し、キーのローテーション、ファイル確認など、お客様が実施すべき対応も明確にします。

    利用可能な状態に復旧
  5. 05

    通知と振り返り

    影響を受けたお客様に、確認済みの事実、対応内容、残存リスク、推奨手順を説明します。確認できない部分は明示し、推測を結論として扱いません。

    対応記録を作成
インシデントを報告

時系列を再構成できる最小限の証拠を提供してください

注文番号、ノード、最初に発見した時刻、最後に正常だった時刻、異常な送信元アドレス、エラー情報、関連アカウント、実施済みの隔離措置、加工済みログを優先して提出してください。完全な秘密鍵、リポジトリ管理者トークン、未加工の業務データは提出しないでください。

お客様向けセキュリティチェックリスト

ノードをチームに接続する前に、これらの操作を順に完了

以下のチェックリストは、リモート開発、CI/CD、セルフホストRunner、AI実験、クリエイティブワークフローに適用できます。チームの規模が大きいほど、各項目に追跡可能な担当者と実施周期を設定することが重要です。

01

初回認証情報を更新

初回接続後すぐに一時認証情報を変更し、個人のメール、コードホスティング、他のサーバーと同じパスワードを使わないでください。

担当者: ノード管理者
02

リポジトリトークンを制限

現在のプロジェクトとタスクに必要な権限だけを付与し、読み取り、ビルド、公開、管理の権限を分離して、社内の更新周期を設定します。

担当者: コードリポジトリ管理者
03

ユーザーキーとRunnerキーを分離

自動化タスクでユーザーのログインキーを再利用しないでください。Runnerごとに独立したIDを使用すると、停止、調査、ローテーションを容易に行えます。

担当者: CI/CD管理者
04

アクセスを定期的に整理

ローカルアカウント、SSH公開鍵、リポジトリトークン、自動化設定を確認し、終了したプロジェクトや不要な入口を削除します。

担当者: チーム権限管理者
05

機密ファイルを暗号化

ノードに入れる前に、そのファイルをアップロードする必要が本当にあるか確認してください。機密データにはお客様が管理する暗号化方式を使用し、独立したバックアップを保持します。

担当者: データ所有者
06

メンバーのアクセスを速やかに削除

退職、異動、外部委託タスクの終了時には、リモートアカウント、公開鍵、トークン、共有ディレクトリの権限を同時に取り消します。

担当者: チーム管理者
メンバー変更のたびに アカウント、公開鍵、リポジトリトークンを確認
プロジェクト終了のたびに キャッシュ、ビルド成果物、一時認証情報を削除
異常発生のたびに まず証拠を保存し、入口を取り消してチケットを送信
明確な範囲から始める

1つの注文で専用利用できるクラウドMacを選ぶ

M4またはM4 Proの構成、6つの注文可能なノード、課金周期を確認してから、コンソールで注文を完了します。ノードの実際の利用可能状態は、コンソールにリアルタイムで表示される情報に従います。