CI/CD Pipelinesにおけるシークレットの管理は、不正アクセス、サービス障害、非準拠問題を防止するために不可欠です。 効果的に行う方法はこちらです。
- 環境変数と 暗号化された保存庫を使用して 機密情報を安全に保存します。 アクセスを制限
- 必要な特権のみを付与し、機密情報を定期的に回転することで 機密情報のスキャンを自動化
- ツールとして などを使用して
git-secrets早期に漏洩を検出します。truffleHogCI/CDツール - などを利用して CI/CDツール GitHub アクション, GitLab CI、または Jenkins 内部シークレット管理のために
- 監視と審査 シークレットの使用を詳細なログで監視
共通のCI/CDシークレット
- API キー
- データベース認証情報
- 暗号化キー
- 認証トークン
- __CAPGO_KEEP_0__
人気のシークレット管理プラットフォーム
| プラットフォーム | 機能 | おすすめ |
|---|---|---|
| HashiCorp Vault | ダイナミックシークレット、暗号化、アクセス制御 | 大規模なオペレーション |
| AWSシークレットマネージャー | AWS統合、自動ローテーション | AWS中心のセットアップ |
| Azure Key Vault | 証明書の管理、キー回転 | Microsoft環境 |
これらの慣行を遵守し、適切なツールを使用することで、CI/CD Pipelinesを保護し、安全なワークフローを維持できます。
シークレットのセキュリティガイドライン
Codeにシークレットを含めない
- 使用 環境変数 敏感情報を管理するために使用します。
- シークレットを目的の 安全なボックス に保存します。
- CI/CD Pipelinesにボックスを接続して、ビルドプロセス中にクレデンシャルをインジェクトします。
Limit and Monitor Access
Grant only the minimum necessary privileges を各ユーザーやサービスに与え、頻繁に権限を確認する。
さらに、定期的にシークレットをローテートし、潜在的な侵害を追跡および識別するための 監査ログ を維持する。
Capgoで GitLab CI を HashiCorp Vault と統合して、…を取得する方法
機密情報管理ツール
セキュリティのガイドラインが整ったら、機密情報を管理するためのツールを展開する時です。
機密情報ストレージプラットフォーム
機密情報を一元管理および監視するためのツールです。
| プラットフォーム | 機能 | 推奨 |
|---|---|---|
| HashiCorp Vault | 動的シークレット、暗号化サービス、IDベースのアクセス | 大規模な運用 |
| AWS Secrets Manager | AWSと連携したシームレスな操作、自動ローテーション、細かい権限管理 | AWSに特化したセットアップ |
| Azure Key Vault | ハードウェアセキュリティモジュール、証明書管理、鍵のローテーション | マイクロソフトのクラウド環境 |
セキュリティ情報をストレージプラットフォームに保存した後、CI/CDツールに付属するシークレット管理機能を利用してください。
CI/CDシークレット管理
多くのCI/CDツールには、組み込みのシークレット管理機能が付属しています:
- GitHub ActionsGitLab CI
- 提供:リポジトリと組織の両方で暗号化されたシークレットを提供します。シークレットはログで自動的にマスクされ、承認されたワークフローにのみアクセス可能です。GitLab CI
- Jenkins: Jenkinsとクレデンシャルプラグインと外部シークレットストアをサポートしています。プラグインは、ログにシークレットがマスクされることを保証するために必要です。
Capgo Security Features

Capgoは、Capacitorアプリのライブアップデートのセキュリティを強化するために、標準のCI/CDシークレット管理を拡張します。エンドツーエンド暗号化を使用して、承認されたユーザー以外のユーザーが敏感データを復号することを防ぎます。 [1].
Capgoは、GitHubアクション、GitLab CI、Jenkinsなどのツールとシームレスに統合されます。また、チャンネルベースの配布とロールベースのアクセス制御もサポートしており、AppleとAndroidの両方のプラットフォームのアップデート要件を満たしています。
Version Control内のシークレット
リポジトリを保護するには、ハードコードされたクレデンシャルが漏洩しないようにする必要があります。セキュアなボールトストレージから始め、追加のセーフガードを追加して、code内の敏感情報をブロックすることから始めます。
ここで、防御を強化する方法をご紹介します。
- ツールを使用して git-secrets またはコミット前のフレームワークを使用して コミットされる前に問題を検出します。
- 定期的なスキャンを実行 ツールとして truffleHog または GitGuardian シークレットが漏洩した場合に検出する
- CI/CD チェックを自動化 シークレットが見つかった場合にビルドをフラグし、失敗させる
次に、シークレットが露呈された場合に効果的に取り扱う方法について説明します。
概要
このガイドでは、vault ストレージ、自動スキャン、CI/CD ツール統合、リポジトリ保護について説明しました。Capgoは、エンドツーエンド暗号化とSmooth CI/CD統合を通じて、セキュリティと高速デプロイを統合します。[1].
安全なシークレット管理の重要な点:
- vault ストレージを使用する: ストレージとトランジットの両方で暗号化を提供するプラットフォームに依存します。
- セキュリティチェックを自動化する: シークレット漏洩を早期に検出するために、スキャニングツールを実装します。
- アクティビティを追跡する: シークレットへのアクセスと修正の詳細なログを保持します。
- インシデントに備える: 披露されたシークレットに対処し、必要に応じてロールバックを実行するための明確なプロセスを設定します。
効果的なシークレット管理では、セキュリティが継続的なデリバリーのサポートシステムとして機能するようになります。
CI/CD Pipelinesでシークレットを管理している場合、ここから進み続けてください。
If you are using CI/CD Pipelinesにおけるシークレットの管理 セキュリティとコンプライアンスの計画に役立つため 暗号化 暗号化の実装詳細について コンプライアンス コンプライアンスの実装詳細について Capgo セキュリティ スキャナー Capgo セキュリティ スキャナーの製品ワークフローについて Capgo セキュリティ Capgo セキュリティの製品ワークフローについて Capgo トラスト センター Capgoの製品ワークフローについての信頼の中心