list-user-analytics

Description

Gets a list of aggregated user details from the specified user assessment. This provides information about the overall state. of database user security. For example, the user details include how many users have the DBA role and how many users are in the critical category. This data is especially useful content for dashboards or to support analytics.

When you perform the ListUserAnalytics operation, if the parameter compartmentIdInSubtree is set to “true,” and if the parameter accessLevel is set to ACCESSIBLE, then the operation returns compartments in which the requestor has INSPECT permissions on at least one resource, directly or indirectly (in subcompartments). If the operation is performed at the root compartment and the requestor does not have access to at least one subcompartment of the compartment specified by compartmentId, then “Not Authorized” is returned.

The parameter compartmentIdInSubtree applies when you perform ListUserAnalytics on the compartmentId passed and when it is set to true, the entire hierarchy of compartments can be returned.

To use ListUserAnalytics to get a full list of all compartments and subcompartments in the tenancy from the root compartment, set the parameter compartmentIdInSubtree to true and accessLevel to ACCESSIBLE.

Usage

oci data-safe user-assessment list-user-analytics [OPTIONS]

Required Parameters

--user-assessment-id [text]

The OCID of the user assessment.

Optional Parameters

--access-level [text]

Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.

Accepted values are:

ACCESSIBLE, RESTRICTED
--account-status [text]

A filter to return only items that match the specified account status.

--all

Fetches all pages of results. If you provide this option, then you cannot provide the --limit option.

--authentication-type [text]

A filter to return only items that match the specified authentication type.

--compartment-id-in-subtree [boolean]

Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the ‘accessLevel’ setting.

--from-json [text]

Provide input to this command as a JSON document from a file using the file://path-to/file syntax.

The --generate-full-command-json-input option can be used to generate a sample json file to be used with this command option. The key names are pre-populated and match the command option names (converted to camelCase format, e.g. compartment-id –> compartmentId), while the values of the keys need to be populated by the user before using the sample file as an input to this command. For any command option that accepts multiple values, the value of the key can be a JSON array.

Options can still be provided on the command line. If an option exists in both the JSON document and the command line then the command line specified value will be used.

For examples on usage of this option, please see our “using CLI with advanced JSON options” link: https://docs.cloud.oracle.com/iaas/Content/API/SDKDocs/cliusing.htm#AdvancedJSONOptions

--limit [integer]

For list pagination. The maximum number of items to return per page in a paginated “List” call. For details about how pagination works, see List Pagination.

--page [text]

For list pagination. The page token representing the page at which to start retrieving results. It is usually retrieved from a previous “List” call. For details about how pagination works, see List Pagination.

--page-size [integer]

When fetching results, the number of results to fetch per call. Only valid when used with --all or --limit, and ignored otherwise.

--sort-by [text]

The field to sort by. You can specify only one sort order (sortOrder). The default order for userName is ascending.

Accepted values are:

accountStatus, authenticationType, targetId, timeLastLogin, timePasswordChanged, timeUserCreated, userCategory, userName
--sort-order [text]

The sort order to use, either ascending (ASC) or descending (DESC).

Accepted values are:

ASC, DESC
--target-id [text]

A filter to return only items related to a specific target OCID.

--time-last-login-greater-than-or-equal-to [datetime]

A filter to return users whose last login time in the database is greater than or equal to the date and time specified, in the format defined by RFC3339.

Example: 2016-12-19T16:39:57.600Z

The following datetime formats are supported:

UTC with microseconds

Format: YYYY-MM-DDTHH:mm:ss.ssssssTZD
Example: 2017-09-15T20:30:00.123456Z

UTC with milliseconds
***********************
.. code::

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD
    Example: 2017-09-15T20:30:00.123Z

UTC without milliseconds
**************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T20:30:00Z

UTC with minute precision
**************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T20:30Z

Timezone with microseconds

Format: YYYY-MM-DDTHH:mm:ssTZD
Example: 2017-09-15T12:30:00.456789-08:00, 2017-09-15T12:30:00.456789-0800

Timezone with milliseconds
***************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00.456-08:00, 2017-09-15T12:30:00.456-0800

Timezone without milliseconds
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00-08:00, 2017-09-15T12:30:00-0800

Timezone with minute precision
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T12:30-08:00, 2017-09-15T12:30-0800

Short date and time
********************
The timezone for this date and time will be taken as UTC (Needs to be surrounded by single or double quotes)

.. code::

    Format: 'YYYY-MM-DD HH:mm' or "YYYY-MM-DD HH:mm"
    Example: '2017-09-15 17:25'

Date Only
**********
This date will be taken as midnight UTC of that day

.. code::

    Format: YYYY-MM-DD
    Example: 2017-09-15

Epoch seconds
**************
.. code::

    Example: 1412195400
--time-last-login-less-than [datetime]

A filter to return users whose last login time in the database is less than the date and time specified, in the format defined by RFC3339. Example: 2016-12-19T16:39:57.600Z

The following datetime formats are supported:

UTC with microseconds

Format: YYYY-MM-DDTHH:mm:ss.ssssssTZD
Example: 2017-09-15T20:30:00.123456Z

UTC with milliseconds
***********************
.. code::

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD
    Example: 2017-09-15T20:30:00.123Z

UTC without milliseconds
**************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T20:30:00Z

UTC with minute precision
**************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T20:30Z

Timezone with microseconds

Format: YYYY-MM-DDTHH:mm:ssTZD
Example: 2017-09-15T12:30:00.456789-08:00, 2017-09-15T12:30:00.456789-0800

Timezone with milliseconds
***************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00.456-08:00, 2017-09-15T12:30:00.456-0800

Timezone without milliseconds
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00-08:00, 2017-09-15T12:30:00-0800

Timezone with minute precision
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T12:30-08:00, 2017-09-15T12:30-0800

Short date and time
********************
The timezone for this date and time will be taken as UTC (Needs to be surrounded by single or double quotes)

.. code::

    Format: 'YYYY-MM-DD HH:mm' or "YYYY-MM-DD HH:mm"
    Example: '2017-09-15 17:25'

Date Only
**********
This date will be taken as midnight UTC of that day

.. code::

    Format: YYYY-MM-DD
    Example: 2017-09-15

Epoch seconds
**************
.. code::

    Example: 1412195400
--time-password-last-changed-greater-than-or-equal-to [datetime]

A filter to return users whose last password change in the database is greater than or equal to the date and time specified, in the format defined by RFC3339.

Example: 2016-12-19T16:39:57.600Z

The following datetime formats are supported:

UTC with microseconds

Format: YYYY-MM-DDTHH:mm:ss.ssssssTZD
Example: 2017-09-15T20:30:00.123456Z

UTC with milliseconds
***********************
.. code::

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD
    Example: 2017-09-15T20:30:00.123Z

UTC without milliseconds
**************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T20:30:00Z

UTC with minute precision
**************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T20:30Z

Timezone with microseconds

Format: YYYY-MM-DDTHH:mm:ssTZD
Example: 2017-09-15T12:30:00.456789-08:00, 2017-09-15T12:30:00.456789-0800

Timezone with milliseconds
***************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00.456-08:00, 2017-09-15T12:30:00.456-0800

Timezone without milliseconds
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00-08:00, 2017-09-15T12:30:00-0800

Timezone with minute precision
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T12:30-08:00, 2017-09-15T12:30-0800

Short date and time
********************
The timezone for this date and time will be taken as UTC (Needs to be surrounded by single or double quotes)

.. code::

    Format: 'YYYY-MM-DD HH:mm' or "YYYY-MM-DD HH:mm"
    Example: '2017-09-15 17:25'

Date Only
**********
This date will be taken as midnight UTC of that day

.. code::

    Format: YYYY-MM-DD
    Example: 2017-09-15

Epoch seconds
**************
.. code::

    Example: 1412195400
--time-password-last-changed-less-than [datetime]

A filter to return users whose last password change in the database is less than the date and time specified, in the format defined by RFC3339.

Example: 2016-12-19T16:39:57.600Z

The following datetime formats are supported:

UTC with microseconds

Format: YYYY-MM-DDTHH:mm:ss.ssssssTZD
Example: 2017-09-15T20:30:00.123456Z

UTC with milliseconds
***********************
.. code::

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD
    Example: 2017-09-15T20:30:00.123Z

UTC without milliseconds
**************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T20:30:00Z

UTC with minute precision
**************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T20:30Z

Timezone with microseconds

Format: YYYY-MM-DDTHH:mm:ssTZD
Example: 2017-09-15T12:30:00.456789-08:00, 2017-09-15T12:30:00.456789-0800

Timezone with milliseconds
***************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00.456-08:00, 2017-09-15T12:30:00.456-0800

Timezone without milliseconds
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00-08:00, 2017-09-15T12:30:00-0800

Timezone with minute precision
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T12:30-08:00, 2017-09-15T12:30-0800

Short date and time
********************
The timezone for this date and time will be taken as UTC (Needs to be surrounded by single or double quotes)

.. code::

    Format: 'YYYY-MM-DD HH:mm' or "YYYY-MM-DD HH:mm"
    Example: '2017-09-15 17:25'

Date Only
**********
This date will be taken as midnight UTC of that day

.. code::

    Format: YYYY-MM-DD
    Example: 2017-09-15

Epoch seconds
**************
.. code::

    Example: 1412195400
--time-user-created-greater-than-or-equal-to [datetime]

A filter to return users whose creation time in the database is greater than or equal to the date and time specified, in the format defined by RFC3339. Example: 2016-12-19T16:39:57.600Z

The following datetime formats are supported:

UTC with microseconds

Format: YYYY-MM-DDTHH:mm:ss.ssssssTZD
Example: 2017-09-15T20:30:00.123456Z

UTC with milliseconds
***********************
.. code::

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD
    Example: 2017-09-15T20:30:00.123Z

UTC without milliseconds
**************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T20:30:00Z

UTC with minute precision
**************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T20:30Z

Timezone with microseconds

Format: YYYY-MM-DDTHH:mm:ssTZD
Example: 2017-09-15T12:30:00.456789-08:00, 2017-09-15T12:30:00.456789-0800

Timezone with milliseconds
***************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00.456-08:00, 2017-09-15T12:30:00.456-0800

Timezone without milliseconds
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00-08:00, 2017-09-15T12:30:00-0800

Timezone with minute precision
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T12:30-08:00, 2017-09-15T12:30-0800

Short date and time
********************
The timezone for this date and time will be taken as UTC (Needs to be surrounded by single or double quotes)

.. code::

    Format: 'YYYY-MM-DD HH:mm' or "YYYY-MM-DD HH:mm"
    Example: '2017-09-15 17:25'

Date Only
**********
This date will be taken as midnight UTC of that day

.. code::

    Format: YYYY-MM-DD
    Example: 2017-09-15

Epoch seconds
**************
.. code::

    Example: 1412195400
--time-user-created-less-than [datetime]

A filter to return users whose creation time in the database is less than the date and time specified, in the format defined by RFC3339. Example: 2016-12-19T16:39:57.600Z

The following datetime formats are supported:

UTC with microseconds

Format: YYYY-MM-DDTHH:mm:ss.ssssssTZD
Example: 2017-09-15T20:30:00.123456Z

UTC with milliseconds
***********************
.. code::

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD
    Example: 2017-09-15T20:30:00.123Z

UTC without milliseconds
**************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T20:30:00Z

UTC with minute precision
**************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T20:30Z

Timezone with microseconds

Format: YYYY-MM-DDTHH:mm:ssTZD
Example: 2017-09-15T12:30:00.456789-08:00, 2017-09-15T12:30:00.456789-0800

Timezone with milliseconds
***************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00.456-08:00, 2017-09-15T12:30:00.456-0800

Timezone without milliseconds
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00-08:00, 2017-09-15T12:30:00-0800

Timezone with minute precision
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T12:30-08:00, 2017-09-15T12:30-0800

Short date and time
********************
The timezone for this date and time will be taken as UTC (Needs to be surrounded by single or double quotes)

.. code::

    Format: 'YYYY-MM-DD HH:mm' or "YYYY-MM-DD HH:mm"
    Example: '2017-09-15 17:25'

Date Only
**********
This date will be taken as midnight UTC of that day

.. code::

    Format: YYYY-MM-DD
    Example: 2017-09-15

Epoch seconds
**************
.. code::

    Example: 1412195400
--user-category [text]

A filter to return only items that match the specified user category.

--user-key [text]

A filter to return only items that match the specified user key.

--user-name [text]

A filter to return only items that match the specified user name.

Example using required parameter

Copy the following CLI commands into a file named example.sh. Run the command by typing “bash example.sh” and replacing the example parameters with your own.

Please note this sample will only work in the POSIX-compliant bash-like shell. You need to set up the OCI configuration and appropriate security policies before trying the examples.

    export compartment_id=<substitute-value-of-compartment_id> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/data-safe/user-assessment/create.html#cmdoption-compartment-id
    export target_id=<substitute-value-of-target_id> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/data-safe/user-assessment/create.html#cmdoption-target-id

    user_assessment_id=$(oci data-safe user-assessment create --compartment-id $compartment_id --target-id $target_id --query data.id --raw-output)

    oci data-safe user-assessment list-user-analytics --user-assessment-id $user_assessment_id