クラウドMacのセキュリティ範囲

専有だから、境界が明確

Apple Silicon搭載の物理ノードは1台につき1テナント専用です。仮想マシンではなく、CPU、GPU、ユニファイドメモリを他のテナントと共有しません。

分離、アクセス、データの取り扱いを確認してから、開発やビルドの作業を移行できます。

注文済みのノードに接続できませんか?コンソールにログインして、注文番号と発生時刻を添えてチケットをお送りください。

稼働率と確認方法

目標を明示し、実績を誇張しない

稼働率の目標と過去の観測結果は別のものです。ここではサービス目標と算出方法を示し、目標値を実測結果として扱いません。

月間稼働率の目標

99.9%

すべてのノードを年間365日、継続して稼働させます。月間稼働率が99.9%を下回った場合、停止時間に応じて契約期間を延長します。

青緑色の目盛りはサービス目標を示すもので、日ごとの監視結果ではありません。

過去90日間の確認範囲

ノードへの接続可否、障害の発生・復旧時刻、関連する注文を確認します。日ごとの監視記録を検証可能な形で公開していないため、全日正常を示す表示や、過去90日間すべて正常との主張は掲載していません。

集計期間
月単位で稼働率を算出
過去の確認対象
過去90日間の関連障害記録
確認に必要な情報
注文番号、時間帯、接続エラー、チケットの記録
対応方法
停止時間を確認後、契約期間を延長
稼働率確認のチケットを送信

算出方法と申請方法

月間稼働率は「当月のサービス提供時間から確認済みの停止時間を差し引き、当月のサービス提供時間で割る」方法で算出します。申請時は発生時刻とタイムゾーンをご記入ください。障害の原因を推測する必要はありません。「接続できない」とだけ記すより、接続エラーの原文を添えると確認しやすくなります。

お客様の操作による中断や不可抗力の扱いは、サービス利用規約に定めています。SSHのタイムアウトが1回発生しただけでは、ノード全体の停止を証明できません。接続方法、ネットワーク経路、ノードの記録を照合して判断します。詳細はサービス利用規約をご確認ください。

リソースの分離

共有枠ではなく、マシンを1台専有

専有環境により、テナント間のリソース競合を防げます。一方、マシン内の権限管理、チームでの利用、タスクの同時実行はお客様自身で管理する必要があります。

1台のマシンを1テナントで専有

注文ごとに物理マシン1台を専有し、共有ホスト上に仮想マシンを作成する方式ではありません。他のテナントがこのマシンのCPU、GPU、ユニファイドメモリを使用したり、お客様のmacOS環境を共有したりすることはありません。

分離の単位:物理ノード

ネイティブ環境をそのまま利用

macOSのGUIとコマンドラインを利用できます。Xcode、シミュレータ、Metalもネイティブ環境で動作します。お客様が起動した複数のビルド、テスト、推論タスクは、同じマシンのリソースを共有します。

同時実行の範囲:マシン内のリソース

チームで使うなら、権限もチームで管理

チームでノードを交代利用する場合は、メンバーごとにシステムアカウント、SSH公開鍵、プロジェクトディレクトリの権限を管理してください。専有環境だからといって、全員に管理者権限を付与したり、秘密鍵を使い回したりする必要はありません。

権限の範囲:最小限の付与

性能を評価する際は、プロジェクトの規模、Xcodeのバージョン、同時実行タスク数、キャッシュの状態も記録してください。専有環境では他のテナントとの競合はありませんが、どのようなワークロードでもビルド時間が一定になるわけではありません。

契約終了後のデータ取り扱い

データを持ち出してから、マシンを返却

契約終了後、ディスクを消去してOSを再インストールしてから、次のテナントに提供します。ノードは長期保管用のアーカイブではありません。バックアップはレンタル中のマシンとは別に保管してください。

  1. 01

    契約終了前にエクスポート

    未コミットのコード、ビルド成果物、必要な設定や鍵の情報を、ご自身で管理するストレージにバックアップしてください。バックアップを実際に開けること、プロジェクトを再取得できることも確認しましょう。コピーコマンドが終了したことだけでは確認になりません。

  2. 02

    外部サービスの認証を取り消す

    不要になったrunnerの登録を解除し、デプロイトークンやリポジトリへのアクセス権を取り消してください。ディスク消去で対処できるのはマシン内のデータです。外部システムの認証情報は別途取り消す必要があります。

  3. 03

    消去してOSを再インストール

    契約終了後はディスクを消去し、OSを再インストールしてから次のテナントに提供します。契約終了後のマシンを、プロジェクトファイルを復元できるバックアップ先として扱わないでください。

バックアップで確認する3つの項目

1つ目はコードと大容量ファイルです。Gitのコミットと大容量ファイルのオブジェクトが同期済みか確認してください。2つ目は作業成果物です。アーカイブ、テストレポート、ログ、未アップロードのビルド成果物を保存します。3つ目は再構築に必要な環境情報です。依存関係のロックファイル、ツールのバージョン、CI設定を保管してください。再生成できるキャッシュをすべて残す必要はありませんが、再作成できないデータは優先してエクスポートしてください。

テナントのノード内にあるファイルやプロジェクトデータを読み取ることはありません。アカウント、注文、決済取引の識別情報はサービス管理記録として扱い、ノード上のプロジェクトファイルとは別の保存方針を適用します。収集目的やお客様の権利については、プライバシーに関する説明をご覧ください。

アクセス制御

鍵はご自身で管理し、権限は必要な分だけ

ログインにはSSH鍵を使用します。接続情報や注文に関する操作記録は、ログイン後のコンソールで確認でき、必要に応じて認証情報をリセットできます。

初回接続の前に

ご自身のクライアントで鍵を生成し、秘密鍵は手元に保管して公開鍵のみ登録してください。初回接続時はノード情報とホスト鍵のフィンガープリントを確認します。フィンガープリントが変わった場合は、OSの再インストールが行われたか確認し、警告をそのまま無視しないでください。

ローカルの秘密鍵にはパスフレーズを設定することをおすすめします。秘密鍵をリポジトリ、ビルドログ、チケットに記載したり、複数のメンバーで使い回したりしないでください。

メンバーやタスクが変わったら

メンバーがプロジェクトを離れたら、そのメンバーの公開鍵を削除し、不要になったアカウント権限を取り消してください。CIには専用のサービスアカウントとトークンを使用し、リポジトリへのアクセス、ビルド、デプロイの権限を分けて管理しましょう。

必要なポートだけを開放してください。認証情報をリセットしたら、古いクライアント、自動化スクリプト、runnerが以前の設定を使っていないか確認しましょう。接続失敗が繰り返されると、本当の障害を見落とすおそれがあります。

秘密情報を渡さずにトラブルを調査

チケットには公開鍵のフィンガープリント、クライアントのバージョン、エラー文、秘密情報を除いた設定の一部を記載できます。パスワード、SSH秘密鍵、完全なアクセストークン、秘密情報を含む環境変数は送信しないでください。一時的に権限の確認が必要な場合は、対象範囲と取り消し方法を事前にチケットで取り決めてください。

決済データの取り扱い

取引を照合し、カード番号は保存しない

すべての注文は米ドル(USD)で決済され、対応する支払い方法は以下の2種類です。実際に利用できる決済手段は、バックエンドの応答に基づきます。

Visa / Mastercard / Amex

カード決済はStripeが処理し、当社ではカード番号を保存しません。注文の照合には関連する取引識別情報と決済状況を使用します。メールやチケットでカード番号全桁やカードのセキュリティコードを送る必要はありません。

決済に失敗した場合や表示状況が一致しない場合は、注文番号、発生時刻、金額、画面に表示されたエラーをお知らせください。スクリーンショットを送る前に個人情報を隠し、状況確認のために繰り返し決済しないでください。

カード決済:Stripe

USDT-TRC20

ブロックチェーン上の記録をもとに決済を照合します。支払う前に、ネットワーク、送金先アドレス、注文金額が決済ページの表示と一致していることを確認してください。照合には取引ハッシュを使用します。ウォレットの秘密鍵やシードフレーズを送る必要はありません。

送金後も注文状況が更新されない場合は、取引ハッシュと注文番号を控えてから、チケットをお送りください。着金までの時間を保証するものではなく、スクリーンショットを取引記録の代わりにすることもできません。

オンチェーン照合:取引ハッシュ

ノード上のファイル、アカウント記録、決済取引の識別情報は、それぞれ別のデータです。決済について問い合わせる際は、注文に関係する情報のみを添えてください。プロジェクト一式や署名用データを併せてアップロードしないでください。

脆弱性・セキュリティ上の問題

再現できる情報をお知らせください。記録に沿って対応します

セキュリティに関する報告は support@xcodenode.comまでお送りください。注文済みノードの障害は、コンソールにログインしてチケットを送信することもできます。

役立つ報告に含めていただきたい情報

  1. 01 影響範囲

    該当するページ、注文、ノードと、確認した事象を記載してください。証拠がない場合は、推測をデータ漏えいが発生した事実として記載しないでください。

  2. 02 再現手順

    実際に行った操作の順に、入力内容、期待した結果、実際の結果を記録してください。ご自身にアクセス権のある範囲だけで確認し、他のテナントのデータを読み取らないでください。

  3. 03 時刻と証拠

    時刻とタイムゾーンを明記し、秘密情報を除いたエラー文やスクリーンショットを添えてください。トークン、パスワード、秘密鍵、個人情報を削除し、問題の確認に必要な前後関係は残してください。

  4. 04 対応と進捗確認

    追加情報はメールまたはチケットでお送りいただき、同じ記録上で進捗をご確認ください。ノードに接続できないなど、利用に影響する障害を優先して調査します。具体的な進捗は返信をご確認ください。

ノードに直接アクセスできる秘密情報を報告に添付する必要はありません。認証情報の漏えいが疑われる場合は、まず該当するトークンを無効化し、不審な公開鍵を削除するか認証情報をリセットしてください。その後、必要な記録を保管してご報告ください。

セキュリティ範囲を確認して、ビルドを開始

専有物理ノードを選び、鍵、バックアップ、チームの権限をあらかじめ整えましょう。構成、期間別料金、追加オプションはプランページでご確認いただけます。