この記事は、CAST AI社により公開されたブログ記事を元に翻訳・作成したものです。元の記事については以下をご覧ください。
(記事最終更新日:2021年9月16日)
CAST AIにおけるデータおよびセキュリティのクイックガイド
公開日:2022年11月28日
更新日:2022年11月28日
CAST AIの核となるのは、セキュリティです。私たちの創業者の何人かは、過去にアプリケーション・セキュリティと攻撃緩和に焦点を当てた会社を設立しています。CTOのLeon Kupermanは、Oracleのセキュリティ製品担当副社長でした。

当然ながら、このサイバーセキュリティに関する深い知識は、製品の安全性を高めるだけでなく、CAST AIが ISO認証を取得し、SOC 2 Type IIの認証を取得することにもつながったのです。
Kubernetesクラスタの自動コスト最適化を可能にするために、私たちはお客様のデータへアクセスを最小限とし、明確な許可リストに従います。本ガイドを読み進めることで、各ステップにおける当社のセキュリティ対策の詳細な概要を確認することができます。
CAST AIにおける一般的なセキュリティコミットメント
当社のセキュリティに関するすべてのコミットメントは、サービス・レベル・アグリーメント(SLA)、その他の契約、および当社のサービス仕様の説明の中に盛り込まれています。私たちのセキュリティに関するコミットメントはすべて標準化されており、特に以下を含みます。
- 保存中および転送中のお客様のデータは常に暗号化されています。
- 当社のプラットフォームは、SOC 2 Type IIに準拠した最先端のクラウド環境に収容されています。
- セキュリティの脆弱性や予期しない変更がないか、プラットフォームを継続的に監視およびテストします。
- このプラットフォームのセキュリティは、責任とアプリケーションの機能アクセスの分離を可能にします。
- 顧客データへのアクセスは知る必要がある場合のみとし、従業員のアクセスを監査して、アクセスレベルが決して古くならないように配慮しています。
- 世界中のセキュリティ研究者がバグを発見して報告し、同時に、CAST AI サービスの高レベルのセキュリティを確保するため、セキュリティバグ報奨金プログラムを実施しました。
- 当社のサービスは、少なくとも99.9%以上稼働しています(月ごとの測定値)。
Part 1.読み取り専用モードでの解析
最初の段階で有意義な結果を出すために、CAST AIは最小限のクラスタへのアクセスを必要とします。私たちは通常、最小特権の原則に従います。私たちの読み取り専用エージェントは、お客様のクラスタ構成を変更したり、機密データにアクセスしたりするためのアクセス権を一切持ちません。
CAST AI エージェントが参照できる情報は次のとおりです。
- Savingsレポートの実行に必要なノード、ポッド、デプロイメントなどの主なリソース。
- ポッド、デプロイメント、ステートフルセット、デーモンセットの環境変数。
CAST AIエージェントは、シークレットやConfigMapのような要素にアクセスすることはできません。環境変数名から判断して機密と思われるもの(パスワード、トークン、キー、シークレット)は、リソースが解析に送られる前に削除されます。
詳しくはこちらをご覧ください。読み取り専用のCAST AIエージェントはどのように動作し、どのようなデータを読み取るのか?
Part 2. 自動最適化とセキュリティ
分析が完了すると、ユーザーは推奨構成に手動で変更するか、自動最適化をオンにするかのいずれかを選択できます。
CAST AIは設定を分析し、可能な限り低いコストで必要なパフォーマンスを達成するために、ポッドの退避、ノードの縮小、またはスポットインスタンスの追加(オプションをオンにした場合)を行います。
ここでは、Amazon AWSの例で説明します(これらのセキュリティ原則はすべて、Google Cloud PlatformやMicrosoft Azureのユースケースでも適用されます)。
フェーズ2のオンボーディングスクリプトを実行することで、CAST AIがお客様に代わってAWSリソースのリクエストと管理を行うために使用する専用のAWSユーザーを作成します。
その際に、エージェントは以下の権限を持つユーザーアカウントを作成します。
AmazonEC2ReadOnlyAccess | AWSマネージドポリシー | 仮想マシンの詳細を取得するために使用します。 |
IAMReadOnlyAccess | AWSマネージドポリシー | IAMから必要なデータを取得するために使用します。 |
CastEKSPolicy | マネージドポリシー | クラスタノード管理時の仮想マシンの作成と削除に使用するポリシー |
CastEKSRestrictedAcces | インライン・ポリシー | クラスタの休止/レジューム機能に使用するCAST AIポリシー |
これらのポリシーの内容はAWSのコマンド出力結果で検証することができます。
これらの権限のスコープは、すべて単一のクラスタに設定されています。つまり、CAST AIはAWSアカウント内のほかのクラスタのリソースにアクセスすることができません。
CAST AIによる機密データの取り扱いについて
CAST AIは、Kubernetesクラスタでどのようなリソースを使用していたとしても、ユーザーの機密データには一切アクセスしません。CAST AIが知ることができるのは、クラスタを最も効率的に稼働させるために必要なストレージ、メモリー、CPUユニットの量だけです。
注:CAST AI エージェントとそのすべてのリソースは、いつでも削除することができます。
CAST AIがユーザーデータをどのように扱っているかを以下に説明します。
- CAST AIサービスは、データを削除しません。代わりに、エンティティが削除されたとマークされます。
- CAST AIは内部データの整合性のために、可能な限り外部キーを使用します。
- あるサービスが別のサービスが保持するデータにアクセスする必要がある場合、サービス呼び出し(同期/非同期)、またはゴールデンデータソースが発行するイベントを受信した際に作成されるデータコピー(ビュー)を所有するサービスを介して行います。
- 各サービスはプラットフォームデータの一部を個々に保有して実行します。そのため、エンティティモデルを拡張や、変更のテストが容易になります。
データのバックアップとリカバリー
Googleサービスのデータベースのネイティブバックアップを夜間に行い、データベースを暗号化して地域のGCP Objectストレージに保存します。このような本番バックアップの保存場所には、権限を与えられたチームメンバーのみがアクセスすることができます。
データベースのバックアップは30日間保存されます。バックアップファイルは、その完全性を保証するために定期的にテストされ、バックアッププロセスでは、失敗時および成功時に警告を発します。バックアップ通知のログは、最大6カ月間保存されます。
バックアップの失敗はStackdriverにより監視され、オンコールエンジニアにOpsGenieとSlackを使って通知します(同時にセキュリティチームにメールが送信されます)。
ディザスタリカバリーおよびビジネス継続性
私たちは、災害復旧計画を文書化しており、少なくとも年1回のペースで見直しと更新を行っています。また、アッシュバーン(北バージニア)のGoogleデータセンターで、3つのアベイラビリティゾーンにGKEインスタンスを配置しています。
Cloud SQLにはフェイルオーバーインスタンスがあり、常にホットスタンバイ状態になっています。プライマリデータセンターに壊滅的な障害が発生した場合も、Cloud SQLのフェイルオーバーインスタンスはGoogleにより自動的に管理されます。

タグ一覧