組織の接続アプリケーションの作成
Salesforce CLI には、認証する組織の接続アプリケーションが必要です。接続アプリケーションとは、外部アプリケーション (この場合は Salesforce CLI) が API や、OAuth などの標準プロトコルを使用して Salesforce に統合できるようにするフレームワークのことです。組織の認証に OAuth 2.0 Web サーバフローを使用するときの接続アプリケーションがデフォルトで用意されています。セキュリティを強化するには、組織内で独自に接続アプリケーションを作成し、必要な設定を使用して構成します。OAuth 2.0 JWT ベアラー認証フローを使用するときは、接続アプリケーションを作成する必要があります。
組織の [設定] を使用して、接続アプリケーションを作成します。
JWT ベアラー認証フローでは、JWT 要求に署名するためのデジタル証明書 (デジタル署名ともいう) が必要です。独自の証明書を使用するか、OpenSSL を使用して自己署名証明書を作成できます。このフローでは、明示的なユーザ操作は不要です。ただし、このフローには、クライアントアプリケーションの事前承認が必要です。「サーバ間インテグレーション用の OAuth 2.0 JWT ベアラーフロー」を参照してください。
Web サーバ認証フローは、OAuth 2.0 認証コード許可種別を実装します。このフローでは、Web アプリケーションをホストするサーバで、クライアント ID とクライアントの秘密で定義される、接続アプリケーションの ID を保護する必要があります。「Web アプリケーションインテグレーションの OAuth 2.0 Web サーバフロー」を参照してください。
接続アプリケーションについての詳細は、「接続アプリケーション」を参照してください。
- 組織にログインします。
- [設定] から、[クイック検索] ボックスに「アプリケーションマネージャ」と入力し、[アプリケーションマネージャ] を選択します。
- 右上隅で、[新規接続アプリケーション] をクリックします。
- 必要に応じて、基本情報 (接続アプリケーション名やメールアドレスなど) を更新します。
- [OAuth 設定の有効化] を選択します。
-
コールバック URL に「http://localhost:1717/OauthRedirect」と入力します。
ポート 1717 (デフォルト) がすでにローカルマシンで使用されている場合、代わりに使用できるポートを指定します。また、oauthLocalPort プロパティを新しいポートに設定して、sfdx-project.json ファイルを更新します。たとえば、コールバック URL を http://localhost:1919/OauthRedirect に設定する場合、次のようにします。
1"oauthLocalPort" : "1919" - (JWT のみ) [デジタル署名を使用] を選択します。
- (JWT のみ) [ファイルを選択] をクリックし、デジタル証明書がある server.crt ファイルをアップロ��ドします。
-
次の OAuth 範囲を追加します。
- API を使用してユーザデータを管理 (api)
- Web ブラウザを使用してユーザデータを管理 (web)
- いつでも要求を実行 (refresh_token, offline_access)
-
[保存] をクリックします。
- [管理] をクリックします。
- [ポリシーを編集] をクリックします。
-
[OAuth ポリシー] セクションの [更新トークンポリシー] 項目で [次の時間が経過したら更新トークンを期限切れにする:] をクリックし、90 日以下を入力します。
更新トークンが期限切れになる日数には最大で 90 日を設定することが、セキュリティのベストプラクティスとして推奨されます。更新トークンが期限切れになった組織に対して CLI コマンドを引き続き実行するには、auth:web:login または auth:jwt:grant コマンドを使用して組織を再認証します。
-
[セッションポリシー] セクションで [タイムアウト値] を 15 分に設定します。
セキュリティのベストプラクティスとして、アクセストークンのタイムアウトを設定することが推奨されます。Salesforce CLI は、更新トークンを参照して期限切れのアクセストークンを自動的に処理します。
- (JWT のみ) [OAuth ポリシー] セクションで、許可されているユーザに [管理者が承認したユーザは事前承認済み] を選択し、[OK] をクリックします。
- (JWT のみ) [保存] をクリックします。
- (JWT のみ) [プロファイルを管理する] をクリックし、[権限セットの管理] をクリックします。この接続アプリケーションを使用することを事前に承認されたプロファイルと権限セットを選択します。必要に応じて、権限セットを作成します。