アクティビティ追跡イベント App ID

IBM Cloud App ID などのサービスは、お客様のアカウントのアクティビティ追跡イベントを生成します。

アクティビティ追跡イベントは、 IBM Cloud のサービスの状態を変更するアクティビティについて報告する。 イベントを使用して、異常なアクティビティや重要なアクションを調査し、規制の監査要件に準拠することができます。

IBM Cloud Activity Tracker Event Routing (プラットフォームサービス)を使用して、アクティビティトラッキングイベントの送信先を定義するターゲットとルートを設定することにより、アカウント内の監査イベントを選択した送信先にルーティングすることができます。 詳しくは、IBM Cloud Activity Tracker Event Routing の概要を参照してください。

IBM Cloud Logs を使用して、アカウントで生成され、 IBM Cloud Activity Tracker Event Routing によって IBM Cloud Logs インスタンスにルーティングされたイベントを視覚化し、アラートすることができます。

アクティビティ追跡イベントが発生する場所

App ID は、次の表に示す地域で、 によって活動追跡イベントを送信する。 IBM Cloud Activity Tracker Event Routing

アクティビティ・トラッキング・イベントがアメリカ大陸で送信される地域
ダラス(us-south) ワシントン (us-east) トロント (ca-tor) サンパウロ (br-sao)
はい はい はい はい
アジア太平洋地域でアクティビティ追跡イベントが送信される地域
東京(jp-tok) シドニー(au-syd) 大阪 (jp-osa) in-che
はい はい はい いいえ
アクティビティ追跡イベントが送信されるヨーロッパ地域
フランクフルト(eu-de) ロンドン(eu-gb) マドリード (eu-es)
はい はい いいえ

のアクティビティ追跡イベントの表示 App ID

IBM Cloud Logs を使用して、アカウントで生成され、 IBM Cloud Activity Tracker Event Routing によって IBM Cloud Logs インスタンスにルーティングされたイベントを視覚化し、アラートすることができます。

Observabilityページから IBM Cloud Logs

IBM Cloud Logs UIの起動については、 IBM Cloud Logs ドキュメントの「コンソールの起動 」を参照

管理イベントのリスト

次の表は、ユーザーがサービスGUIを通じて行うことができるアクションに関する情報を伝えるものである。

管理イベントを発生させるアクション
アクション 説明 GUI アクション
appid.recent-activity.read 最近のアクティビティーを表示します。 **「概要」タブの「アクティビティー・ログ」**ボックスにあります。
appid.idp-config.read ID プロバイダー構成を表示します。 **「認証の管理」>「ID プロバイダー」**タブにあります。
appid.idp-config.update ID プロバイダー構成を更新します。 **「認証の管理」>「ID プロバイダー」**タブで更新できます。
appid.tokens-config.read トークン有効期限構成を表示します。 **「認証の管理」>「認証設定」**タブにあります。
appid.tokens-config.update トークン有効期限構成を更新します。 **「認証の管理」>「認証設定」**タブにあります。
appid.redirect-uris.read 現在のリダイレクト URI 構成を表示します。 **「認証の管理」>「認証設定」**タブにあります。
appid.redirect-uris.update リダイレクト URI 構成を更新します。 **「認証の管理」>「ID プロバイダー」**タブで更新できます。
appid.is-profiles-active.read ユーザー・プロファイル・ストレージ構成を表示します。 **「プロファイルと役割」>「ユーザー・プロファイル」**タブにあります。
appid.is-profiles-active.update ユーザー・プロファイル・ストレージ構成を更新します。 **「プロファイルと役割」>「ユーザー・プロファイル」**タブにあります。
appid.users.read ユーザー・プロファイルを検索します。 **「プロファイルと役割」>「ユーザー・プロファイル」**タブにあります。
appid.users.create 事前登録済みユーザー・プロファイルを作成します。 **「プロファイルと役割」>「ユーザー・プロファイル」**タブにあります。
appid.users.get ユーザー・プロファイルをエクスポートします。 API を介して実行されなければなりません。
appid.refresh-token.revoke ユーザーに対して発行されたすべてのリフレッシュ・トークンを取り消します。 API を介して実行されなければなりません。
appid.users.import ユーザー・プロファイルをインポートします。 API を介して実行されなければなりません。
appid.user-profile.read ユーザー・プロファイルを表示します。 **「プロファイルと役割」>「ユーザー・プロファイル」**タブにあります。
appid.user-profile.update ユーザー・プロファイルを更新します。 **「プロファイルと役割」>「ユーザー・プロファイル」**タブにあります。
appid.user-profile.bulkdelete ユーザー・プロファイルのリストを削除します。 **「プロファイルと役割」>「ユーザー・プロファイル」**タブにあります。
appid.user-roles.read ユーザー役割を表示します。 **「プロファイルと役割」>「ユーザー・プロファイル」**タブにあります。
appid.user-roles.update ユーザー役割を更新します。 **「プロファイルと役割」>「ユーザー・プロファイル」**タブにあります。
appid.roles.read 役割リストを表示します。 **「プロファイルと役割」>「役割」**タブにあります。
appid.roles.create 役割を作成します。 **「プロファイルと役割」>「役割」**タブにあります。
appid.role.read 役割を表示します。 **「プロファイルと役割」>「役割」**タブにあります。
appid.role.update 役割を更新します。 **「プロファイルと役割」>「役割」**タブにあります。
appid.applications.read アプリケーション・リストを表示します。 **「アプリケーション」**タブにあります。
appid.applications.create アプリケーションを作成します。 **「アプリケーション」**タブにあります。
appid.application.read アプリケーションを表示します。 **「アプリケーション」**タブにあります。
appid.application.update アプリケーションを更新します。 **「アプリケーション」**タブにあります。
appid.application-scopes.read アプリケーション・スコープを表示します。 **「アプリケーション」**タブにあります。
appid.application-scopes.update アプリケーション・スコープを更新します。 **「アプリケーション」**タブにあります。
appid.theme-text.read ログイン・ウィジェットのテーマ・テキストを表示します。 **「ログインのカスタマイズ」**タブにあります。
appid.theme-text.update ログイン・ウィジェット・フットノートのテーマ・テキストを更新します。 **「ログインのカスタマイズ」**タブで更新できます。
appid.theme-color.read ログイン・ウィジェット・ヘッダーのテーマ・カラーを表示します。 **「ログインのカスタマイズ」**タブにあります。
appid.theme-color.update ログイン・ウィジェット・ヘッダーのテーマ・カラーを更新します。 **「ログインのカスタマイズ」**タブで更新できます。
appid.media.read ログイン・ウィジェットに表示されるイメージを表示します。 **「ログインのカスタマイズ」**タブにあります。
appid.media.update ログイン・ウィジェットに表示されるイメージを更新します。 **「ログインのカスタマイズ」**タブで更新できます。
appid.ui-configuration.read ヘッダーのカラーとイメージを含むログイン・ウィジェット UI 構成を表示します。 **「ログインのカスタマイズ」**タブにあります。
appid.ui-languages.read サポート対象言語のリストを表示します。 API から表示されなければなりません。
appid.ui-languages.update サポート対象言語を更新します。 API を介して更新されなければなりません。
appid.saml-metadata.read App ID SAML メタデータを表示します。 **「ID プロバイダー」>「SAML 2.0 フェデレーション」**タブにあります。
ppid.cloud-directory-user.read Cloud Directory ユーザーを表示します。 **「Cloud Directory」>「ユーザー」>「ユーザー詳細の表示」**タブにあります。
appid.cloud-directory-user.update Cloud Directory ユーザーを更新します。 **「ユーザー」**タブで更新できます。
appid.cloud-directory-user.delete Cloud Directory ユーザーを削除します。 API を介して削除されなければなりません。
appid.user.delete Cloud Directory ユーザーとプロファイルを削除します。 API を介して削除されなければなりません。
appid.cloud-directory-users.read Cloud Directory ユーザーのリストを表示します。 **「Cloud Directory>「ユーザー」**タブにあります。
appid.cloud-directory-user.update Cloud Directory ユーザーのリストを更新します。 **「Cloud Directory」>「ユーザー」**タブで更新できます。
appid.cloud-directory-user.delete Cloud Directory ユーザーのリストを削除します。 API を介して削除されなければなりません。
appid.users.bulkdelete Cloud Directory ユーザーとプロファイルのリストを削除します。 API を介して削除されなければなりません。
appid.cloud-directory-users.get Cloud Directory ユーザーをエクスポートします。 API を介して実行されなければなりません。
appid.cloud-directory-users.import Cloud Directory ユーザーをインポートします。 API を介して実行されなければなりません。
appid.cloud-directory-user-sso.set-off ユーザーのすべての SSO セッションを無効にします。 API を介して実行されなければなりません。
appid.email-dispatcher.read E メール・ディスパッチャー構成を表示します。 **「Cloud Directory」>「E メール・テンプレート」**タブにあります。
appid.email-dispatcher.update E メール・ディスパッチャー構成を更新します。 **「Cloud Directory」>「E メール・テンプレート」**タブにあります。
appid.email-dispatcher-test.send E メール・ディスパッチャーをテストします。 **「Cloud Directory」>「E メール・テンプレート」**タブにあります。
appid.email-settings-test.send E メール設定構成をテストします。 **「Cloud Directory」>「E メール・テンプレート」**タブにあります。
appid.email-template.read E メール・テンプレートを表示します。 **「Cloud Directory」>「E メール・テンプレート」**タブにあります。
appid.email-template.update E メール・テンプレートを更新します。 **「Cloud Directory」>「E メール・テンプレート」**タブにあります。
appid.email-template.delete E メール・テンプレートを削除して、デフォルトにリセットします。 **「Cloud Directory」>「E メール・テンプレート」**タブにあります。
appid.sender-details.read 送信者の詳細を表示します。 **「Cloud Directory」>「E メール・テンプレート」**タブにあります。
appid.sender-details.update 送信者の詳細を更新します。 **「Cloud Directory」>「E メール・テンプレート」**タブにあります。
appid.resend-notification.send ユーザー通知を再送します。 API を介して実行されなければなりません。
appid.self-forgot-password.start パスワード忘れプロセスを開始します。 **「Cloud Directory」>「E メール・テンプレート」**タブにあります。
appid.forgot-password-result.read パスワード忘れの確認結果を表示します。 API を介して実行されなければなりません。
appid.self-sign-up.start 登録プロセスを開始します。 **「Cloud Directory」>「設定」**タブにあります。
appid.sign-up-result.read 登録の結果確認を表示します。 API を介して実行されなければなりません。
appid.action_url.read アクションの実行時に呼び出されるカスタム URL を表示します。 **「Cloud Directory」>「E メール・テンプレート」**タブにあります。
appid.action-url.update アクションの実行時に呼び出されるカスタム URL を更新します。 **「Cloud Directory」>「E メール・テンプレート」**タブにあります。
appid.password-regex.read パスワード正規表現を表示します。 **「Cloud Directory」>「パスワード・ポリシー」**タブにあります。
appid.password-regex.update パスワード正規表現を更新します。 **「Cloud Directory」>「パスワード・ポリシー」**タブにあります。
appid.advanced-password-management.read 拡張パスワード・ポリシー構成を表示します。 **「Cloud Directory」>「パスワード・ポリシー」**タブにあります。
appid.advanced-password-management.update 拡張パスワード・ポリシー構成を更新します。 **「Cloud Directory」>「パスワード・ポリシー」**タブにあります。
appid.user-password.update Cloud Directory ユーザーの新規パスワードを設定します。 API を介して実行されなければなりません。
appid.capture-runtime-activity.read ランタイム・アクティビティー・トグルを表示します。 **「認証の管理」>「認証設定」**タブに表示されます。
appid.capture-runtime-activity.update ランタイム・アクティビティー・モニターを切り替えます。 **「認証の管理」>「認証設定」**タブで更新できます。
appid.mfa.read MFA 構成を表示します。 **「Cloud Directory」>「多要素認証」**タブにあります。
appid.mfa.update MFA 構成を更新します。 **「Cloud Directory」>「多要素認証」**タブにあります。
appid.mfa-channels.read MFA チャネルを表示します。 **「Cloud Directory」>「多要素認証」**タブにあります。
appid.mfa-channel.read MFA チャネル構成を表示します。 **「Cloud Directory」>「多要素認証」**タブにあります。
appid.mfa-channel.update チャネルを更新します。 **「Cloud Directory」>「多要素認証」**タブにあります。
appid.sms-dispatcher-test.send SMS ディスパッチャー構成をテストします。 **「Cloud Directory」>「多要素認証」>「SMS プロバイダー (SMS Provider)」**タブにあります。
appid.mfa-extension-premfa.read pre-MFA 拡張構成を表示します。 API を介して実行されなければなりません。
appid.mfa-extension-premfa.update pre-MFA 拡張構成を更新します。 API を介して実行されなければなりません。
appid.mfa-extension-postmfa.read post-MFA 拡張構成を表示します。 API を介して実行されなければなりません。
appid.mfa-extension-postmfa.update post-MFA 拡張構成を更新します。 API を介して実行されなければなりません。
appid.is-mfa-extension-active.update 登録済みの拡張機能の状況を更新します。 API を介して実行されなければなりません。
appid.mfa-extension-test.send 登録済みの拡張機能の構成をテストします。 API を介して実行されなければなりません。
ppid.sso.read SSO 構成を表示します。 **「ID プロバイダー」>「Cloud Directory」>「シングル・サインオン」**タブにあります。
appid.sso.update SSO 構成を更新します。 **「ID プロバイダー」>「Cloud Directory」>「シングル・サインオン」**タブにあります。
appid.rate-limit.read レート制限構成を表示します。 API を介して実行されなければなりません。
appid.rate-limit.update レート制限構成を更新します。 API を介して実行されなければなりません。

ランタイム・イベントの表示

ランタイム・イベントは、ログイン、パスワードのリセット、認証リクエストなど、アプリケーションに対するユーザーのアクティビティを追跡することができます。

実行時に認証イベントとして追跡できるアクション
説明 アクション 結果 reason. reasonCode target.id target.name target.typeURI
Cloud Directory 認証成功 appid.user.authenticate success 200 [appid user CRN] cloud_directory:[GUID] appid/user
Cloud Directory 認証失敗 appid.user.authenticate failure 401 [appid user CRN] cloud_directory:[GUID] appid/user
Facebook 認証成功 appid.user.authenticate success 200 [appid user CRN] facebook:[GUID] appid/user
Facebook 認証失敗 appid.user.authenticate failure 401 crn:unknown facebook:unknown appid/user
Google 認証成功 appid.user.authenticate success 200 [appid user CRN] google:[GUID] appid/user
Google 認証失敗 appid.user.authenticate failure 401 crn:unknown google:unknown appid/user
SAML 認証成功 appid.user.authenticate success 200 [appid user CRN] SAML:[GUID] appid/user
SAML 認証失敗 appid.user.authenticate failure 401 crn:unknown SAML:unknown appid/user
クライアント資格情報認証の成功 appid.application.authenticate success 200 [appid application CRN] client_credentials:client_id appid/application
クライアント資格情報認証の失敗 appid.application.authenticate failure 401 crn:undefined client_credentials:undefined appid/application
Cloud Directory 登録 appid.cloud-dir-user.create success 200 [appid user CRN] cloud_directory:[GUID] appid/cloud_dir/user
Cloud Directory 登録の失敗 appid.cloud-dir-user.create failure 400 crn:unknown cloud_directory:unknown appid/cloud_dir/user
Cloud Directory 登録の確認 appid.cloud-dir-user.allow success 200 [appid user CRN] cloud_directory:[GUID] appid/cloud_dir/user
Cloud Directory 登録の確認失敗 appid.cloud-dir-user.allow failure 400 crn:unknown cloud_directory:unknown appid/cloud_dir/user
Cloud Directory のパスワードのリセットまたは更新 appid.cloud-dir-user-credentials.renew success 200 [appid user CRN] cloud_directory:[GUID] appid/cloud_dir/user
Cloud Directory のパスワードのリセットまたは更新の失敗 appid.cloud-dir-user-credentials.renew failure 400 crn:unknown cloud_directory:unknown appid/cloud_dir/user
Cloud Directory のパスワードの変更 appid.cloud-dir-user-credentials.update success 200 [appid user CRN] cloud_directory:[GUID] appid/cloud_dir/user
Cloud Directory のパスワードの変更の失敗 appid.cloud-dir-user-credentials.update failure 400 crn:unknown cloud_directory:unknown
ユーザー・トークンの取り消し appid.user-tokens.revoke success 200 appid user CRN idp:[GUID] appid/user
ユーザー・トークンの取り消し失敗 appid.user-tokens.revoke failure 400 appid user CRN idp:[GUID] appid/user
Cloud Directory のユーザー SSO のログアウト appid.cloud-dir-user.set-off success 200 appid user CRN idp:[GUID] appid/user
ユーザー・プロファイル属性の表示 appid.user-profile-attributes.read success 200 crn:profiles:[User-ID] profiles:[User-ID] appid-user-profiles/attributes
ユーザー・プロファイル属性の更新 appid.user-profile-attributes.update success 200 crn:profiles:[User-ID] profiles:[User-ID] appid-user-profiles/attribute/[Attribute-name]
ユーザー・プロファイル属性の削除 appid.user-profile-attributes.delete success 200 crn:profiles:[User-ID] profiles:[User-ID] appid-user-profiles/attribute/[Attribute-name]

App ID 活動追跡イベントの分析

ランタイム・イベントを生成したユーザーは、名前や E メールではなく、GUID で示されます。 アカウント所有者であれば、その GUID を使用して具体的なユーザーを特定できます。また、そのユーザーによってトリガーされたすべてのイベントを検索して表示することもできます。

以下のシナリオは、Cloud Directory のユーザーにのみ適用されます。 Google や Facebook などの外部 IdP で定義されているユーザーの GUID は、その ID プロバイダーでしか解釈できません。

GUID からのユーザー情報の抽出

IBM Cloud Activity Tracker Event Routing コンソールのイベントには以下のフィールドが含まれます。

イベントに含まれるフィールドの例
フィールド 値 説明
initiator.id cb967e0d-43c1-454a-968d-0efa24766846 テナント ID。
target.name cloud_directory:34e1ea6d-cc02-4941-9462-7e9c5a40b360 ユーザー ID。

イベントの GUID に対応するユーザーの情報を調べるには、以下の手順を使用します。

  1. App ID ダッシュボードの 「資格情報」 タブで、apiKey フィールドと tenantID フィールドの情報をコピーして保存します。 テナント ID はイベントの ID と一致するはずです。 資格情報が存在しない場合は、1 セット作成します。

  2. apiKey を以下のコマンドに挿入して、このキーの IAM トークンを取得します。

    curl -k -X POST \
       --header "Content-Type: application/x-www-form-urlencoded" \
       --header "Accept: application/json" \
       --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
       --data-urlencode "apikey=<apiKey>" \
       "https://iam.cloud.ibm.com/identity/token"
    
  3. 応答の**「access_token」**フィールドの IAM トークンをコピーします。

  4. 地域を選択します。 使用可能なリージョンについてはこちらを参照してください。

  5. IAM トークン、テナント ID、ユーザー ID を以下のコマンドに挿入してユーザー情報を取得します。

    curl -X GET
    --header 'Accept: application/json'
    --header 'Authorization: Bearer <IAMToken>' \
    'https://<region>.appid.cloud.ibm.com/<tenantID>/cloud_directory/Users/<userID>'
    

    管理APIを使ってこのコマンドを実行することもできる。 出力は、以下の JSON オブジェクトのようになります。

       {
       "displayName": "test test",
       "active": true,
       "userName": "test0001",
       "mfaContext": {},
       "emails": [
       {
          "value": "mytest@yahoo.com",
          "primary": true
       }
       ],
       "meta": {
       "lastLogin": "2018-12-10T16:05:36.665Z",
       "created": "2018-08-21T08:55:50.643Z",
       "location": "/v1/cb967e0d-43c1-454a-968d-0efa24766846/Users/34e1ea6d-cc02-4941-9462-7e9c5a40b360",
       "lastModified": "2018-12-10T16:05:36.675Z",
       "resourceType": "User"
       },
       "schemas": [
       "urn:ietf:params:scim:schemas:core:2.0:User"
       ],
       "name": {
       "givenName": "test",
       "familyName": "test",
       "formatted": "test test"
       },
       "id": "34e1ea6d-cc02-4941-9462-7e9c5a40b360"
    }
    

ユーザー関連イベントの検索

IBM Cloud Activity Tracker Event Routing では、ユーザーの E メールを使用して、特定の Cloud Directory ユーザーのイベントを追跡できます。 追跡を開始する前に、E メールと Cloud Directory の GUID を対応付けておく必要があります。

  1. 前のセクションで説明されているように、IAM トークン、テナント ID、およびリージョンを取得します。

  2. IAM トークン、テナント ID、E メールを以下のコマンドに挿入して、ユーザー情報を取得します。

    curl -X GET
    --header 'Accept: application/json'
    --header 'Authorization: Bearer <IAMToken>'
    'https://<region>.appid.cloud.ibm.com/<tenantID>/users?email=<emailAddress>'
    

    E メール・アドレスはエスケープする必要があります。 例えば、myTest@yahoo.com ではなく myTest%40yahoo.com を使用します。

    あるいは、 Management APIを使うこともできる。 出力は、以下の JSON オブジェクトのようになります。

    {
       "users": [
       {
          "idp": "cloud_directory",
          "id": "1e123399-3499-4a5c-b5a9-93843a91dc80"
       },
       {
          "idp": "cloud_directory",
          "id": "2a7abbe5-0fce-402e-9ddf-265246b415c8"
       }
       ]
    }
    
  3. で cloud_directory:idの値を検索する。 target.name_strIBM Cloud Activity Tracker Event Routing フィールドを検索する。