el permiso de seguridad de firebase no funciona

Tengo los siguientes datos almacenados en mifirebase:

firebaseRoot
    admins
        simplelogin:1: 
    users
        simplelogin:1
            email: abc@xyz.com
            picture: csd
            provider: password
            uid: simplelogin:1
        simplelogin:2
            email: abc1@xyz.com
            picture: zsd
            provider: password
            uid: simplelogin:1

y siguiendo las reglas de seguridad:

{
  "rules": {
    "admins": {
      ".read": "root.child('admins').child(auth.uid).val() === true",
      ".write": "root.child('admins').child(auth.uid).val() === true"
    },
    "users": {
      "$user":{
        ".read": "$user === auth.id || root.child('admins').child(auth.uid).val() === true",
        ".write": "$user === auth.id"
      }
    }
  }
}

Mis requisitos de autorización son los siguientes.

los administradores pueden ser leídos y agregados solo por el administrador existente solamente. Esto funciona.El administrador puede leer a todos los usuarios, pero no deberían poder escribir los datos del usuario.Un usuario puede leer y actualizar sus propios datos de usuario.

Actualmente con las reglas anteriores, no puedo leer los datos de los usuarios tanto para administradores como para usuarios registrados. Me aparece el siguiente mensaje de error. Por favor brinde su ayuda. Gracias.

var rootRef = new Firebase('https://xxxxx.firebaseio.com/');
var users = rootRef.child('users');
users.on('value', function(snap) {
console.log(snap.key(), snap.val());
}, function(error) {
console.log(error);
});

Error:

Error: permission_denied: el cliente no tiene permiso para acceder a los datos deseados.