Firebase: permiso denegado al buscar usuarios

Estoy tratando de obtener usuarios de una base de datos de Firebase con este código, pero recibo este error

cancelar error Error Domain = com.firebase Code = 1 "Permiso denegado" UserInfo = {NSLocalizedDescription = Permiso denegado}

¿Cómo deben establecerse mis reglas?

Aquí está el código:

FIRDatabase.database().reference().child("users").observe(.childAdded, with: { (snapshot) in

        print("snapshot \(snapshot)")
        //all users right here n shyt
        if let dictionary = snapshot.value as? [String: AnyObject] {
            let user = User()

            //class properties have to match up with firebase dictionary names
            user.setValuesForKeys(dictionary)
            self.users.append(user)


            DispatchQueue.main.async {
                self.messageTable.reloadData()
            }
        }
            print(snapshot)

        }, withCancel: { (error) in
            print("cancel error \(error)")
    })

Estas son mis reglas en Firebase:

{
"rules": {
"users": {
  "$uid": {
    ".read": "$uid === auth.uid",
    ".write": "$uid === auth.uid"
  }
 }
}
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta