Microsoft documentation says about db_datareader role that:
db_datareader: Members of the db_datareader fixed database role can read all data from all user tables and views. User objects can exist in any schema except sys and INFORMATION_SCHEMA.
The last sentence is confusing for me. I think it means that users whose only role is db_datareader cannot query things inside INFORMATION_SCHEMA, but I made a user with only that role for a database and I successfully ran queries like below on that database:
SELECT * FROM INFORMATION_SCHEMA.TABLES
Doesn't this contradict that last sentence? What is the correct interpretation of the last sentence?