1

当社は最近、BitBucket がローカルのソース管理システムでホストするプライベート リポジトリを採用しました。ソース コードに加えて、各リポジトリには、ビルド、構成、デプロイに必要なすべてのコンポーネント (スクリプトなど) があります。これはほとんどの点でうまく機能しますが、通常はビルド スクリプトとデプロイ スクリプトに付随する機密性の高いパスワードや ftp 構成などをどうするかについて悩んでいます。

懸念事項の概要を説明している同様の投稿を参照してください。

私の場合、xml 構成は、それらを解析するために使用されるコードの代表であるため、バージョン管理する必要があります (とにかくスキーマです)。

明らかに、秘密をローカル以外のものに保存するとリスクが高まりますが、代替手段は何ですか? それらを暗号化して保存しますか?外部システムから構成値を供給して、ビルド中に豪華な構成セクションの置換を使用しますか?

4

2 に答える 2

2

ギット

双方向の KEYWORD<->CODE 置換用のスマッジ/クリーン フィルタ

マーキュリアル

MQ パッチ (ローカル) は、ローカルの作業ディレクトリにある機密データを復元し、プッシュおよび公開されたリポジトリにはありません

于 2013-01-30T00:56:04.463 に答える
0

機密データを含む構成ファイルをローカルに保存できます。秘密鍵または秘密鍵を含むこのファイルに署名する必要があります。署名を検証するための公開鍵は、コード内に格納する必要があります。ここで、ソース リポジトリ内で暗号化されたバージョン管理された構成を保存します。暗号化された構成は、アプリケーションが指定された場所で署名付きの復号化キーを見つけた場合にのみ読み取ることができます。それらが見つからない場合は、テストのためにプレーンなデフォルトにフォールバックします。この追加のトリックを追加する場合は、使用している構成のログを追加することを忘れないでください。構成ファイルに対して署名または MAC 計算を実行することもできます。

これがどの程度のセキュリティを提供するかは、システムの残りの部分によって異なりますが、比較的静的なデータをローカルに保持し、構成データをバージョン管理システム内に配置することができます。多くのバージョン管理システムはテキストが好きなので、念のため、暗号化された構成ファイルを base64 でエンコードすることをお勧めします。

もちろん、これは多くのスキームの 1 つにすぎません。

于 2013-01-29T23:36:04.833 に答える