Role assignment to user readable names of user or group

I am currently assigning roles to user or group using their id…is there any way i can use their name and assign roles?

resource "azurerm_role_assignment" "example" {
  scope                = data.azurerm_subscription.primary.id
  role_definition_name = "Reader"
  principal_id         = "`0b1f6471-1bf0-4dda-aec3-111122223333`"
}

for principal id , can i use their name or email instead of GUID?