Skip to content

Create MFA Report script#11740

Merged
mitchellhenke merged 1 commit intomainfrom
mitchellhenke/mfa-report
Jan 29, 2025
Merged

Create MFA Report script#11740
mitchellhenke merged 1 commit intomainfrom
mitchellhenke/mfa-report

Conversation

@mitchellhenke
Copy link
Copy Markdown
Contributor

@mitchellhenke mitchellhenke commented Jan 13, 2025

🎫 Ticket

Link to the relevant ticket:
https://gitlab.login.gov/lg-teams/agnes/data-warehouse-ag/-/issues/599

🛠 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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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

@mitchellhenke mitchellhenke merged commit 374c199 into main Jan 29, 2025
@mitchellhenke mitchellhenke deleted the mitchellhenke/mfa-report branch January 29, 2025 13:59
n1zyy pushed a commit that referenced this pull request Jan 31, 2025
changelog: Internal, Reporting, Create MFA Report script
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