メインコンテンツにスキップ

CI/CDパイプラインでシークレットを管理する

CI/CD パイプラインにおけるシークレットの管理の効果的な戦略を学び、セキュリティを高め、不正アクセスや法令違反の問題を防止する。

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

CI/CD パイプラインにおけるシークレットの管理

CI/CD パイプラインにおけるシークレットの安全な管理は、不正アクセス、サービス中断、法令違反の問題を防止するために不可欠です。 これを効果的に実行する方法はこちらです。

  • 環境変数を使用して シークレットを安全に保存するための安全なボックス シークレットへのアクセスを制限 CI/CDパイプラインにおけるシークレットの管理の重要性
  • CI/CDパイプラインにおけるシークレットの安全な管理の方法 必要な特権のみを付与し、シークレットを定期的にローテートすることで。
  • シークレットのスキャンを自動化する ツールとして git-secrets もしくは truffleHog シークレットの漏洩を早期に検出するために
  • CI/CDツール として GitHub Actions, GitLab CI, または Jenkins で組み込まれたシークレット管理を利用する
  • 監視とログの詳細 __CAPGO_KEEP_0__ キー

CI/CD 共通シークレット

  • API keys
  • 暗号化キー
  • 認証トークン
  • SSL 証明書
  • 有名なシークレット管理プラットフォーム
機能推奨対象Secrets Management
HashiCorp Vaultダイナミックシークレット、暗号化、アクセス制御大規模オペレーション
AWSシークレットマネージャーAWS統合、自動ローテーションAWS中心のセットアップ
Azure Key Vault証明書管理、キーローテーションマイクロソフト環境

これらの慣行を遵守し、適切なツールを使用することで、CI/CD Pipelinesを保護し、安全なワークフローを維持できます。

シークレットのセキュリティガイドライン

Codeにシークレットを含めない

  • 環境変数を使用して、機密情報を管理します。 __CAPGO_KEEP_0__を使用して環境変数を管理します。 __CAPGO_KEEP_1__を使用して機密情報を管理します。
  • 機密情報を安全に保存するための専用の保存庫に保存してください。 CI/CD Pipelinesと保存庫を接続して、ビルドプロセス中に資格情報をインジェクトします。 アクセスを制限し、監視する
  • 各ユーザーまたはサービスに必要な最小限の特権のみを付与し、頻繁に権限を確認する

さらに、定期的にシークレットをローテートし、保存庫を維持する

__CAPGO_KEEP_2__ __CAPGO_KEEP_3__ __CAPGO_KEEP_4__

__CAPGO_KEEP_5__ 監査ログ __CAPGO_KEEP_0__

統合方法 GitLab CIHashiCorp Vault を使用して…を取得する

シークレット管理ツール

セキュリティのガイドラインが整ったら、シークレットを管理するために特に設計されたツールを展開する時です。

シークレットストレージプラットフォーム

シークレットをすべて統合して監視するために使用するツール:

プラットフォーム機能最適な対象
HashiCorp Vault__CAPGO_KEEP_0____CAPGO_KEEP_1__
__CAPGO_KEEP_2____CAPGO_KEEP_3____CAPGO_KEEP_4__
__CAPGO_KEEP_5____CAPGO_KEEP_6____CAPGO_KEEP_7__

セキュリティの鍵を保存するストレージプラットフォームを確保した後、CI/CDツールに付属するシークレット管理機能を利用してください。

CI/CDシークレット管理

多くのCI/CDツールには、組み込みのシークレット管理機能が付属しています:

  • GitHub アクションCloudflare: リポジトリと組織の両方で暗号化されたシークレットを提供します。ログでは自動的にマスクされ、承認されたワークフローにのみアクセス可能です。
  • GitLab CIGitHub: 保護された変数とグループレベルのシークレットを提供し、プロジェクト間で安全に共有することができ、分離を維持します。
  • JenkinsGitHub: クレデンシャル プラグインと外部シークレット ストアをサポートします。 プラグインは、ログでシークレットがマスクされていることを保証する必要があります。

Capgo セキュリティ機能

Capgo ライブアップデートダッシュボードインターフェイス

Capgoはライブ更新のセキュリティを強化するために、Capacitorアプリに標準のCI/CDシークレット管理を拡張します。エンドツーエンド暗号化を使用して、承認されたユーザー以外のユーザーが機密データを復号化できないようにします。 [1].

Capgoは、GitHubアクション、GitLab CI、Jenkinsなどのツールとシームレスに統合されます。また、チャネルベースの配布とロールベースのアクセス制御もサポートしており、AppleおよびAndroidプラットフォームの両方の更新要件を満たします。

バージョン管理システム内のシークレット

リポジトリを保護するには、ハードコーディングされたクレデンシャルが漏洩しないようにする必要があります。セキュアなボールトストレージから始め、追加のセーフガードを追加して、code内に含まれる敏感情報をブロックすることから始めます。

ここでは、防御を強化する方法を紹介します。

  • 使用するツールとしては git-secrets またはpre-commitフレームワーク コミットが行われる前に問題を検出するようにする
  • 定期的なスキャン ツールとしては truffleHog または GitGuardian 漏れていた可能性のあるシークレットを検出するために使用します。
  • CI/CD チェックを自動化する シークレットが見つかった場合にビルドをフラグし、失敗させる

次に、シークレットが露呈された場合に効果的に対処する方法について説明します。

概要

このガイドでは、vault ストレージ、自動スキャン、CI/CD ツール統合、リポジトリ保護について説明しました。Capgo は、エンドツーヘンド暗号化とSmooth CI/CD統合を通じて、セキュリティと高速デプロイを提供します。[1].

シークレット管理のための安全なポイント

  • vault ストレージを使用する: ストレージとトランジットの両方で暗号化を提供するプラットフォームに依存する
  • セキュリティ チェックを自動化する: 秘密漏洩を早期に特定するためのスキャニングツールを実装する。
  • アクティビティの追跡と監視: 秘密へのアクセスと変更の詳細なログを記録する。
  • インシデントの準備: 露出されたシークレットに対処するための明確なプロセスを設定し、必要に応じて変更を巻き戻す。

シークレットの効果的な管理は、継続的なデリバリーのサポートシステムとしてセキュリティを変える。

Capacitor アプリのリアルタイム更新

ウェブ層のバグが実行中の場合、Capgoを使用して修正を配信するのではなく、数日間待ってアプリストアの承認を待つのではなく、ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路に残る。

始めましょう

ブログの最新記事

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。