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

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

CI/CDパイプラインにおけるシークレットの管理の効果的な戦略を学び、セキュリティを向上させ、不正アクセスや法令違反の問題を防ぎましょう。

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

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 Live Update ダッシュボード インターフェース

Capgoは、Capacitorアプリのライブアップデートのセキュリティを強化するために、標準のCI/CDシークレットマネージメントを拡張します。エンドツーエンド暗号化を使用して、承認されたユーザー以外のユーザーが敏感データを復号することを防ぎます。 [1].

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

バージョン管理におけるシークレット

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

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

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 における。

Live updates for Capacitor apps

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

マーティンによる人によるサポート

今すぐ始めよう

最新のブログ記事

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