Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create MFA Report script #11740

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

mitchellhenke
Copy link
Contributor

@mitchellhenke mitchellhenke commented Jan 13, 2025

🎫 Ticket

Link to the relevant ticket:
https://gitlab.login.gov/lg-teams/data-analytics/reporting/-/issues/20

🛠 Summary of changes

To make it easier to investigate support cases, this PR creates a new report that can be run by passing a set of UUIDs. It is based on the existing MFA Report used by the IG User Report. I've also added the platform_authenticator field to WebAuthn configurations in the report so we can tell what kind of authenticator it is. I've included a sample of what the report looks like below:

Sample Report
[
  {
    "phone_configurations": [
      {
        "id": 1,
        "phone": "+1 555-000-0000",
        "created_at": "2025-01-01T00:00:00.000Z",
        "confirmed_at": "2025-01-01T00:00:00.000Z"
      }
    ],
    "auth_app_configurations": [
      {
        "name": "My auth app",
        "created_at": "2025-01-01T00:00:00.000Z"
      }
    ],
    "webauthn_configurations": [
      {
        "name": "ABC",
        "platform_authenticator": false,
        "created_at": "2025-01-01T00:00:00.000Z"
      }
    ],
    "piv_cac_configurations": [
      {
        "name": "PIV",
        "created_at": "2025-01-01T00:00:00.000Z"
      }
    ],
    "backup_code_configurations": [
      {
        "created_at": "2025-01-01T00:00:00.000Z",
        "used_at": null
      },
      {
        "created_at": "2025-01-01T00:00:00.000Z",
        "used_at": null
      },
      {
        "created_at": "2025-01-01T00:00:00.000Z",
        "used_at": null
      },
      {
        "created_at": "2025-01-01T00:00:00.000Z",
        "used_at": null
      },
      {
        "created_at": "2025-01-01T00:00:00.000Z",
        "used_at": null
      },
      {
        "created_at": "2025-01-01T00:00:00.000Z",
        "used_at": null
      },
      {
        "created_at": "2025-01-01T00:00:00.000Z",
        "used_at": null
      },
      {
        "created_at": "2025-01-01T00:00:00.000Z",
        "used_at": null
      },
      {
        "created_at": "2025-01-01T00:00:00.000Z",
        "used_at": null
      },
      {
        "created_at": "2025-01-01T00:00:00.000Z",
        "used_at": null
      }
    ]
  }
]

changelog: Internal, Reporting, Create MFA Report script
@mitchellhenke mitchellhenke force-pushed the mitchellhenke/mfa-report branch from 6f9b521 to 21e71c9 Compare January 13, 2025 20:39
@mitchellhenke mitchellhenke requested a review from a team January 13, 2025 20:56
ScriptBase::Result.new(
subtask: 'mfa-report',
uuids: uuids,
json: output,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this a JSON-only report? might match existing tooling better of we could find a way to do tabular representation?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is, yeah. I'm not sure what representing as a table could look like since the fields for each MFA type can vary pretty significantly (in content and amount).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More similar to the IG Report than the other reports unfortunately

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants