LoginSignup
14
9

More than 5 years have passed since last update.

[備忘録]Salesforce管理パッケージの年次セキュリティレビュー手順

Last updated at Posted at 2018-04-24

概要

Salesforceパッケージのセキュリティレビュー手順(2018.4.23時点)を残したいと思います(引継ぎも兼ねてw)
公式サイトである程度の情報が掲載されていますが、初めてやる方はどこから始めていいのかがわからないので、私が管理しているパッケージのセキュリティレビュー手順を残したいと思います
また、パートナー向けのセキュリティレビュー資料が古かったりと・・・初心者にはハードルが高い

パッケージの構成としてはSalesforce Classic向けアプリケーションで外部コールアウトのないSalesforce上で処理が完結しているアプリケーション

外部アプリと連携するアプリケーションも基本的な流れは下記同様なので、参考になれば幸いです
違いとしてコードスキャンに「CHIMERA」や「OWASP」を用いて、外部アプリの脆弱性の確認やレビュー作成時に外部システムの情報を記載するぐらいかと思います

手順

1. セキュリティレビューのケース

毎年Salesforce Partner Communityのケースから案内が来ます

※前回のセキュリティレビュー担当者宛にケースが発行される(担当者が退職した場合は、どうなるのだろう・・・)

2. SourceScannerによるセキュリティ自動診断

Partner Security Portal(パッケージのリリース組織にログインできるアカウント)にログインし、「Create New Source Code Scan」で対象の組織とそのログインユーザを選択し、新規スキャンを作成します
スキャン対象の組織のログインユーザのメールアドレスがフリーメールのドメイン(gmail、yahooなど)だと拒否されますので、予め変更すること!社用がgmailだったらどうするのだろう・・・あわせて要求事項も確認しましょう

※スキャン開始されるまでに最大1営業日?かかりますので、事前の作業調整をしっかりしたほうがいいです

new-source-scan.png
new-source-scan2.png

※SSOログイン先の組織は最新パッケージの開発環境になります
※ログインユーザはApexの開発権限があるユーザになります

SSOログインエラーの対応

Partner Security PortalにSSOログイン中に以下のようなエラーが発生した場合は、

REGISTRATION_HANDLER_ERROR: Error: Org ID not attached to your Appexchange Publishing Console

該当の組織を事前にAppExchangeの公開コンソールに組織を追加する必要があります(昔こんな手順なかったのにな・・・)
※反映されるまでに5分ほどかかります

add-org.png

3. SourceScannerの結果の確認

手順2でログインしたユーザ宛にスキャン終了メールが送信されます。
Partner Security Portalでレポートを確認します

※レポート結果で修正済みの脆弱性が検出されることがあります。その際は公開コンソールのレビュー提出時にレポートを添付してください

結果に問題アリの場合

3-1. パッチ組織を作成

開発組織からパッチ組織を作成してください
組織を作成した場合は、上記の公開コンソールにパッチ組織との関連付けを行ってください
すでに最新バージョンのパッケージがパッチ組織にある場合は、作成不要です

3-2. コード修正

スキャン結果で検出された脆弱性を修正

3-3. 再度コードスキャン

再度SourceScannerによるコードスキャン
スキャン結果で脆弱性が残っている場合は、脆弱性が解決されるまで手順「3-1-2」と「3-1-3」を繰り返してください

3-4. リリースパッケージの作成

脆弱性が解消されたら、リリースパッケージを作成する

※パッケージのバージョンが上がりますが、仕様上仕方ない

結果に問題ナシの場合

手順4に進んでください

4. セキュリティレビュー用の組織の作成

環境ハブからセキュリティレビュー用のテスト/デモ組織を作成します
エディションは「Partner Enterprise」一択でよい?

org-hub.png

5. 最新版のパッケージをインストール

その時点の最新版のパッケージを上記で作成したレビュー組織にインストールします

※コードをデプロイするのではなく、パッケージインストールになります
※開発中のパッケージではなく、AppExchangeに公開されているパッケージが対象になります

6. テスト用ユーザの作成

パッケージを操作するために必要なユーザを作成し、適切な権限(プロファイル、権限セット、パッケージのライセンス)を付与します
簡単な動作確認も行ってください

7. テスター向けにIPアクセス制限の開放

新規ブラウザの確認メールでテスターが組織にアクセスできないので、
テストユーザのプロファイルの「ログイン IP アドレスの制限」を以下のように変更してください
また、SMSなどの2段階認証を設定している場合は、解除してください

開始IPアドレス「0.0.0.0」
終了IPアドレス「255.255.255.255」

8. パッケージのレビューの作成

AppExchangeの公開コンソールでレビューに必要な情報(パッケージの説明、テストユーザのアカウント、コードスキャン結果)を入力または更新する必要があります

パッケージをリリース(アップロード)した場合

前述でパッケージのコード修正が発生し、新たにリリースパッケージを作成した場合は、該当パッケージを公開コンソールに登録する必要があります

8-1. 新規レビューの作成

「AppExchange」-「公開コンソール」-「パッケージ」-「リストの編集」
edit-list.png

「リスト」-「アプリ」-「パッケージを選択」-「レビュー開始」
入力内容はこちらを参照ください

※「レビュー開始」で即座にレビューが開始されるわけではないので、安心して押してください(後述のケースでの返信にてレビューが開始されます)
※パッケージのリリース(アップロード)後しばらく時間が経たないと該当のバージョンのパッケージが一覧に表示されない

select-package.png

新規パッケージをリリースしていない場合(脆弱性修正がなかった場合)

8-1. レビューの更新

「AppExchange」-「公開コンソール」-「パッケージ」-「合格」を選択し、各種情報を更新してください
テスト組織のテストユーザの情報、コードスキャン結果の記載を忘れずに!

update-review.png

9. レビューの申請

手順1で発行されたケースにセキュリティレビューの準備が完了した旨で返信します

※「開発組織ID」、「レビュー組織ID」と「レビュー対象のパッケージのインストールURL」を記載すること

10. 注文書の作成

ケースにて、Salesforce担当者から注文書の作成依頼返信が来ますので、注文書を作成し、ケースに添付して返信

11. レビュー開始

レビュー開始の旨のケース(ケースのClose)

12. レビュー結果

レビュー申請者宛にレビュー結果のメールが送付されます

レビューで問題なく合格した場合

以上、終了になります

パッケージリリースした場合は、AppExchangeへの公開を忘れないように!

レビューで残念ながら不合格だった場合

指摘事項を確認し、手順3-1以降を繰り返してください
なお、修正済みと判断した箇所で、レビュアーが未修正と判断することもありますので、その際はケースにてディスカッションしてください
セキュリティレビューの再申請は、新規ケースを作成して再申請してください

※2回目のセキュリティレビューの結果が不合格の場合は、AppExchangeでの公開が停止されるので、要注意

14
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
9