アクティビティ追跡イベント 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 に対応するユーザーの情報を調べるには、以下の手順を使用します。
-
App ID ダッシュボードの 「資格情報」 タブで、
apiKeyフィールドとtenantIDフィールドの情報をコピーして保存します。 テナント ID はイベントの ID と一致するはずです。 資格情報が存在しない場合は、1 セット作成します。 -
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" -
応答の**「access_token」**フィールドの IAM トークンをコピーします。
-
地域を選択します。 使用可能なリージョンについてはこちらを参照してください。
-
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 を対応付けておく必要があります。
-
前のセクションで説明されているように、IAM トークン、テナント ID、およびリージョンを取得します。
-
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" } ] } -
で cloud_directory:idの値を検索する。 target.name_strIBM Cloud Activity Tracker Event Routing フィールドを検索する。