このページでは、SaaS 監査ログをスケジュールおよび管理する方法について説明します。 

AppDynamics では、UI の一部でテナントがコントローラとして言及されます。これらは同じものと見なされます。

この監査機能では audit.log ファイルを作成します。これは、テナント内のユーザアクティビティと構成変更をモニタするために使用されます。audit.log ファイルは AppDynamics テナントサーバ上に保持されているため、SaaS のユーザはこのファイルにアクセスできないことに注意してください。この情報は、次のアクションによって取得されます。 

監査レポートのスケジュール

スケジュールされたレポートを表示および構成するには、アカウントレベルの権限が必要です。このレポートを使用して、ユーザ情報、テナント設定、およびアプリケーションプロパティに加えられた変更を表示します。 

  1. [Dashboards & Reports ] > [ Reports ] > [ Add Report] の順にクリックします

  2. [Report Title] と [Report Subtitle] を入力します。

    1. [Report Subtitle] を使用して、レポートに CONFIDENTIAL のラベルを付けることができます。

    2. オプションで、レポートファイルの最初にタイトルページを含める場合は、Show Title Page を選択します。

  3. [Report Type] > [Controller Audit ] を選択して、[Reports Data] タブのフィールドを定義します。

  4. 時間範囲を設定します。必要に応じて、カスタムの時間範囲を作成および管理できます。

    1. :カスタムの時間範囲オプションはすべての Report Types に対して使用できます。

  5. レポートファイル形式として PDF、JSON、または CSV を選択します。

    1. または、[Show Diff] チェックボックスをオフにして、レポートファイルから Object Changes 列を削除します。

  6. ドロップダウンリストから、含めるまたは除外するデータを選択します。

    1. 次のオプションを使用して、必要に応じて繰り返します。

  7. 属性値を入力します。

  8. + Add をクリックします。

新しいレポートを作成したり、既存のレポートを複製したり、現在のレポートを変更したり、定義済みの受信者リストに対して電子メール配信スケジュールを設定したりすることができます。また、[Send Report Now] の右クリックオプションを選択して、監査の詳細をすぐに確認することもできます。

テナント監査では、次の属性がレポートされます。

Date および time の範囲

ObjectType

UserName

ObjectName

AccountName

ApiKeyId (該当する場合)

Action

ApiKeyName (該当する場合)

ApplicationName


監査ログレポートの取得

監査ログレポートは、構成ページに追加されたアドレスに基づいて電子メールで送信されます。このレポートでは、次の情報がキャプチャされます。

  • ユーザログインと情報の変更

  • テナント設定の変更

  • アプリケーションプロパティやオブジェクトの変更(上記テーブルにリストされているポリシー、正常性ルール、エンティティなど)

  • 環境プロパティの変更

AppDynamics は、PDF、JSON、および CSV の出力形式をサポートしています。 

API を介した監査履歴の取得

ControllerAuditHistory API メソッドを使用して監査履歴を取得できます。このメソッドは、指定された時間範囲について、JSON または CSV ファイル内の構成およびユーザアクティビティのレコードを返します。この情報は、ファイルに記載されている内容と同じです。

形式

GET /controller/ ControllerAuditHistory?startTime=<start-time>&endTime=<end-time>&include=<field>:<value>&exclude=<field>:<value>

For example:

http://localhost:8080/controller/ControllerAuditHistory?startTime=yyyy-MM-dd&&endTime=yyyy-MM-dd&include=filterName1:filterValue1&include=filterName1:filterValue1&exclude=filterName1:filterValue1&exclude=filterName1:filterValue1
CODE
curl --user user1@customer1:welcome "http://demo.appdynamics.com:8090/controller/ControllerAuditHistory?startTime=2015-12-19T10:50:03.607-0700&endTime=2015-12-19T17:50:03.607-0700&timeZoneId=America&Francisco&include=userName:user1&include=action:LOGIN&exclude=accountName:system&exclude=action:OBJECT_UPDATE"
  
[{"timeStamp":1450569821811,"auditDateTime":"2015-12-20T00:03:41.811+0000","accountName":"customer1","securityProviderType":"INTERNAL","userName":"user1","action":"LOGIN"},{"timeStamp":1450570234518,"auditDateTime":"2015-12-20T00:10:34.518+0000","accountName":"customer1","securityProviderType":"INTERNAL","userName":"user1","action":"LOGIN"},{"timeStamp":1450570273841,"auditDateTime":"2015-12-20T00:11:13.841+0000","accountName":"customer1","securityProviderType":"INTERNAL","userName":"user1","action":"OBJECT_CREATED","objectType":"AGENT_CONFIGURATION"},
...
{"timeStamp":1450570675345,"auditDateTime":"2015-12-20T00:17:55.345+0000","accountName":"customer1","securityProviderType":"INTERNAL","userName":"user1","action":"OBJECT_DELETED","objectType":"BUSINESS_TRANSACTION"},{"timeStamp":1450570719240,"auditDateTime":"2015-12-20T00:18:39.240+0000","accountName":"customer1","securityProviderType":"INTERNAL","userName":"user1","action":"APP_CONFIGURATION","objectType":"APPLICATION","objectName":"ACME Book Store Application"},{"timeStamp":1450571834835,"auditDateTime":"2015-12-20T00:37:14.835+0000","accountName":"customer1","securityProviderType":"INTERNAL","userName":"user1","action
 
curl --user user1@customer1:welcome "http://127.0.0.1:8080/controller/ControllerAuditHistory?startTime=2019-05-28T08:00:03.607-0700&endTime=2019-05-28T11:32:03.607-0700&timeZoneId=America%2FSan%20Francisco&include=applicationName:ACME"
[{"timeStamp":1559066415823,"auditDateTime":"2019-05-28T18:00:15.823+0000","accountName":"customer1","securityProviderType":"INTERNAL","userName":"user1","action":"LOGIN","objectId":0,"applicationName":"ACME"}]
CODE


入力パラメータ

Parameter Name

Parameter Type

Value

必須

start-time

[Query(クエリ)]

開始時刻の形式は、"yyyy-MM-dd'T'HH:mm:ss.SSSZ" です。

あり

end-time

[Query(クエリ)]

終了時刻の形式は、"yyyy-MM-dd'T'HH:mm:ss.SSSZ" です。

あり

time-zone-id

[Query(クエリ)]

Time zone

なし

include

[Query(クエリ)]

監査履歴の制限付き情報

なし

exclude

[Query(クエリ)]

監査履歴の制限付き情報

なし

出力のサイズを制御するには、start-time から end-time までの範囲が 24 時間を超えないようにします。24 時間よりも長くなる場合は、連続する時間パラメータで複数のクエリを使用します。

  • 同じタイプの複数のフィルタが許可されます。

  • バックエンド API の処理には、同じ <field> を含むリレーションシップが "OR" のフィルタや、異なる <field> を含むリレーションシップが "AND" のフィルタなどがあります。

  • include フィルタと exclude フィルタが直接連携することはありません。

  • 各フィルタはパラメータにする必要があります(例:include=filterName1:filterValue1&include=filterName2:filterValue2)。次の例を参照してください。

監査ログのデフォルト構成設定

次の表に、テナント用のデフォルト設定を示します。これらの設定を編集するには、AppDynamics アカウントマネージャにお問い合わせください。

Name

説明

audit.enabled

監査ロギングを有効または無効にします

true

audit.log.changes.persisted

監査ログの状態変更データの永続化を有効または無効にします

true

audit.log.file.count

サイズ制限を超えた場合のローテーションするログファイルの数

1

audit.log.file.enabled

監査情報をファイルに記録できるようにします

true

audit.log.file.location

監査ログファイルの場所 <空の値は $CONTROLLER_HOME/logs/audit.log を意味します>


audit.log.file.size

監査ロギングの最大ログファイルサイズ(バイト単位)

500000000

audit.log.retention.period

監査ログの保持期間(時間単位)(30 日間)

720

AppDynamics では、監査ログが 30 日間のみ保持されることに注意してください。それよりも長く保持する場合は、アカウントマネージャに問い合わせるか、スケジュール設定されたレポートを定期的にダウンロードしてください。

監査の対象

次のエントリが監査されます。

ACCOUNT

ACCOUNT_ROLE

ACTION_SUPPRESSION_WINDOW

AGENT_CONFIGURATION

ANALYTICS_AGENT_SCOPE

ANALYTICS_API_KEY

ANALYTICS_BUSINESS_JOURNEY

ANALYTICS_DYNAMIC_SERVICE_HIERARCHICAL_CONFIGURATION

ANALYTICS_LOG_SOURCE

ANALYTICS_METRIC

ANALYTICS_SAVED_SEARCH

ANALYTICS_XLM

APPLICATION

APPLICATION_COMPONENT

APPLICATION_COMPONENT_NODE

APPLICATION_CONFIGURATION

APPLICATION_DIAGNOSTIC_DATA

ASYNC_TRANSACTION_CONFIG

BACKEND_DISCOVERY_CONFIG

BUSINESS_TRANSACTION

BUSINESS_TRANSACTION_CONFIG

BUSINESS_TRANSACTION_GROUP

CALL_GRAPH_CONFIGURATION

CUSTOM_ACTION

CUSTOM_CACHE_CONFIGURATION

CUSTOM_EMAIL_ACTION_PLAN_CONFIG

CUSTOM_EXIT_POINT_DEFINITION

CUSTOM_MATCH_POINT_DEFINITION

DASHBOARD

DIAGNOSTIC_SESSION_ACTION

DOT_NET_ERROR_CONFIGURATION

EMAIL_ACTION

ERROR_CONFIGURATION

EUM_CONFIGURATION

EVENT_REACTOR

GLOBAL_CONFIGURATION

GROUP

HTTP_REQUEST_ACTION

HTTP_REQUEST_ACTION_MEDIA_TYPE_CONFIG

HTTP_REQUEST_ACTION_PLAN_CONFIG

HTTP_REQUEST_DATA_GATHERER_CONFIG

INFO_POINT

JIRA_ACTION

JMX_CONFIG

MEMORY_CONFIGURATION

METRIC_BASELINE

MOBILE_APPLICATION

NODEJS_ERROR_CONFIGURATION

NOTIFICATION_CONFIG

OBJECT_INSTANCE_TRACKING

PHP_ERROR_CONFIGURATION

POJO_DATA_GATHERER_CONFIG

POLICY

PYTHON_ERROR_CONFIGURATION

RULE

RUN_LOCAL_SCRIPT_ACTION

SCHEDULED_REPORT

SERVICE_ENDPOINT_DEFINITION

SERVICE_ENDPOINT_MATCH_CONFIG

SMS_ACTION

SQL_DATA_GATHERER_CONFIG

THREAD_DUMP_ACTION

TRANSACTION_MATCH_POINT_CONFIG

USER

WORKFLOW

WORKFLOW_ACTION



監査レポートは、必要に応じて上記のエンティティのアプリケーション名をサポートするようになりました。

サポートされている監査アクション

次に、監査でサポートされているアクションのリストを示します。

上記の表のすべての監査エントリで、これらのアクションのすべてがサポートされているわけではないことに注意してください。

ACCOUNT_REENABLED

ACCOUNT_ROLE_ADD_PERMISSION

ACCOUNT_ROLE_REMOVE_PERMISSION

ACKNOWLEDGE_GDPR_DATA_PRIVACY

ANOMALY_DETECTION_CONFIG_CHANGED

FLOW_ICON_MOVED

GROUP_ADD_ACCOUNT_ROLE

GROUP_REMOVE_ACCOUNT_ROLE

LDAP_CONFIG_CREATED

LDAP_CONFIG_DELETED

LDAP_CONFIG_UPDATED

LOG_LEVEL_CHANGED

LOGIN

LOGIN_FAILED

LOGOUT

LOGOUT_FAILED

OBJECT_CREATED

OBJECT_DELETED

OBJECT_UPDATED

SAML_AUTHENTICATION_CONFIG_CREATED

SAML_AUTHENTICATION_CONFIG_DELETED

SAML_AUTHENTICATION_CONFIG_UPDATED

USER_ADD_ACCOUNT_ROLE

USER_ADD_TO_GROUP

USER_EMAIL_CHANGED

USER_PASSWORD_CHANGED

USER_PASSWORD_RESET

USER_PASSWORD_RESET_COMPLETED

USER_REMOVE_ACCOUNT_ROLE

USER_REMOVE_FROM_GROUP