I would like to view this page in
CI サーバーを保護するには、スタックのレイヤーごとに防御を講じる多角的なアプローチが必要です。だからこそ、セキュリティを TeamCity の中心に据えています。TeamCity は継続的インテグレーションおよびデプロイプロセスのセキュリティを強化するための広範な機能により、ソースコードとシステムの完全性を守っています。
TeamCity のセキュリティに対する取り組みは、特定期間にわたる効果的なセキュリティ管理の実施および維持能力を証明した組織に授与される SOC 2 Type II 認定によって明確に示されています。
本製品は JetBrains 製品ファミリーの一部であるため、お客様の個人情報は一般データ保護規制(GDPR)に準じる方法で処理されています。
識別情報、認証、承認
TeamCity では、豊富な認証モジュールときめ細かな権限を組み合わせてプロジェクト単位のアクセス権を構成できます。
VCS ホスティングサービス、LDAP サーバー、または NTLM 構成を TeamCity に統合できるため、ユーザーアカウントの自動管理や 2 要素認証(2FA)、またはメール認証の導入によってセキュリティを強化できます。
TeamCity にはインストール直後から使用できる事前構成済みのロールがあります。カスタム構成のロールベースのアクセス制御も使用し、組織の階層を反映して最小権限の原則を導入することも可能です。ユーザーに必要なアクセス権のみを提供できます。
TeamCity の REST API へのリクエストについては、有効期間の短いアクセス トークンによって必要なアクセスレベルを有効にしながら潜在的な攻撃サーフェスを最小限に抑えることができます。
TeamCity は API キーや資格情報といった機密情報を安全に格納するためのトークンとシークレットの使用をサポートしています。
環境のプロビジョニングやサードパーティシステムへのアクセスに必要なシークレットと資格情報を自身が所有する HashiCorp Vault または Azure Key Vault で管理できます。ビルドログ内のすべてのシークレットはソースに関係なく自動的にマスクされるため、悪意のある人物の手に渡ることはありません。
ソースコードリポジトリへのアクセスとインフラストラクチャでのコマンド実行機能を備えたビルドエージェントは、サイバー攻撃者にとって価値の高いターゲットです。だからこそ、TeamCity はこのようなリスクを緩和するために必要なすべての機能を提供しています。
ビルドエージェントの寿命が短いほど、セキュリティ侵害のリスクも小さくなります。TeamCity では、パイプラインを実行するたびにビルド環境を自動リフレッシュする使い捨てのビルドエージェントを使用できます。
TeamCity のエージェントプールを使用して各エージェントで実行できるジョブを制御し、リスクの高いパイプラインを他のワークフローから切り離すことができます。
SSH 鍵でバージョン管理システムへの安全なアクセスを確保し、TeamCity のクリーンチェックアウト機能を使用してパイプラインを実行するたびにソースコードの新しいコピーを取得できます。
CI/CD パイプラインは最新のコード変更をデプロイする前に完全な自信を持てるようにするものでなければなりません。自動プロセスを使用すれば、チェックを毎回確実に適用させることができます。
したがって、パイプラインに対するすべての変更を適用前に確認することが不可欠です。TeamCity のパイプライン権限、監査ログ、および構成のコード化はすべて、継続的インテグレーションとデプロイプロセスの完全な制御と見える化を目的としたものです。
TeamCity のきめ細かい権限モデルにより、パイプライン設定への編集アクセスを制限し、重要なステップの回避や変更を阻止できます。設定を強制して重要なセキュリティチェックを必ず適用させることができます。監査ログからビルドまたはプロジェクト設定に対する変更を監視し、トレースバックできます。
Kotlin DSL または XML でパイプラインロジックをコードとして構成できます。ソースコントロールにパイプライン設定を記録し、すべての変更をコードレビュープロセスに通すことで、安全でない変更が適用されるリスクを軽減できます。
セキュリティが侵害された場合は TeamCity のビルドログから違反の発生元を追跡し、被害の程度を判断するのに役立つ重要な監査証跡を得られます。
重要なパイプラインステージの前に TeamCity のビルド承認機能を使った手動の確認ステップを導入できます。
TeamCity の監査機能を使用すると、各ユーザーのアクションを追跡できます。ロールの割り当て、グループへのユーザーの追加、ビルド構成の変更、およびその他のアクティビティを実行したユーザーを特定できます。
Let’s Encrypt は、すべての最新のブラウザーが信頼する TLS 証明書を提供する非営利の認証局(CA)です。TeamCity はこの CA から TeamCity サーバードメインとアーティファクト分離ドメイン(構成されている場合)の両方の証明書を自動発行してもらうことができます。
ソースコードに存在するセキュリティ脆弱性を発見して対処するのが早いほど、潜在的な攻撃サーフェスも小さくなります。TeamCity なら、早い段階でのセキュリティ対策と DevSecOps プロセスの採用を簡単に行えます。
初期状態で使用できる TeamCity と Qodana との統合機能を利用すると、静的解析をパイプラインに組み込むことができます。
自動テストを一連の自動テストに組み込んで実行し、その場で結果を取得できます。この結果には、問題の発生源を特定するのに役立つテストのメタデータも含まれています。
TeamCity のリモート実行と事前テスト済みコミット機能を使用して先にコードをテストしておくことで、脆弱なコードがリポジトリに侵入するリスクを軽減できます。
以下のプラグインを使用すると、CI/CD パイプラインのセキュリティがさらに向上します。
Snyk プラグインは、Snyk データベースを照会してコードの依存関係の脆弱性の有無をテストする機能を追加します。セキュリティスキャンによってポリシーの許容範囲を超える脆弱性がコード内で検出されると、ビルドは失敗します。
Appdome Build-2Secure プラグインを使用すると、JetBrains TeamCity 上でビルドとデプロイを処理する中でモバイルアプリの安全確保とカスタマイズを簡単に行えます。
Checkmarx TeamCity プラグインを TeamCity 環境にインストールすると、ビルドのトリガー時にプロジェクトコードがシームレスに CxSAST にアップロードされて自動コードスキャンが実行されます。
TeamCity Cloud は最高水準のセキュリティに準拠する DevOps Software Competency ステータスによって実証された認定 AWS パートナーです。
無料体験をスタートこのホワイトペーパーでは、CI/CD サーバーでサプライチェーン攻撃を防ぐための 9 つの効果的な方法をセキュリティの強化と重要な開発プロセスの保護に役立つ実践的なガイドとベストプラクティスを交えて紹介しています。
HashiCorp Vault はシークレットと資格情報を管理するための統一された方法を提供し、アクセス監査を実現可能にし、パスワードローテーションを支援します。
このウェビナーでは、以下を含む信頼できるソフトウェアを提供するためのヒントとトリックを学習します。
弊社はサードパーティとの連携により、セキュリティスキャナーと侵入テストを使用して TeamCity のセキュリティを評価しています。発見されたすべての重大なセキュリティの問題は次のバグ修正リリースで直ちに対処されます。最新バージョンがリリースされたらすぐにアップデートすることをお勧めします。TeamCity Cloud の場合、ビルドサーバーは自動的に最新状態に維持されます。こちらをクリックすると、TeamCity のリリースサイクルの詳細をご覧いただけます。TeamCity やその他の JetBrains 製品に影響する可能性があるセキュリティの問題に関する最新情報を入手できるよう、セキュリティ通知サービスを購読することもお勧めします。
ビルドエージェントは HTTPS で保護された一方向ポーリングプロトコルを使用して TeamCity サーバーと通信します。必要に応じてビルドエージェントをプロキシの背後に構成することも可能です。TeamCity ウェブインターフェースへのアクセスは、HTTPS を使用するかリバースプロキシの背後でホストすることで保護できます。TeamCity のセキュリティベストプラクティスに関する詳細をご覧ください。
はい。プルリクエストをビルドトリガーとして構成する際に自動ビルドの対象をご自身の GitHub 組織のメンバー、あるいはメンバーと外部コラボレーターが開いたプルリクエストに制限できます。これにより、ビルドエージェントでレビューする前に不明なサードパーティが未知のコードを実行するのを阻止できます。