# コネクタープロジェクトのセキュリティ確保

コネクターをローカルで作成する場合、ユーザーは、資格情報やアプリケーションのアクセスについてセキュリティを確保するすべての責任を負います。これは、GitHub などの Git ソフトウェアにコードをプッシュする場合に特に重要になります。

大変なことに感じられますが、そうとは限りません。

このガイドでは、資格情報などの機密情報を取り扱う際のリスク軽減に役立つヒントをいくつか取り上げます。

# ヒント1: 常にサンドボックスを使用する

SDK gem と Workato クラウドプラットフォームのいずれを使用する場合でも、 開発には決して本番環境を使用しないでください。 これはいくら強調してもし過ぎることはありません。

ビジネスに悪影響を及ぼす変更を加えたり、機密データを流出させる可能性があります。そのため、常にサンドボックス環境を使用するようにしてください。

# ヒント2: 常に暗号化されたファイルを使用する

資格情報のセキュリティを確保するため、保管する際は暗号化されたファイルを使用してください。

SDK gem には、暗号化ファイルを簡単に作成、更新できるコマンドが用意されています。これにより、資格情報を暗号化して、master.key なしでの資格情報の使用や復号を防ぐことができます。

暗号化ファイルの操作を始めるには、workato edit コマンドを使用して暗号化された master.key ファイルを作成します。このファイルがプロジェクトにない場合は、このコマンドを最初に実行したときに自動的に作成されます。

# ヒント3: 常に暗号化された VCR 記録を使用する

VCR 記録は安定したテストに非常に重要ですが、セキュリティリスクももたらします。VCR 記録はデフォルトで、ヘッダー内のトークンやリクエスト/レスポンスデータなど、HTTP リクエストのあらゆる情報を記録します。このデータをクラウドに同期させる場合、VCR 記録を暗号化することがベストプラクティスになります。

SDK gem を使用すると、コネクタープロジェクトを設定する際、VCR 記録の暗号化を簡単に指定することができます。

workato new を実行した後、HTTP バインディングのプロンプトで secure を選択します。

Please select default HTTP mocking behavior suitable for your project?

1 - secure. Cause an error to be raised for any unknown requests, all request recordings are encrypted.
            To record a new cassette you need set VCR_RECORD_MODE environment variable

            Example: VCR_RECORD_MODE=once bundle exec rspec spec/actions/test_action_spec.rb

2 - simple. Record new interaction if it is a new request, requests are stored as plain text and expose secret tokens.

このオプションを選択すると、spec_helper.rb ファイルも作成されます。このファイルには、VCR の設定と暗号化情報があらかじめ組み込まれています。VCR の詳細については、VCR のガイド を参照してください。

# ヒント4: master.key を .gitignore に追加する

プロジェクトに master.key ファイルが含まれる場合 (含めることを強くお勧めします)、このファイルは決して Git リポジトリにプッシュしないようにしてください。

このファイルを誤ってコミットしないようにするには、プロジェクトの .gitignore に追加しておきます。

さらに、master.key の情報をチームのメンバーと共有する必要がある場合は、安全に共有されていることを確認してください。

# ヒント5: リポジトリシークレットを使用して資格情報をクラウドに保管する

資格情報を安全に保管した上でクラウドで RSpec テストを実行するには、シークレットをリポジトリに追加することをお勧めします。

以下は、GitHub のドキュメント (opens new window) からの引用です。

シークレットは、組織、リポジトリ、またはリポジトリ環境内に作成する、暗号化された環境変数です。

ほとんどの Git プラットフォームは、リポジトリへのシークレットの追加をサポートしています。RSpec テストの実行中に使用する master.key は、このリポジトリに保管することをお勧めします。


Last updated: 2024/7/10 18:18:20