レビュープロセスの完了およびソリューションのリスト
学習の目的
この単元を完了すると、次のことができるようになります。
- 製品セキュリティチームによる脆弱性の報告方法を説明する。
- セキュリティ上の問題を修正したうえでソリューションのレビューを再申請する方法を説明する。
- ソリューションが承認された後に公開する手順を挙げる。
現実に向き合う
たった今、Salesforce セキュリティチームからメールが届きました。ソリューションのレビューが完了しました。このメールを待っていたため、ドキドキします。心のどこかでは開けることを恐れてもいます。「合格しなかったらどうしよう?」という不安があるためです。
ソリューションがセキュリティレビューに合格しなかった場合は、新しい情報がセキュリティレビューウィザードに提供されたことを通知するメールが届きます。レポートは [Overview (概要)] ページからダウンロードできます。レポートには、セキュリティチームが検出した脆弱性がリストされ、この脆弱性を修正する方法に関する詳細な手順が記載されています。
めげない
セキュリティレビューで「合格する」と述べてきたため、セキュリティレビューは合格するか否かの試験であると考えているかもしれません。ただし、実際にはそれほど明快なものではありません。レビューはセキュリティチームからのフィードバックと考えることができます。ソリューションの品質を向上させ、無事公開できるようにするフィードバックです。
ソリューションがセキュリティレビューに合格しなかった場合は、新しい情報がセキュリティレビューウィザードに提供されたことを通知するメールが届きます。レポートは [Overview (概要)] ページからダウンロードできます。レポートには、セキュリティチームが検出した脆弱性がリストされ、この脆弱性を修正する方法に関する詳細な手順が記載されています。
このレポートの良い点は、検出された問題の具体的な説明が示されていることです。レポートの冒頭には、次のようなハイパーリンクされた目次が表示されます。
- SOQL インジェクションの脆弱性...
- デバッグの脆弱性の機密情報...
- 情報開示の脆弱性...
- CRUD/FLS 適用の脆弱性...
目次のタイトルは、セキュリティの脆弱性の種類です。各タイトルの下に、脆弱性が検出されたコンポーネント名が記されています。目次の後に、それぞれの脆弱性の詳しい説明が続きます。タイトルをクリックすると、対応する説明に移動します。
レビューの広く浅い調査結果を各自が徹底調査
レポートにはソリューションで検出された各種の脆弱性がリストされますが、出現箇所がすべて挙げられているわけではありません。リストに SOQL インジェクションの脆弱性と記載されている場合は、SOQL インジェクションがないか、名前が記されているコンポーネントだけでなく、コード全体を調べます。
Salesforce はソリューションへの突破口となった脆弱性の種類を警告することはできますが、出現箇所を網羅するリストを作成することはできません。いずれにしろ、コードベースについては、それを作成したチームの方がはるかによく知っています。ですから、脆弱性が存在することがわかったら、当社よりもあなた方の方にはるかに早くその問題を見つけることができます。
テストは完全ではない
当社がソリューションの脆弱性の検出にかけられる時間は限られています。時として、ソリューションのレビュー時に、今までに見たことのない新種の脆弱性が見つかることがあります。テストは、範囲の点でも詳細度の点でも、すべてを網羅するものではありません。各自のコードベースを確認するときは、レポートに記載されていないものを含め、あらゆる種類の脆弱性に細心の注意を払います。
脆弱性の修正時に忘れてはならないのが、レビュー前と同様に、ソリューションにスキャナーと敵対的テストを実行することです。こうした対策によって、コードに新たな脆弱性が忍び込むことを阻止できます。
コードとともに自らの手法も再確認
セキュリティレビューの結果の対処についてチームとじっくり話し合います。以下に、会話のきっかけとなる質問の例を示します。
- 各自が行ったセキュリティレビューで、これらの脆弱性をなぜ特定できなかったのか?
- こうした問題を早期に検出するために、何かできることはなかったか?
- テストを増やせば阻止できると思うか?
- 人員や時間を増やせば阻止できると思うか?
- Salesforce のセキュリティトレーニングが役立つと思うか?
- 開発プロセスに適用可能なセキュリティレビューから何かを学んだか?
- Salesforce Code Analyzer を使用してコードをスキャンしたか?
セキュリティを確保する完璧な戦略はありません。真摯な取り組みと強い意志が求められます。けれども、各回のセキュリティレビューから学んだことを着実に採り入れていけば、戦略全体を常に改善することができます。
そしてもちろん、パートナーの成功が Salesforce の成功です。ソリューションの脆弱性を修正するために技術面の具体的なガイダンスが必要な場合や、セキュリティに関する技術的なアドバイスが必要な場合は、Salesforce のセキュリティチームが Partner Security Portal に設けているオフィスアワーにサインアップできます。
修正して再申請
ソリューションを修正し、開発プロセスを改良しました。あらゆる面のセキュリティが信じられないほど強化され、セキュリティレビューへの再挑戦が待ちきれません。さぁかかって来い、Salesforce 製品セキュリティチーム!
セキュリティチームもその挑戦にひるむことはありません。あなたに必要なことは、対戦相手の注意を引くことです。その方法は、Salesforce プラットフォームで実行されるコードを修正したかどうかによって異なります。
Salesforce プラットフォームパッケージでコードを変更した場合は、管理パッケージの新バージョンをアップロードする必要があります。パッケージ外の変更も行った場合は、セキュリティレビュー申請インターフェースに従ってその情報を追加します。
最初に、Dev Hub または Developer Edition 組織から新しいパッケージバージョンをアップロードします。
- パートナーコンソールで、[テクノロジー] タブをクリックします。
- リストで新しいパッケージバージョンを見つけます。
- 新しいパッケージバージョンの [セキュリティレビュー] 項目の横にある [レビューを開始] をクリックします。
- セキュリティレビュー申請インターフェースをクリックしていきます。
次に、新しい管理パッケージバージョンをリストに結び付けます。
- パートナーコンソールの [リスト] タブをクリックします。
- 各自のリストをクリックします。
- リストビルダーのステップトラッカーで、[Link Your Solution (ソリューションをリンク)] をクリックします。
4.[バージョンを選択] で、各自の管理パッケージバージョンを選択します。
5.セキュリティメッセージを確認してチェックボックスをオンにします。
6.インストール方法を確認します。
7.[保存 & 終了] をクリックします。
Salesforce の外部で実行されるコードのみを修正した場合、または同じパッケージバージョンのレビューを再度申請する場合は、既存のセキュリティレビューの申請情報を編集します。
- パートナーコンソールで、[テクノロジー] タブをクリックします。
- 各自のソリューションをクリックします。
- パッケージの [セキュリティレビュー] 項目の横にある [レビューを編集] をクリックします。
- セキュリティレビューウィザードに従って、変更した情報を更新します。
- 製品セキュリティチームに製品レビューを再申請することを知らせるには、Salesforce パートナーコミュニティでサポートケースを登録します。
配布
ソリューションのセキュリティレビュー状況を確認し、申請がいつ合格したかを参照します。
これで終了です。それほど大変なことでもなかったですよね? チームの面々を称え、喜びを噛みしめます。お気に入りの方法でお祝いしましょう。
喜びに浸った後は、いよいよソリューションの公開です。[Security Review (セキュリティレビュー)] の [Overview (概要)] ページに、この後のおおまかな手順が記されています。パートナーコンソールでリストを完成させ、マーケティングチームに準備を整えるよう連絡します。
『ISV Onboarding Guide (ISV オンボーディングガイド)』のマイルストーン 5 に、AppExchange でリストを公開する方法が記載されています。また、役に立つ関連リソースも紹介されています。
公開された後は、くつろぎながら数字が増えていくのを眺めることにしましょう。