When resolving a user's roles, if there are any roles that depend on DLS/FLS, and that is not permitted by the current license, we skip them.
https://github.com/elastic/elasticsearch/blob/f435488484ec844962d49371b8917c135fe6f714/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/store/CompositeRolesStore.java#L188-L192

However, we do not perform any logging in this circumstance, and rely on the user discovering that their roles are missing.

We should
1. Add a `WARN` log message
2. Add a Warning header

when this occurs. 
x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authz/store/CompositeRolesStoreTests.java
final Subject subject = mock(Subject.class);
        when(subject.getUser()).thenReturn(SystemUser.INSTANCE);
        final IllegalArgumentException e1 = expectThrows(
            IllegalArgumentException.class,
            () -> compositeRolesStore.getRoleDescriptorsList(subject, new PlainActionFuture<>())
        );
        assertThat(e1.getMessage(), containsString("system user and we should never try to get its role descriptors"));
        when(subject.getUser()).thenReturn(XPackSecurityUser.INSTANCE);
        final PlainActionFuture<Collection<Set<RoleDescriptor>>> future2 = new PlainActionFuture<>();
        compositeRolesStore.getRoleDescriptorsList(subject, future2);
        assertThat(future2.actionGet(), equalTo(List.of(Set.of(XPackSecurityUser.ROLE_DESCRIPTOR))));
    }
    private void getRoleForRoleNames(CompositeRolesStore rolesStore, Collection<String> roleNames, ActionListener<Role> listener) {
        final Subject subject = mock(Subject.class);
        when(subject.getRoleReferenceIntersection(any())).thenReturn(
            new RoleReferenceIntersection(new RoleReference.NamedRoleReference(roleNames.toArray(String[]::new)))
        );
        rolesStore.getRole(subject, listener);
    }
    private Role getXPackSecurityRole() {
        return getInternalUserRole(XPackSecurityUser.INSTANCE);
    }
    private Role getXPackUserRole() {
        return getInternalUserRole(XPackUser.INSTANCE);
    }
    private Role getAsyncSearchUserRole() {
        return getInternalUserRole(AsyncSearchUser.INSTANCE);
    }
    private Role getInternalUserRole(User internalUser) {
        CompositeRolesStore compositeRolesStore = buildCompositeRolesStore(