2024.06.17
こんにちは、CS部で Salesforce の開発に携わっている平石です。
Salesforce のバージョン Spring’24 をもって Ant 移行ツールのサポートが終了されました。
これまで、組織へのメタデータのデプロイは Ant 移行ツールを使用していた方がたくさんいらっしゃることと思います。
今後、 Ant 移行ツールと同様にメタデータ形式でデプロイしたい場合は、 Salesforce CLI を用いることになりますので、その手順について説明したいと思います。
Salesforce CLI を用いてデプロイ先の組織にログインする方法として、 JWT フローログインを使用します。
JWT フローでは、デジタル証明書と非公開鍵を用いて任意の組織で作成された接続アプリケーションをデプロイ対象となる組織にインストールすることにより、ログイン画面を開くことなく、コマンドプロンプト上で組織にログインすることが可能となります。
事前準備として、パソコンに OpenSSL がインストールされている必要があります。次のコマンドで OpenSSL がインストールされているか確認します。インストールされていない場合はインストールしてください。
>openssl version

非公開鍵を保存するフォルダを作成し、移動します。
>mkdir JWT_Test
>cd JWT_Test

次のコマンドで非公開鍵を作成し、 server.key というファイルに保存します。
>openssl genpkey -des3 -algorithm RSA -pass pass:SomePassword -out server.pass.key -pkeyopt rsa_keygen_bits:2048
>openssl rsa -passin pass:SomePassword -in server.pass.key -out server.key

作成した server.key ファイルを使用して、証明書署名要求を作成します。入力を求められた項目は適切な値を入力します。
>openssl req -new -key server.key -out server.csr

server.key および server.csr からデジタル証明書を作成します。デジタル証明書のファイル名は server.crt として保存します。
>openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt


接続アプリケーションを作成する組織にログインし、設定メニューからアプリケーションマネージャーを選択し、「新規接続アプリケーション」をクリックします。

必須項目と基本情報を入力します。
「サポートされる認証フローに Proof Key for Code Exchange (PKCE) 拡張を要求」のチェックは外します。
その他の入力値は下記のように設定して保存します。



保存後の画面は下のようになります。

コンシューマの詳細を管理のボタンをクリックします。ここで、本人確認を求められた場合は、 Email に送信された確認コードを入力します。

ここに表示されたコンシューマ鍵をJWTフローログインで使用するので、コピーしておきます。
「[接続アプリケーションを管理する] に戻る」をクリックして、接続アプリケーションを管理する画面に戻り、「 manage 」→「ポリシーを編集」とクリックします。( Lightning Experience 画面に戻って操作してOKです。)
更新トークンポリシーやタイムアウト値を推奨値に変更し、許可されているユーザーは「管理者が承認したユーザーは事前承認済み」を選択し、保存します。

JWTフローでログインするユーザーのプロファイルまたは権限セットを追加します。

これで、接続アプリケーションの作成が完了しました。
メタデータをデプロイする対象の組織に接続アプリケーションをインストールします。
まず、対象組織に下記コマンドでログインします。
続けて、コンシューマの秘密を入力してEnterを入力します。(コンシューマの秘密はコマンドプロンプト上には表示されません。)
>sf org login web -i [コンシューマ鍵]

接続アプリケーションのアクセスの確認画面が出たら、許可をクリックします。

ログイン後、設定メニューの接続アプリケーションの OAuth の利用状況画面を開き、接続アプリケーションをインストールします。

確認画面が出たら、「インストール」を押下します。

インストール直後の画面はこのようになります。

「ポリシーを編集」ボタンを押し、更新トークンポリシーやタイムアウト値を推奨値に変更し、許可されているユーザーは「管理者が承認したユーザーは事前承認済み」を選択し、保存します。
プロファイルを管理するボタンを押下し、今回はデプロイを実行するユーザーのプロファイルを設定します。


これで、接続アプリケーションのインストールと設定が完了しました。
次のコマンドで、デプロイ対象の組織に JWT フローでログインできるか確認します。
>sf org login jwt --client-id [コンシューマの鍵] --jwt-key-file server.key --username [ユーザー名]

無事ログインできました。
Salesforce CLI の project コマンドを実行するためには SFDX プロジェクトの作成が必要なため、下記のコマンドでプロジェクトを作成します。
>sf project generate --name [プロジェクト名]

作成したプロジェクト以下のソース(例: deploy-proj\force-app\main\default )を、デプロイするメタデータに差し替えます。
デプロイ対象のメタデータを記載した package.xml も格納します。

では、いよいよ下記コマンドを使用して、デプロイ対象の組織にメタデータ形式でメタデータをデプロイします。
>sf project deploy start --metadata-dir force-app/main/default -o [ユーザー名] --dry-run
--dry-run オプション指定すると、デプロイチェックのみを行います。

デプロイチェックが成功しました。--dry-runオプションを外して実行すればデプロイされます。
いかがでしたでしょうか。
接続アプリケーションを一度インストールしてしまえば、コマンドプロンプト上で Salesforce CLI コマンドを実行することで、ログイン画面を開くことなくメタデータのデプロイが実行できるため、Ant移行ツールと同じような手軽さでデプロイできるようになります。
今後もメタデータ形式で Salesforce のデータを管理する場合は、この手順を利用されてはいかがでしょうか。
2026.06.08
今回は、初めて訪れた青森県の奥入瀬渓流の感動を綴った旅行記です。新緑の美しさや苔の表情、川の流れや滝の音、森の香りなど、五感で味わう自然の魅力満載です。実際に自然の中を歩くことで気づく奥入瀬の美しさを紹介しています。
2026.06.01
一倉定氏の著書『一倉定の経営心得』を通じて、経営の本質を考察しました。「会社の真の支配者は、お客様である」「優柔不断は、誤った決定よりなお悪い」など、厳しくも核心を突く提言から、社長の決断力や顧客視点の重要性をあらためて実感した内容です。
2026.05.25
熊本県五木村で体験した、人生初のバンジージャンプについて紹介します。高さ66mのジャンプ台、飛ぶ順番を選べない緊張感、スタッフの勢いあるカウントダウンなど、飛ぶ直前の恐怖がリアルに伝わります。飛び終えた後の達成感や爽快感、五木村の自然の美しさも印象的な内容です。
2026.05.22
生成AIの普及により業務効率が高まる一方で、AIを悪用したフィッシングメールやマルウェア作成、ディープフェイク詐欺などのリスクも広がっています。さらに、業務利用では機密情報の入力、誤情報の利用、著作権侵害にも注意が必要です。AIを安全に活用するため、入力情報の管理、出力結果の確認、不審な連絡への本人確認の重要性を解説します。