IDENTITY SECURITY · LAB
Inventory every path into Ava's account
Set up Ava with a password, an authenticator app and a passkey, then list every way into her account, what each needs and what limits it, and rank them.
ReadyUses your lab tenant
The lesson
New to the labs? Start with the lab toolkit and the shared cast and names every lab uses.
Your progress
Press Start before you begin. Only events your tenant records after that count, in the order below. Checking reads your tenant's Audit, so you need Audit read access in it.
Sign in to start this lab and check your progress. Log in or create an account.
Turn on the authenticator app and passkey methods
Recorded as
tenant.authentication.updatesucceeded.Set passwords for the lab people
Recorded as
tenant.users.credentials.setsucceeded.Sign in as Ava
Recorded as
account.sign_insucceeded about[email protected].Enroll Ava's authenticator app and passkey
Recorded as
account.securitysucceeded (method_enrolled) about[email protected].
Request console
Requests in this lab can be sent from this page to your tenant: open one and choose Send. Fill in the values below first. They stay in this page's memory and are gone when you leave; secrets are never stored or sent anywhere except the request you send.
Setup
This is the first lab of the Identity security track. It prepares the people the rest of the track reuses.
In the tenant portal for Lab Photos, open Overview > Reset tenant and reset the lab tenant with the Lab Photos preset. Keep the default that preserves Audit and Logs. The preset creates Ava, Ben and Cora without passwords.
Press Start on this page after the reset, so the checks only count what you do next.
Set your shell variables. Your issuer is shown in Overview.
export ISSUER="https://tenant-<your-tenant-id>.beyondthelogin.dev"
btl-lab env security
Walkthrough
In Authentication, keep Password set to Required. Set Authenticator app and Passkey or security key to Optional, keep Passwordless on for passkeys, and keep Second step on
enrolled. Save.
Why it matters: each method you turn on is a separate path into every account. The lesson's table of what an attacker can obtain starts here: credentials are the first row.
In Users, set an administrator password for Ava, Ben and Cora. Store Ava's in your shell so it never lands in a file.
read -rs AVA_PASSWORD
Sign in as Ava at
$ISSUER/login, open$ISSUER/account/securityand enroll an authenticator app and a passkey.
Why it matters: Ava now has a strong method she uses every day, but the password is still there. The lesson's point is that the weakest path decides, not the method the owner prefers.
Fetch the tenant's discovery document and note every endpoint that hands out a credential: the authorization, token and UserInfo endpoints, and
grant_types_supported.
GET$ISSUER/.well-known/openid-configuration
Open in console
GET $ISSUER/.well-known/openid-configurationWhy it matters: an endpoint that issues tokens is a door. Each grant type is a different way to end up holding a token that acts for Ava or for a client.
Back on
$ISSUER/account/security, list what Ava can use to sign in: her password, the passkey, the authenticator app as a second step, her recovery codes and any trusted browsers.
Why it matters: recovery codes and a remembered browser are paths too. A remembered browser skips the second step, much like the stolen session in the lesson's table skips the whole sign-in.
In the portal, open Users and look at Ava's row. Note that an administrator can reset her sign-in methods and set her password. Then open Roles and OAuth > Clients and note any management role Ava holds and which clients she could approve.
Why it matters: an administrator's reset replaces Ava's methods entirely. That is the help desk path from the Cedar timeline. What lies beyond Ava's account (roles, approved apps) decides how much each path is worth defending.
Write the inventory as a table with four columns: path, what it requires, what limits it, and your rank. Include at least: password, passkey, authenticator app, recovery codes, trusted browser, existing session, an app Ava approves, an administrator reset, and the tenant's signing keys.
Why it matters: the lesson says defending an account starts by counting its paths. Ranking them shows that the passkey is not the account's strength while the password remains.
Break it
Sign out and open
$ISSUER/loginagain. Password sign-in is still offered next to the passkey. Adding a stronger method did not remove the weaker one. Nothing was weakened here; the Getting around MFA lab closes this path with policy.
Check your work
Check my progress confirms the policy change, the passwords, Ava's sign-in and her two enrollments.
In Audit, source User directory, find
tenant.users.credentials.setfor each person andtenant.authentication.updatefor the policy.In Audit, source Protocol activity, find Ava's
account.sign_inand theaccount.securityevents with reasonmethod_enrolled.Your ranked table names at least nine paths and what limits each one.
Cleanup
Keep Ava, Ben and Cora, their passwords and Ava's methods. Later labs in this track use them.