TeamCity のセキュリティ機能

組織のニーズに合わせてサイバー攻撃に対抗する複数の保護レイヤーを導入しましょう。

CI/CD サーバーのセキュリティを最優先

CI サーバーを保護するには、スタックのレイヤーごとに防御を講じる多角的なアプローチが必要です。だからこそ、セキュリティを TeamCity の中心に据えています。TeamCity は継続的インテグレーションおよびデプロイプロセスのセキュリティを強化するための広範な機能により、ソースコードとシステムの完全性を守っています。

SOC 2 Type II 準拠

TeamCity のセキュリティに対する取り組みは、特定期間にわたる効果的なセキュリティ管理の実施および維持能力を証明した組織に授与される SOC 2 Type II 認定によって明確に示されています。

GDPR 準拠

本製品は JetBrains 製品ファミリーの一部であるため、お客様の個人情報は一般データ保護規制(GDPR)に準じる方法で処理されています。

定期的なセキュリティ監査

TeamCity は徹底した侵入テストなどの監査を定期的に実施してセキュリティに真摯に取り組み、インフラストラクチャの強化と強固なユーザー保護の実現を図っています。監査は Cure53 という有名なサイバーセキュリティ会社が実施しています。

最新の監査結果をご入用の場合は、弊社にお問い合わせください。

監査結果を請求

CI/CD プロセスの全ステージに対応する TeamCity のセキュリティ機能

識別情報、認証、承認

認証方法

TeamCity では、豊富な認証モジュールときめ細かな権限を組み合わせてプロジェクト単位のアクセス権を構成できます。

高度な統合

VCS ホスティングサービス、LDAP サーバー、または NTLM 構成を TeamCity に統合できるため、ユーザーアカウントの自動管理や 2 要素認証(2FA)、またはメール認証の導入によってセキュリティを強化できます。

最小権限の原則

TeamCity にはインストール直後から使用できる事前構成済みのロールがあります。カスタム構成のロールベースのアクセス制御も使用し、組織の階層を反映して最小権限の原則を導入することも可能です。ユーザーに必要なアクセス権のみを提供できます。

REST API

TeamCity の REST API へのリクエストについては、有効期間の短いアクセス トークンによって必要なアクセスレベルを有効にしながら潜在的な攻撃サーフェスを最小限に抑えることができます。

シークレット管理

TeamCity は API キーや資格情報といった機密情報を安全に格納するためのトークンとシークレットの使用をサポートしています。

シークレット管理ツール

環境のプロビジョニングやサードパーティシステムへのアクセスに必要なシークレットと資格情報を自身が所有する HashiCorp Vault または Azure Key Vault で管理できます。ビルドログ内のすべてのシークレットはソースに関係なく自動的にマスクされるため、悪意のある人物の手に渡ることはありません。

使い捨てのビルド環境

ソースコードリポジトリへのアクセスとインフラストラクチャでのコマンド実行機能を備えたビルドエージェントは、サイバー攻撃者にとって価値の高いターゲットです。だからこそ、TeamCity はこのようなリスクを緩和するために必要なすべての機能を提供しています。

使い捨てのビルドエージェント

ビルドエージェントの寿命が短いほど、セキュリティ侵害のリスクも小さくなります。TeamCity では、パイプラインを実行するたびにビルド環境を自動リフレッシュする使い捨てのビルドエージェントを使用できます。

エージェントプール

TeamCity のエージェントプールを使用して各エージェントで実行できるジョブを制御し、リスクの高いパイプラインを他のワークフローから切り離すことができます。

クリーンチェックアウト

SSH 鍵でバージョン管理システムへの安全なアクセスを確保し、TeamCity のクリーンチェックアウト機能を使用してパイプラインを実行するたびにソースコードの新しいコピーを取得できます。

TeamCity で CI/CD パイプラインのセキュリティを確保

TeamCity Cloud

クラウドサービスの使用を希望するチームに適した JetBrains が全面的に管理する安全な CI/CD ソリューションです。

TeamCity On-Premises

継続的インテグレーションおよびデプロイプロセスをより詳細に管理する必要のある企業に適した自己ホスト型 CI/CD ソリューションです。

プロセスの保護

CI/CD パイプラインは最新のコード変更をデプロイする前に完全な自信を持てるようにするものでなければなりません。自動プロセスを使用すれば、チェックを毎回確実に適用させることができます。

したがって、パイプラインに対するすべての変更を適用前に確認することが不可欠です。TeamCity のパイプライン権限、監査ログ、および構成のコード化はすべて、継続的インテグレーションとデプロイプロセスの完全な制御と見える化を目的としたものです。

詳細な権限設定

TeamCity のきめ細かい権限モデルにより、パイプライン設定への編集アクセスを制限し、重要なステップの回避や変更を阻止できます。設定を強制して重要なセキュリティチェックを必ず適用させることができます。監査ログからビルドまたはプロジェクト設定に対する変更を監視し、トレースバックできます。

構成のコード化

Kotlin DSL または XML でパイプラインロジックをコードとして構成できます。ソースコントロールにパイプライン設定を記録し、すべての変更をコードレビュープロセスに通すことで、安全でない変更が適用されるリスクを軽減できます。

詳細なビルドログ

セキュリティが侵害された場合は TeamCity のビルドログから違反の発生元を追跡し、被害の程度を判断するのに役立つ重要な監査証跡を得られます。

ビルド承認機能

重要なパイプラインステージの前に TeamCity のビルド承認機能を使った手動の確認ステップを導入できます。

あらゆる変更の監査

TeamCity の監査機能を使用すると、各ユーザーのアクションを追跡できます。ロールの割り当て、グループへのユーザーの追加、ビルド構成の変更、およびその他のアクティビティを実行したユーザーを特定できます。

Let's Encrypt の統合

Let’s Encrypt は、すべての最新のブラウザーが信頼する TLS 証明書を提供する非営利の認証局(CA)です。TeamCity はこの CA から TeamCity サーバードメインとアーティファクト分離ドメイン(構成されている場合)の両方の証明書を自動発行してもらうことができます。

継続的インテグレーションのセキュリティテスト

ソースコードに存在するセキュリティ脆弱性を発見して対処するのが早いほど、潜在的な攻撃サーフェスも小さくなります。TeamCity なら、早い段階でのセキュリティ対策と DevSecOps プロセスの採用を簡単に行えます。

Qodana の統合

初期状態で使用できる TeamCity と Qodana との統合機能を利用すると、静的解析をパイプラインに組み込むことができます。

セキュリティテスト

自動テストを一連の自動テストに組み込んで実行し、その場で結果を取得できます。この結果には、問題の発生源を特定するのに役立つテストのメタデータも含まれています。

事前テスト済みコミット機能

TeamCity のリモート実行と事前テスト済みコミット機能を使用して先にコードをテストしておくことで、脆弱なコードがリポジトリに侵入するリスクを軽減できます。

TeamCity プラグインで CI/CD のセキュリティを強化

以下のプラグインを使用すると、CI/CD パイプラインのセキュリティがさらに向上します。

Snyk Security

Snyk プラグインは、Snyk データベースを照会してコードの依存関係の脆弱性の有無をテストする機能を追加します。セキュリティスキャンによってポリシーの許容範囲を超える脆弱性がコード内で検出されると、ビルドは失敗します。

Appdome Build-2Secure

Appdome Build-2Secure プラグインを使用すると、JetBrains TeamCity 上でビルドとデプロイを処理する中でモバイルアプリの安全確保とカスタマイズを簡単に行えます。

Checkmarx

Checkmarx TeamCity プラグインを TeamCity 環境にインストールすると、ビルドのトリガー時にプロジェクトコードがシームレスに CxSAST にアップロードされて自動コードスキャンが実行されます。

TeamCity のプラグインを詳しく見る

TeamCity Cloud: 誇り高い AWS パートナー

TeamCity Cloud は最高水準のセキュリティに準拠する DevOps Software Competency ステータスによって実証された認定 AWS パートナーです。

無料体験をスタート

TeamCity のセキュリティに関する FAQ

弊社はサードパーティとの連携により、セキュリティスキャナーと侵入テストを使用して TeamCity のセキュリティを評価しています。発見されたすべての重大なセキュリティの問題は次のバグ修正リリースで直ちに対処されます。最新バージョンがリリースされたらすぐにアップデートすることをお勧めします。TeamCity Cloud の場合、ビルドサーバーは自動的に最新状態に維持されます。こちらをクリックすると、TeamCity のリリースサイクルの詳細をご覧いただけます。TeamCity やその他の JetBrains 製品に影響する可能性があるセキュリティの問題に関する最新情報を入手できるよう、セキュリティ通知サービスを購読することもお勧めします。

ビルドエージェントは HTTPS で保護された一方向ポーリングプロトコルを使用して TeamCity サーバーと通信します。必要に応じてビルドエージェントをプロキシの背後に構成することも可能です。TeamCity ウェブインターフェースへのアクセスは、HTTPS を使用するかリバースプロキシの背後でホストすることで保護できます。TeamCity のセキュリティベストプラクティスに関する詳細をご覧ください。

はい。プルリクエストをビルドトリガーとして構成する際に自動ビルドの対象をご自身の GitHub 組織のメンバー、あるいはメンバーと外部コラボレーターが開いたプルリクエストに制限できます。これにより、ビルドエージェントでレビューする前に不明なサードパーティが未知のコードを実行するのを阻止できます。