この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

LoginEvent

LoginEvent は、Salesforce にログインするユーザーのログイン活動を追跡します。LoginEvent は、トランザクションセキュリティポリシーで使用できます。LoginEvent は、LoginEventStream のイベントデータを格納する Big Object です。このオブジェクトは、API バージョン 36.0 以降で使用できます。

サポートされているコール

describeSObjects()、query()

特別なアクセスルール

  • このオブジェクトにアクセスするには、Salesforce Shield または Salesforce Event Monitoring アドオンサブスクリプションと、「リアルタイムイベント監視データを表示」ユーザー権限が必要です。

ログインレートが制限を超えると、LoginEvent はログイン活動を追跡しなくなります。この条件はインテグレーションユーザーや内部ユーザーなど、Salesforce にログインするすべてのユーザーに適用されます。

メモ

項目

項目 詳細
AdditionalInfo
型
string
プロパティ
Nillable
説明
ログイン要求中に HTTP ヘッダーから取得した追加情報を JSON に逐次化したもの。たとえば、{"field1": "value1","field2": "value2"} です。

「AdditionalInfo の使用」を参照してください。

ApiType
型
string
プロパティ
Nillable
説明
ログインに使用される API の種別。次のような値があります。
  • SOAP Enterprise
  • SOAP Partner
  • REST API
ApiVersion
型
string
プロパティ
Nillable
説明
API のバージョン番号。バージョン番号が不明の場合は、「Unknown」が返されます。
Application
型
string
プロパティ
Nillable
説明
組織にアクセスするために使用するアプリケーション。可能な値には、次のものがあります。
  • AppExchange
  • Browser
  • Salesforce for iOS
  • Salesforce Developers API Explorer
  • N/A
AuthMethodReference
型
string
プロパティ
Nillable
説明
OpenID Connect シングルサインオンプロトコルに対してサードパーティの ID プロバイダーが使用する認証方法です。この項目は、API バージョン 51.0 以降で使用できます。
AuthServiceId
型
reference
プロパティ
Nillable
説明
ログインイベントの認証サービスの 18 文字の ID です。たとえば、この項目を使用して、ユーザーのログインに使用された SAML または認証プロバイダー設定を識別できます。
Browser
型
string
プロパティ
Nillable
説明
ブラウザーの名前とバージョン (わかっている場合)。ブラウザー名に対する可能な値は、次のとおりです。
  • Chrome
  • Firefox
  • Safari
  • Unknown
たとえば、「Chrome 77」などです。
CipherSuite
型
picklist
プロパティ
Nillable、Restricted picklist
説明
ログインに使用される TLS Cipher Suite。値は、ハイフンを区切り文字にした OpenSSL スタイルの暗号化スイート名になります (ECDHE-RSA-AES256-GCM-SHA384 など)。API バージョン 37.0 以降で利用できます。
City
型
string
プロパティ
Nillable
説明
ユーザーの IP アドレスが物理的に存在する市区郡。この値はローカライズされません。この項目は、API バージョン 47.0 以降で使用できます。

地理位置情報技術の性質上、この項目の精度は変化する場合があります。

メモ

ClientVersion
型
string
プロパティ
Nillable
説明
ログインクライアントのバージョン番号。バージョン番号が不明の場合は、「Unknown」が返されます。
Country
型
string
プロパティ
Nillable
説明
ユーザーの IP アドレスが物理的に存在する国。この値はローカライズされません。この項目は、47.0 以降の API バージョンで使用できます。

地理位置情報技術の性質上、この項目の精度は変化する場合があります。

メモ

CountryIso
型
string
プロパティ
Nillable
説明
ユーザーの IP アドレスが物理的に存在する国の ISO 3166 コード。詳細は、「国コード - ISO 3166」を参照してください。この項目は、API バージョン 37.0 以降で使用できます。
EvaluationTime
型
double
プロパティ
Nillable
説明
トランザクションセキュリティポリシーの評価にかかった時間 (ミリ秒単位)。この項目は、API バージョン 46.0 以降で使用できます。
EventDate
型
dateTime
プロパティ
Filter、Sort
説明
指定されたイベントのログイン時刻。たとえば、「2020-01-20T19:12:26.965Z」などです。最も細かい設定はミリ秒です。
EventIdentifier
型
string
プロパティ
Filter、Sort
説明
LoginEvent の各レコードの一意の識別子。この項目をクエリの主キーとして使用します。API バージョン 42.0 以降で利用できます。
HttpMethod
型
picklist
プロパティ
Nillable、Restricted picklist
説明
ログイン要求の HTTP メソッド。使用できる値は GET、POST、Unknown です。
LoginGeoId
型
reference
プロパティ
Nillable
説明
ログインユーザーの IP アドレスに関連付けられている LoginGeo オブジェクトの Salesforce ID。たとえば、04FB000001TvhiPMAR です。
LoginHistoryId
型
reference
プロパティ
Nillable
説明
ユーザー活動と特定のログインインスタンスを関連付けられるように、ユーザーセッションを追跡します。この項目は LoginHistory や AuthSession などのオブジェクトでも使用できるため、ユーザーの元の認証へとイベントを簡単にトレースバックできます。たとえば、0YaB000002knVQLKA2 です。
LoginKey
型
string
プロパティ
Nillable
説明
特定のユーザーのログインセッションのすべてのイベントを結び付ける文字列。このセッションはログインイベントで開始され、ログアウトイベントまたはユーザーセッションの期限切れで終了します。この項目は、API バージョン 46.0 以降で使用できます。たとえば、lUqjLPQTWRdvRG4 です。
LoginLatitude
型
double
プロパティ
Nillable
説明
ユーザーの IP アドレスが物理的に存在する場所の緯度。この項目は、47.0 以降の API バージョンで使用できます。

地理位置情報技術の性質上、この項目の精度は変化する場合があります。

メモ

LoginLongitude
型
double
プロパティ
Nillable
説明
ユーザーの IP アドレスが物理的に存在する場所の経度。この項目は、API バージョン 47.0 以降で使用できます。

地理位置情報技術の性質上、この項目の精度は変化する場合があります。

メモ

LoginSubType
型
picklist
プロパティ
Nillable、Restricted picklist
説明
使用するログインフローの種別。使用可能な値のリストは、オブジェクトリファレンスガイドで LoginHistory の LoginSubType 項目を参照してください。

表示ラベルは [ログインサブ種別] です。

LoginType
型
picklist
プロパティ
Nillable、Restricted picklist
説明
セッションへのアクセスに使用されるログインの種別。使用可能な値のリストは、オブジェクトリファレンスガイドで LoginHistory の LoginType 項目を参照してください。
LoginUrl
型
string
プロパティ
Nillable
説明
要求の実行元のログインホストの URL。たとえば、「yourInstance.salesforce.com」などです。
NetworkId
型
reference
プロパティ
Nillable
説明
ユーザーがログインしている Experience Cloud サイトの ID。この項目は、Salesforce Experience Cloud サイトが組織で有効になっている場合に使用できます。
Platform
型
string
プロパティ
Nillable
説明
ログインイベント中に使用されたオペレーティングシステムの名前とバージョン。プラットフォーム名が不明の場合は、「Unknown」が返されます。たとえば、「Mac OSX」や「iOS/Mac」です。
PolicyId
型
reference
プロパティ
Nillable
説明
このイベントに関連付けられたトランザクションセキュリティポリシーの ID。この項目は、API バージョン 46.0 以降で使用できます。たとえば、0NIB000000000KOOAY です。
PolicyOutcome
型
picklist
プロパティ
Nillable、Restricted picklist
説明
トランザクションポリシーの結果。可能な値は次のとおりです。
  • Block — ポリシーをトリガーする操作を実行できないようにユーザーがブロックされました。
  • Error — ポリシーの実行時にポリシーによって未定義のエラーが発生しました。
  • ExemptNoAction — このユーザーはトランザクションセキュリティポリシーの対象外のため、ポリシーがトリガーされませんでした。
  • FailedInvalidPassword — ユーザーが無効なパスワードを入力しました。
  • FailedPasswordLockout — ユーザーが無効なパスワードを入力した回数が多すぎます。
  • MeteringBlock — ポリシーの処理に 3 秒以上かかったため、操作を実行できないようにユーザーがブロックされました。
  • MeteringNoAction — ポリシーの処理に 3 秒以上かかりましたが、ユーザーは操作の実行をブロックされませんでした。
  • NoAction — ポリシーがトリガーしませんでした。
  • Notified — 受信者に通知が送信されました。
  • TwoFAAutomatedSuccess — 信頼できる場所から要求が行われたため、Salesforce Authenticator がアクセス要求を承認しました。ユーザーが Salesforce Authenticator のロケーションサービスを有効にすると、信頼できる場所を指定できます。特定の活動に対してユーザーが場所を信頼すると、その場所が信頼される限り、信頼された場所からの該当の活動は承認されます。特定の活動の例として、認識されたデバイスからのログインがあります。
  • TwoFADenied — Salesforce Authenticator などの認証アプリケーションでの承認申請をユーザーが拒否しました。
  • TwoFAFailedGeneralError — 確認コードが無効、検証試行回数が多すぎる、または認証アプリケーションの接続以外の問題が原因でエラーが発生しました。
  • TwoFAFailedInvalidCode — ユーザーが無効な確認コードを入力しました。
  • TwoFAFailedTooManyAttempts — ユーザーが ID の検証を試行した回数が多すぎます。たとえば、ユーザーが無効な確認コードを繰り返し入力した場合などです。
  • TwoFAInitiated — Salesforce が ID 検証を開始しましたが、まだユーザーに検証を求めていません。
  • TwoFAInProgress — Salesforce がユーザーに ID の検証を求め、ユーザーによる応答または Salesforce Authenticator による自動応答の送信を待機しています。
  • TwoFANoAction — ポリシーではアクションとして多要素認証 (旧称「2 要素認証」) が指定されていますが、ユーザーはすでに高保証セッションを使用しています。
  • TwoFARecoverableError — Salesforce が ID を検証する認証アプリケーションに接続できませんでしたが、再試行します。
  • TwoFAReportedDenied — Salesforce Authenticator などの認証アプリケーションの承認申請をユーザーが拒否し、さらに承認申請をシステム管理者に報告するようにフラグを付けました。
  • TwoFASucceeded — ユーザーの ID が検証されました。
この項目は、API バージョン 46.0 以降で使用できます。
PostalCode
型
string
プロパティ
Nillable
説明
ユーザーの IP アドレスが物理的に存在する場所の郵便番号。この値はローカライズされません。この項目は、47.0 以降の API バージョンで使用できます。

地理位置情報技術の性質上、この項目の精度は変化する場合があります。

メモ

RelatedEventIdentifier
型
string
プロパティ
Nillable
説明
関連イベントの EventIdentifier を表します。たとえば、bd76f3e7-9ee5-4400-9e7f-54de57ecd79c です。

この項目は、このイベントで監視している活動で追加の認証 (多要素認証など) が必要とされる場合にのみ入力されます。この場合、Salesforce はより多くのイベントを生成し、新しいイベントの RelatedEventIdentifier 項目を元のイベントの EventIdentifier 項目の値に設定します。この項目を EventIdentifier 項目と共に使用して、すべての関連イベントを相関させます。追加の認証が必要でない場合、この項目は空白になります。

RemoteIdentifier
型
string
プロパティ
Nillable
説明
将来の使用のために予約されています。
SessionKey
型
string
プロパティ
Nillable
説明
ユーザーの一意のセッション ID。この値を使用して、セッション内のすべてのユーザーイベントを識別します。ユーザーがログアウトしてから再びログインすると、新しいセッションが開始されます。LoginEvent では、イベントはセッションの作成前に取得されるため、多くの場合、この項目は null です。たとえば、vMASKIU6AxEr+Op5 です。この項目は、API バージョン 46.0 以降で使用できます。
SessionLevel
型
picklist
プロパティ
Nillable、Restricted picklist
説明
セッションレベルのセキュリティは、接続アプリケーションやレポートなど、このセキュリティをサポートする機能へのユーザーのアクセス権を制御します。可能な値は次のとおりです。
  • HIGH_ASSURANCE — リソースへのアクセスに高保証セッションが使用されました。たとえば、高保証セッションレベルが必要な接続アプリケーション、レポート、ダッシュボードなどのリソースにユーザーがアクセスしようとした場合です。
  • LOW — 現在のセッションに対するユーザーのセキュリティレベルが最低限の要件を満たします。

    この Low レベルは、Salesforce UI で利用不可能であるか、使用されません。UI を介したユーザーセッションは、標準または高保証です。このレベルは API を使用して設定できますが、このレベルに割り当てられたユーザーは、Salesforce 組織で使用できる機能が制限され、またどの機能を使用できるかを判断することができません。

    メモ

  • STANDARD — 現在のセッションに対するユーザーのセキュリティレベルが、現在の組織のセッションセキュリティレベルの標準の要件セットを満たします。
この項目は、API バージョン 42.0 以降で使用できます。
SourceIp
型
string
プロパティ
Nillable
説明
ログインしているクライアントの供給元 IP アドレス。たとえば、126.7.4.2 など。
Status
型
string
プロパティ
Nillable
説明
試行ログインの状況を表示します。状況は、成功または失敗の理由です。
Subdivision
型
string
プロパティ
Nillable
説明
ユーザーの IP アドレスが物理的に存在する下位区分の名前。米国では通常この値は州名 (ペンシルベニアなど) です。この値はローカライズされません。この項目は、47.0 以降の API バージョンで使用できます。

地理位置情報技術の性質上、この項目の精度は変化する場合があります。

メモ

TlsProtocol
型
picklist
プロパティ
Nillable、Restricted picklist
説明
ログインに使用される TLS プロトコルバージョン。API バージョン 37.0 以降で利用できます。有効な値は、次のとおりです。
  • TLS 1.0
  • TLS 1.1
  • TLS 1.2
  • TLS 1.3
  • Unknown
UserId
型
reference
プロパティ
Nillable
説明
ユーザーの一意の ID。たとえば、005000000000123 です。
Username
型
string
プロパティ
Nillable
説明
ユーザー名の形式は user@company.com です。
UserType
型
picklist
プロパティ
Nillable、Restricted picklist
説明
ユーザーライセンスのカテゴリ。UserType はそれぞれ、1 つ以上の UserLicense レコードに関連付けられます。各 UserLicense は、1 つ以上のプロファイルに関連付けられます。有効な値は、次のとおりです。
  • CsnOnly — アプリケーションへのアクセス権が Chatter に制限されているユーザー。このユーザー種別には、Chatter Free と Chatter モデレーターユーザーが含まれます。
  • CspLitePortal — CSP Lite Portal ライセンス。組織の顧客であり、カスタマーポータルまたは Experience Cloud サイトでアプリケーションにアクセスするため、アクセス権が制限されているユーザー。
  • CustomerSuccess — Customer Success ライセンス。組織の顧客であり、カスタマーポータルでアプリケーションにアクセスするため、アクセス権が制限されているユーザー。
  • Guest
  • PowerCustomerSuccess — Power Customer Success ライセンス。組織の顧客であり、カスタマーポータルでアプリケーションにアクセスするため、アクセス権が制限されているユーザー。このライセンスタイプのユーザーは、自分が直接所有するデータ、またはカスタマーポータルのロール階層で自分よりも下位に位置するユーザーが所有するデータ、およびそのユーザーと共有するデータを参照、編集できます。
  • PowerPartner — Power Partner ライセンス。パートナーであり、通常パートナーポータルまたはサイトでアプリケーションにアクセスするため、アクセス権が制限されているユーザー。
  • SelfService
  • Standard — 標準ユーザーライセンス。このユーザー種別には、Salesforce Platform と Salesforce Platform One ユーザーライセンスが含まれます。
この項目は、API バージョン 42.0 以降のリアルタイムイベント監視でのみ使用できます。

AdditionalInfo の使用

AdditionalInfo を使用すると、ログインイベントを拡張してカスタムデータを含めることができます。このデータは後で照会できます。たとえば、一意の相関 ID を共有する外部システムからユーザーがログインしたときに、その ID を取得できます。このプロセスにより、システム間でログインを追跡できます。LoginEvent を使用してデータを保存するには、すべての AdditionalInfo 項目名の先頭を x-sfdc-addinfo-{fieldname} にします。たとえば、有効な項目割り当ては、x-sfdc-addinfo-correlation_id = ABC123 です。ここで、x-sfdc-addinfo-correlation_id は項目名、ABC123 は項目値です。

項目名を定義するときには、次の点に注意してください。
  • x-sfdc-addinfo- では大文字と小文字が区別されません。x-sfdc-addinfo-{field name} と X-SFDC-ADDINFO-{FIELD NAME} は等価です。
  • 項目には、英数字と「_」 (アンダースコア) 文字のみを使用できます。
  • 項目名は、x-sfdc-addinfo- を含めずに 2 ~ 29 文字にする必要があります。
  • 先頭が x-sfdc-addinfo- でない項目名は無視されます。
  • 項目名の x-sfdc-addinfo- より後に無効な文字が含まれていると、「HTTP 400 Bad Request (HTTP 400 無効な要求)」エラーが発生する可能性があります。
  • 最初の有効な 30 個の項目名のみが AdditionalInfo に保存されます。項目名は、認証に渡されたのと同じ順序で保存されるとは限りません。
項目値を決定する場合は、次の点に注意してください。
  • 既存の API 項目名は HTTP ヘッダー内の AdditionalInfo 名に使用できません。AdditionalInfo 名がオブジェクトの API 参照名と競合した場合、項目値は保存されません。たとえば、X-SFDC-ADDINFO-UserId='abc123' という HTTP ヘッダーは AdditionalInfo に保存されません。
  • 追加項目値には、英数字、「_」、「-」文字のみを使用できます。
  • 項目値は 255 文字以下にする必要があります。項目値が 255 文字を超えた場合、最初の 255 文字のみが保存され、残りは切り捨てられます。
  • 無効な文字を含む項目値は保存されますが、項目ヘッダーが空の文字列 ("") になります。
  • 最初の有効な 30 個の項目名のみが AdditionalInfo 項目に保存されます。項目名は、認証に渡されたのと同じ順序で保存されるとは限りません。
  • AggregationFieldName が SourceIp の場合、値が Salesforce.com IP だと AggregationFieldValue で絞り込めません。

HTTP と cURL を使用して追加情報を渡す方法

次に、コマンドラインを介して追加情報を渡す例を示します。
1curl https://yourInstance.salesforce.com/services/oauth2/token -d "grant_type=password" -d
2"client_id=3MVG9PhR6g6B7ps4RF_kNPoWSxVQstrazijsE8njPtkpUzVPPffzy8
3jIoRE6q9rPznNtlsqbP9ob8kUfMjXXX" -d "client_secret=4180313776440635XXX" -d
4"username=user@company.com" -d "password=123456" -H "X-PrettyPrint:1" -H
5"x-sfdc-addinfo-correlationid:
6d18c5a3f-4fba-47bd-bbf8-6bb9a1786624"

Java で追加情報を渡す方法

次に、Java で追加情報を渡す例を示します。
1//adding additional info headers ..
2Map<String, String> httpHeaders = new HashMap<String,String>();
3httpHeaders.put("x-sfdc-addinfo-fieldname1" /* additional info field*/ ,
4"d18c5a3f-4fba-47bd-bbf8-6bb9a1786624" /* value*/);
5httpHeaders.put("x-sfdc-addinfo-fieldname2" /* additional info field*/ ,
6"d18c5a3f-4fba-47bd-bbf8-6bb9a1786624" /* value*/);
7ConnectorConfig config = new ConnectorConfig();
8config.setUsername(userId);
9config.setPassword(passwd);
10config.setAuthEndpoint(authEndPoint);
11config.setProxy(proxyHost, proxyPort);
12//setting additional info headers
13for (Map.Entry<String, String> entry : httpHeaders.entrySet()) {
14config.setRequestHeader(entry.getKey(), entry.getValue());
15}
16// Set the username and password if your proxy must be authenticated
179
18LoginEvent
19config.setProxyUsername(proxyUsername);
20config.setProxyPassword(proxyPassword);
21try {
22EnterpriseConnection connection = new EnterpriseConnection(config);
23// etc.
24} catch (ConnectionException ce) {
25ce.printStackTrace();
26}

標準 SOQL 使用状況

現在、LoginEvent でサポートされる SOQL 関数は WHERE のみで、比較演算子 (=、<、>、<=、>=) は WHERE 句の最後の式でのみ使用できます。!= 演算子はサポートされていません。

convertTimezone() などの日付関数はサポートされていません。たとえば、SELECT CALENDAR_YEAR(EventDate), Count(EventIdentifier) FROM LoginEvent GROUP BY CALENDAR_YEAR(EventDate) はエラーを返します。クエリの日付リテラルや、TODAY、YESTERDAY、LAST_n_DAYS:1 のような日付および日付/時間関数は使用できます。ただし、これらの関数はバックグラウンドで比較演算子を使用します。つまり、これらは WHERE 句の最後の式でのみ使用できます。

メモ

LoginEvent では、2 つの順序付けられた項目 (EventDate と EventIdentifier) で絞り込みができます。ただし注意すべき点があります。これらの項目を正しい順序に並べ、組み合わせて使用しないとクエリは機能しません。次のリストで、有効なクエリと無効なクエリの例を確認してください。
  • 絞り込みなし
    • 有効 — WHERE 句が含まれないため、特殊なルールは適用されません。
      1SELECT Application, Browser, EventDate, EventIdentifier, LoginUrl, UserId
      2FROM LoginEvent
  • EventDate で絞り込み
    • 有効 — EventDate のみで絞り込みできますが、他の項目で絞り込むと失敗します。このクエリ種別では比較演算子も使用できます。
      1SELECT Application, Browser, EventDate, EventIdentifier, LoginUrl, UserId
      2FROM LoginEvent
      3WHERE EventDate<=2014-11-27T14:54:16.000Z
    • 有効 — 日付リテラルを使用して EventDate で絞り込みができます。
      1SELECT Application, Browser, EventDate, EventIdentifier, LoginUrl, UserId
      2FROM LoginEvent
      3WHERE EventDate<=TODAY
  • EventDate および EventIdentifier で絞り込み
    • 有効 — 両方の項目に対する LoginEvent 条件のクエリは正常に実行できます。
      1SELECT Application, Browser, EventDate, EventIdentifier, LoginUrl, UserId
      2FROM LoginEvent
      3WHERE EventDate=2014-11-27T14:54:16.000Z and EventIdentifier='f0b28782-1ec2-424c-8d37-8f783e0a3754'
    • 無効 — EventDate と標準日付リテラルを使用した LoginEvent に対するクエリ。
      1SELECT Application, Browser, EventDate, EventIdentifier, LoginUrl, UserId
      2FROM LoginEvent
      3WHERE EventDate=TODAY and EventIdentifier='f0b28782-1ec2-424c-8d37-8f783e0a3754'
    • 無効 — <= または >= を使用する EventDate と EventIdentifier 項目のみでの絞り込みはサポートされていません。
      1SELECT Application, Browser, EventDate, EventIdentifier, LoginUrl, UserId
      2FROM LoginEvent
      3WHERE EventDate<=2014-11-27T14:54:16.000Z and EventIdentifier='f0b28782-1ec2-424c-8d37-8f783e0a3754'

非同期 SOQL 使用状況

非同期 SOQL の場合は、LoginEvent の項目を絞り込み、クエリに任意の比較演算子を使用できます。

例: 昨日の成功したログインの取得

SELECT Application, Browser, EventDate, EventIdentifier, LoginUrl, UserId FROM LoginEvent WHERE EventDate<Yesterday AND Status=’Success’