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
PlainActionFuture<Role> rolesFuture = new PlainActionFuture<>();
        Subject subject = new Subject(XPackUser.INSTANCE, new RealmRef("name", "type", "node"));
        compositeRolesStore.getRole(subject, rolesFuture);
        Role roles = rolesFuture.actionGet();
        assertThat(roles, equalTo(compositeRolesStore.getXpackUserRole()));
        assertThat(effectiveRoleDescriptors.get(), is(nullValue()));
        verifyNoMoreInteractions(fileRolesStore, nativeRolesStore, reservedRolesStore);
        
        rolesFuture = new PlainActionFuture<>();
        subject = new Subject(AsyncSearchUser.INSTANCE, new RealmRef("name", "type", "node"));
        compositeRolesStore.getRole(subject, rolesFuture);
        roles = rolesFuture.actionGet();
        assertThat(roles, equalTo(compositeRolesStore.getAsyncSearchUserRole()));
        assertThat(effectiveRoleDescriptors.get(), is(nullValue()));
        verifyNoMoreInteractions(fileRolesStore, nativeRolesStore, reservedRolesStore);
    }
    public void testGetRolesForSystemUserThrowsException() {
        final FileRolesStore fileRolesStore = mock(FileRolesStore.class);
        doCallRealMethod().when(fileRolesStore).accept(anySet(), anyActionListener());
        final NativeRolesStore nativeRolesStore = mock(NativeRolesStore.class);
        doCallRealMethod().when(nativeRolesStore).accept(anySet(), anyActionListener());
        when(fileRolesStore.roleDescriptors(anySet())).thenReturn(Collections.emptySet());
        doAnswer((invocationOnMock) -> {
            @SuppressWarnings("unchecked")
            ActionListener<RoleRetrievalResult> callback = (ActionListener<RoleRetrievalResult>) invocationOnMock.getArguments()[1];
            callback.onResponse(RoleRetrievalResult.failure(new RuntimeException("intentionally failed!")));
            return null;
        }).when(nativeRolesStore).getRoleDescriptors(isASet(), anyActionListener());
        final ReservedRolesStore reservedRolesStore = spy(new ReservedRolesStore());
        final AtomicReference<Collection<RoleDescriptor>> effectiveRoleDescriptors = new AtomicReference<Collection<RoleDescriptor>>();