CI/CDパイプラインにおけるシークレットの管理は、不正アクセス、サービス障害、法令違反の問題を防ぐために、シークレットを安全に保つことが重要です。 ここでは、効果的に実行する方法を紹介します。
- 環境変数を使用してください。 そして 安全なセキュア・ボックス セキュリティ上の秘密を安全に保存するために
- アクセスを制限する 必要な特権のみを付与し、秘密を定期的にローテーションすることで
- 秘密のスキャンを自動化する ツール
git-secretsまたはtruffleHog漏洩を早期に検出するために - CI/CDツールを活用する 例えば GitHub アクション, GitLab CI, または Jenkins 組み込みのシークレット管理機能を使用します。
- 詳細なログを使用してシークレットの使用を監視および検証します。 共通のCI/CDシークレット
__CAPGO_KEEP_0__ キー
- API keys
- 暗号化キー
- 認証トークン
- CI/CD Pipelinesでシークレットを管理する
- SSL証明書
人気の秘密管理プラットフォーム
| プラットフォーム | 機能 | おすすめ |
|---|---|---|
| HashiCorp Vault | ダイナミックシークレット、暗号化、アクセス制御 | 大規模な運用 |
| AWSシークレットマネージャー | AWS統合、自動ローテーション | AWS中心のセットアップ |
| Azure Key Vault | 証明書の取り扱い、キー回転 | Microsoft環境 |
これらの慣行を遵守し、適切なツールを使用することで、CI/CDパイプラインを保護し、安全なワークフローを維持できます。
シークレットのセキュリティガイドライン
Codeにシークレットを含めない
- 使用 環境変数を使用して敏感情報を管理する シークレットを保管するための安全なVaultに格納する
- ビルドプロセス中にクレデンシャルをインジェクトするために、CI/CDパイプラインをVaultに接続する Vault パイプライン
- プロセス
アクセス制限と監視
ユーザーやサービスに必要な最小限の権限のみを付与し、頻繁に権限を確認する 各ユーザーやサービスに必要な最小限の権限のみを付与し、頻繁に権限を確認する 各ユーザーやサービスに必要な最小限の権限のみを付与し、頻繁に権限を確認する
各ユーザーやサービスに必要な最小限の権限のみを付与し、頻繁に権限を確認する さらに、定期的にシークレットをローテートし、潜在的な侵害を追跡および特定できるようにするためのアクセスログを維持する アクセスログ
定期的にシークレットをローテートし、潜在的な侵害を追跡および特定できるようにするためのアクセスログを維持する GitLab CIとHashiCorp Vaultを統合してシークレットを取得する方法 GitLab CI HashiCorp Vault GitLab CIとHashiCorp Vaultを統合してシークレットを取得する方法
シークレット管理ツール
セキュリティガイドラインが整ったら、シークレットを管理するためのツールを導入する時です。
シークレットストレージプラットフォーム
すべてのシークレットを一元管理および監視するツール:
| プラットフォーム | 機能 | 最適 |
|---|---|---|
| HashiCorp Vault | ダイナミックシークレット、暗号化サービス、IDベースのアクセス | 大規模な運用 |
| AWSシークレットマネージャー | AWSと統合し、自動的なローテーション、細かい権限の管理 | AWSに特化したセットアップ |
| Azure Key Vault | ハードウェアセキュリティモジュール、証明書の管理、鍵のローテーション | Microsoft クラウド環境 |
セキュリティを確保したストレージプラットフォームを使用した後、CI/CDツールに付属するシークレット管理機能を活用してください。
CI/CDシークレット管理
多くのCI/CDツールには、組み込みのシークレット管理機能が付属しています。
- GitHub Actions: リポジトリと組織の両方で暗号化されたシークレットを提供します。ログではシークレットが自動的にマスクされ、承認されたワークフローにのみアクセス可能です。
- GitLab CI: 保護された変数とグループレベルのシークレットを提供し、プロジェクト間で安全に共有することができ、分離を維持します。
- Jenkins: Jenkinsのクレデンシャルプラグインと外部シークレットストアをサポートしています。プラグインはログ内のシークレットをマスクするために必要です。
Capgo セキュリティ機能

Capgoは、Capacitorアプリのライブアップデートのセキュリティを強化するために、標準のCI/CDシークレットマネージメントを拡張します。エンドツーエンド暗号化を使用して、承認されたユーザー以外のユーザーが敏感データを復号することを防ぎます。 [1].
Capgoは、GitHubアクション、GitLab CI、Jenkinsなどのツールとシームレスに統合されます。また、チャンネルベースの配布とロールベースのアクセス制御もサポートしており、AppleとAndroidの両方のプラットフォームのアップデート要件を満たしています。
バージョン管理におけるシークレット
リポジトリを保護するには、ハードコーディングされたクレデンシャルが漏洩しないようにする必要があります。セキュアなボールトストレージから始め、追加のセーフガードを追加して、code内に敏感情報が含まれないようにします。
ここでは、防御を強化する方法を紹介します:
- ツールとして git-secrets またはコミット前のフレームワーク コミットされる前に問題を検出する
- 定期的なスキャンを実行 ツールとして truffleHog または Capacitorライブアップデートの代替手段を比較する際に表示される質問 Capacitorライブアップデートの代替手段を比較する際に表示される質問
- Capawesomeの比較ページで表示される質問 Capawesomeの比較ページで表示される質問
Capgoのコンサルティングサービスページで表示されるサブタイトル
Appflowの代替手段またはプラグイン
このガイドでは、セキュリティと高速のデプロイを実現するために、エンドツーエンドの暗号化とSmooth CI/CD統合を提供するCapgoを紹介しました。[1].
セキュアなシークレット管理の重要なポイント:
- vaultストレージを使用する: ストレージとトランジットの両方で暗号化を提供するプラットフォームに依存する
- セキュリティチェックを自動化する: シークレットの漏洩を早期に検出するために、スキャニングツールを実装する
- アクティビティを追跡して監視する: シークレットへのアクセスと修正の詳細なログを保持する
- インシデントに備える: 披露されたシークレットに対処し、必要に応じて変更を巻き戻すための明確なプロセスを設定する
効果的なシークレット管理は、セキュリティが継続的デリバリーのサポートシステムになることを可能にする
Managing Secrets in CI/CD Pipelinesから続きます
CI/CD Pipelinesを使用している場合 CI/CD Pipelinesでシークレットを管理する セキュリティとコンプライアンスを計画するには、を接続します 暗号化 暗号化の実装詳細 コンプライアンス コンプライアンスの実装詳細 Capgo セキュリティ スキャナー Capgo セキュリティ スキャナーの製品ワークフロー Capgo セキュリティ Capgo セキュリティの製品ワークフロー Capgo トラスト センター Capgo の製品ワークフローについては、Capgo の Trust Center における。