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

LoginEvent

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

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

describeSObjects()query()

特別なアクセスルール

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

項目

項目 詳細
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 メソッド。使用できる値は GETPOSTUnknown です。
LoginGeoId
reference
プロパティ
Nillable
説明
ログインユーザの IP アドレスに関連付けられている LoginGeo オブジェクトの Salesforce ID。たとえば、04FB000001TvhiPMAR です。
LoginHistoryId
reference
プロパティ
Nillable
説明
ユーザアクティビティと特定のログインインスタンスを関連付けられるように、ユーザセッションを追跡します。この項目は LoginEvent、AuthSession、および LoginHistory オブジェクトでも使用できるため、ユーザの元の認証へとイベントを簡単にトレースバックできます。たとえば、0YaB000002knVQLKA2 です。
LoginKey
string
プロパティ
Nillable
説明
特定のユーザのログインセッションのすべてのイベントを結び付ける文字列。このセッションはログインイベントで開始され、ログアウトイベントまたはユーザセッションの期限切れで終了します。この項目は、API バージョン 46.0 以降で使用できます。たとえば、lUqjLPQTWRdvRG4 です。
LoginLatitude
double
プロパティ
Nillable
説明
ユーザの IP アドレスが物理的に存在する場所の緯度。この項目は、47.0 以降の API バージョンで使用できます。

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

メモ

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

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

メモ

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 — ポリシーの実行時にポリシーによって未定義のエラーが発生しました。
  • FailedInvalidPassword — ユーザが無効なパスワードを入力しました。
  • FailedPasswordLockout — ユーザが無効なパスワードを入力した回数が多すぎます。
  • 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 項目に保存されます。項目名は、認証に渡されたのと同じ順序で保存されるとは限りません。
  • AggregationFieldNameSourceIp の場合、値が 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) はエラーを返します。クエリの日付リテラルや、TODAYYESTERDAYLAST_n_DAYS:1 のような日付および日付/時間関数は使用できます。ただし、これらの関数はバックグラウンドで比較演算子を使用します。つまり、これらは WHERE 句の最後の式でのみ使用できます。

メモ

LoginEvent では、2 つの順序付けられた項目 (EventDateEventIdentifier) で絞り込みができます。ただし注意すべき点があります。これらの項目を正しい順序に並べ、組み合わせて使用しないとクエリは機能しません。次のリストで、有効なクエリと無効なクエリの例を確認してください。
  • 絞り込みなし
    • 有効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'
    • 無効 — <= または >= を使用する EventDateEventIdentifier 項目のみでの絞り込みはサポートされていません。
      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’