Heroku のセキュリティとコンプライアンスに関するリソースと機能
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2024年04月03日(水)
この記事では、利用可能なコンプライアンス資料、Heroku プラットフォームでコンプライアンスを管理するためのアプローチ、およびリスクの軽減とコンプライアンス目標の達成に役立つセキュリティ機能を紹介します。
共有責任モデルとコンプライアンスに関するリソース
世界中の開発者が機密データを Heroku に委託しており、Salesforce にとってこのデータを信頼して保護することほど重要なことはありません。ただし、Heroku のセキュリティ、プライバシー、コンプライアンスで説明されているように、データの保護は、Salesforce とお客様との間で共有される責任です。
Heroku は、クラウドセキュリティアライアンスの Consensus Assessments Initiative Questionnaire (CSA CAIQ) をフレームワークとして活用して、お客様がこの責任の描写をよりよく理解できるように支援しています。さらに、Heroku は、CSA CAIQ を補完する「セキュリティランブック」を作成しました。これは、Heroku プラットフォームで準拠アプリを安全に開発するための一般的な設定と検討の出発点になります。
CSA CAIQ + セキュリティランブック、Salesforce の監査およびコンプライアンスレポート、およびサードパーティの侵入テストレポートなどの Heroku サービスの他のコンプライアンスに関するリソースは、Salesforce Trust Web サイト (Salesforce Services のログインが必要) またはコンプライアンス文書のリクエストのログから利用できます。
セキュリティとコンプライアンスに対する戦略的アプローチ
Heroku には、さまざまなデータの機密性要件を満たすための 3 つのアプリケーションランタイムが用意されています。
- Heroku Common Runtime: 重要なデータセキュリティ機能を提供する、低から中程度の機密性の高いデータタイプ向けの安全なマルチテナント環境
- Heroku Private Spaces: 追加のデータセキュリティと地理的な分離機能を提供する中程度から高度なデータタイプ向けの定義済みネットワーク境界を持つアカウント分離環境
- Heroku Shield Private Spaces: 強化されたデータセキュリティと地理的な分離機能を提供する PCI または HIPAA データなどの高度に規制されたデータタイプ向けの定義済みネットワーク境界を持つアカウント分離環境
Heroku は、上記のランタイムで実行されているアプリケーション用に、次の Heroku マネージドデータアドオンも提供しています。
これらのアドオンは、パフォーマンスやサイジングのニーズを満たすだけでなく、さまざまなデータタイプのさまざまなセキュリティとコンプライアンスのニーズにも対応できるようにする幅広いプランタイプを提供します。
Heroku のランタイムと同様に、アドオンには「Private」または「Shield」プラン階層オプションがあります。「Private」プラン階層は、中程度から高度なデータタイプ向けに設計されており、エントリレベルのプランタイプに比べてデータセキュリティ機能が追加されています。「Shield」プランは、強化されたセキュリティ設定を提供し、お客様がペイメントカード業界 (PCI) や医療保険の相互運用性と説明責任に関する法律 (HIPAA) などの高度に規制されたデータタイプの要件を満たすのに役立ちます。
機密データのタイプと Heroku サービスの使用に関する追加情報については、Heroku のコンプライアンスに関するページまたは「Security Privacy & ARChitecture (SPARC)」 のドキュメントを参照してください。
セキュリティおよびコンプライアンス機能
Heroku は、組織が組織のリスク許容度に見合ったセキュリティ制御を微調整するために設定または利用できる、一連のセキュリティおよびコンプライアンス機能を提供します。これらには、認証とアクセス、ログと監視、高度な Heroku アプリとデータアクセス方法、暗号化とデータバックアップが含まれます。
認証とアクセス
シングルサインオン (SSO)
Heroku での SSO により、ID プロバイダーを使用してユーザーアクセスを一元化し、Heroku の Web エクスペリエンスとコマンドラインインターフェース (CLI) に認証を委任することができます。ID プロバイダーは、カスタムパスワードの構成要件と多要素認証を強制することができます。多要素認証 (MFA)
組織でまだ SSO を利用する準備ができていない場合は、セキュリティを強化するために MFA を利用できます。MFA は Heroku の必須のセキュリティ機能で、フィッシング攻撃、資格情報スタッフィング、アカウントの乗っ取りなどの一般的な脅威に対するアカウントの保護を強化するための効果的な方法です。Enterprise Account と Enterprise Team
これらの Heroku Enterprise の機能により、ユーザーグループの管理が容易になり、組織がアプリごとにチームメンバーにきめ細かな権限を付与できるようにすることで、最小権限の概念を実装できるようになり、適切なユーザーが適切な操作とリソースにアクセスできるようになります。アプリのロック
アプリを本番環境にリリースし、ユーザーアクセスが安定したら、アプリをロックできます。これにより、チームメンバーが「管理」権限を持っている場合を除き、メンバーによるあらゆるアクセスが阻止されます。環境設定
資格情報などのアプリの環境固有の設定は、バージョン管理システムに保存するのではなく、環境変数として保存する必要があります。Heroku は、お客様がこれらの機密性の高い環境固有の設定を「環境設定」として保存できるようにしています。アドオン制御
Heroku は、Heroku Elements Marketplace を通じて、アプリケーションの機能を強化するためのファーストパーティおよびサードパーティのアドオンを提供しています。パートナーアドオン許可リストを使用すると、管理者はチーム内のアプリで使用するアドオンを制御でき、開発者が精査して承認したアドオンのみを使用できるようにするのに役立ちます。Heroku Postgres の資格情報**
Heroku Postgres を使用すると、付与、選択、挿入、更新、削除などの特定の権限を個々のロールに付与できます。その後、これらのロールをアプリケーションにアタッチして、アプリケーションによるデータベースへのアクセスを制限し、最小特権の原則に従うことができます。Heroku Flow
Heroku Flow は、継続的インテグレーションおよびデリバリーを簡単で視覚的、効率的、かつ安全にすることでアプリのリリースエクスペリエンスを合理化する、構造化されたデプロイワークフローです。Dashboard セッションの長さの制限
ユーザーは、再認証が必要になるまでに、制限された期間 Heroku Dashboard にログインしたままにすることができます。
ログと監視
ログとアドオンプロバイダー
Heroku は、アプリログ、システムログ、API ログ、アドオンログ、ビルドログなど、デプロイされたアプリのさまざまなログを集約して、重要なアプリイベントやパフォーマンス指標を監査できるようにします。Heroku プラットフォームは、これらのログを短期間保持します。ベストプラクティスは、これらのログをサードパーティのログ記録アドオンプロバイダーまたは外部サーバーに送信して、長期間保持することです。追跡記録*
Heroku Enterprise 機能の追跡記録は、アカウントに関連付けられた設定変更イベントの発生順の履歴を提供し、コンプライアンスプログラムへの重要な入力です。Private Space Logging**
この Shield Private Space の機能は、アプリケーション、Heroku Postgres データベース、Heroku システムサービスログ、Heroku API ログからのログイベントを単一のログキャプチャ先に転送して、ログが正しく設定されていることを簡単に確認および検証できるようにします。キーストロークのログ記録**
この Shield Private Space の機能は、インタラクティブな Heroku 実行セッションに入力されたすべてのユーザーのキーストロークをログに記録し、監査目的でこれらのログを確認する機能を提供します。
高度な Heroku アプリとデータアクセス方法
信頼済み IP 範囲**
Private Space と Shield Space のアプリケーションへのアクセスを、組織が定義した承認済み IP 範囲のリストから発信されたクライアントのみに制限できます。固定アウトバウンド IP アドレス**
Private Space または Shield Space のアプリからのアウトバウンドトラフィックは、安定した IP アドレスのセットから発信されます。これらのアプリからのトラフィックを受信するサービスは、セキュリティの追加レベルとして、アウトバウンド IP アドレスを許可リストに追加できます。Private Space Peering**
この機能を使用すると、Private Space または Shield Space で実行されている dyno とお客様により制御される AWS VPC の間にプライベートネットワーク接続を確立できます。この接続方法は、パブリックインターネットを通過せず、代わりに AWS の安全なネットワークを介してのみ通信するため、セキュリティ上のメリットが加わります。Private Space VPN**
Heroku Private Spaces および Heroku Shield Spaces では、IPSec VPN を使用して別のプライベートネットワークへの安全な接続を設定できます。これにより、dyno はプライベートネットワーク上のホストに接続でき、その逆も可能になります。接続はパブリックインターネット経由で確立されますが、すべてのトラフィックが IPSec を使用して暗号化されます。Internal Routing**
アプリケーションへのアクセスは、Internal Routing を使用することでさらに制限されます。これにより、アプリケーションへのアクセスは、同じ Private Space または Shield Private Space ネットワークで実行されている他のアプリと、以前に設定された Private Space Peering または Private Space VPN 接続のみに制限されます。PrivateLink**
PrivateLink を使用すると、ファーストパーティの Heroku アドオンである Heroku Postgres、Heroku Data for Redis、Apache Kafka on Heroku を 1 つ以上の AWS VPC に接続できます。この接続方法は、パブリックインターネットを通過せず、代わりに AWS の安全なネットワークを介してのみ通信するため、セキュリティ上のメリットが追加されます。Mutual TLS (mTLS)**
この機能により、外部リソースと、Private Space または Shield Private Space で実行されている Heroku Postgres データベースまたは Apache Kafka on Heroku クラスターの間に、安全で相互に認証されたチャネルが作成されます。外部リソースには、プライベートデータセンターまたはパブリッククラウドで実行されている mTLS 対応アプリケーションまたはシステムを含めることができます。
暗号化オプション
Automated Certificate Management (ACM)
ACM を使用すると、有効期限が切れる 1 か月前に証明書を更新し、カスタムドメインを追加または削除するときに新しい証明書を発行することで、アプリの TLS 証明書を自動的に管理できます。暗号スイート
Private Space と Shield Private Space のアプリを使用すると、新しいクライアントとの TLS 接続のネゴシエーションに使用される暗号スイートを設定できます。デフォルトでは、アプリは TLS v1.2 のみをサポートするように設定されています。さらに、Heroku は、追加の設定なしで、Heroku Connect を経由した Heroku Postgres への Salesforce データの安全な転送を自動的に管理します。Bring Your Own Key (BYOK)**
Heroku では、Heroku Postgres、Heroku Data for Redis、Apache Kafka on Heroku のほとんどのプランで保存データをディスクレベルで自動的に暗号化します。ただし、高度な暗号化が必要な顧客には、Private Space と Shield Space 内のこれらの Heroku データアドオンのための BYOK 機能を提供しています。この機能により、お客様は AWS KMS アカウントから独自のカスタマーマネージドキー (CMK) を作成および管理でき、キーによって暗号化されたすべてのデータへのアクセスを不可能にする CMK を無効にできます。
データバックアップ
Postgres ロールバック
Heroku Postgres を使用すると、プランに応じて、データベースの状態を過去 4 ~ 7 日間の間の以前の時点に「ロールバック」できます。これにより、偶発的なデータの削除やデータの上書きに関連するリスクを軽減できます。Postgres バックアップ
アプリは、接続された Heroku Postgres データベースの手動およびスケジュールされたバックアップを取るように設定できます。これを使用して、データベースを復元したり、データベース間でデータを転送したり、Heroku の外部にダウンロードして保存したりします。これらのバックアップは、災害が発生した場合に追加の保護を提供し、お客様がさまざまなコンプライアンスおよび規制要件を満たすのに役立ちます。
* この機能は、Heroku Enterprise の一部としてのみ使用できます。
** この機能は、Heroku Enterprise 製品のサブセットでのみ使用できます。