diff --git a/x-pack/plugins/security/public/management/roles/edit_role/privileges/es/index_privilege_form.test.tsx b/x-pack/plugins/security/public/management/roles/edit_role/privileges/es/index_privilege_form.test.tsx index 8ed57e646326f..09160ce3b6967 100644 --- a/x-pack/plugins/security/public/management/roles/edit_role/privileges/es/index_privilege_form.test.tsx +++ b/x-pack/plugins/security/public/management/roles/edit_role/privileges/es/index_privilege_form.test.tsx @@ -416,6 +416,26 @@ describe('field level security', () => { expect(testProps.indicesAPIClient.getFields).toHaveBeenCalledWith('newPattern'); }); + test('does not query availble fields for remote cluster indices', async () => { + const testProps = { + ...props, + indexType: 'remote_indices' as const, + indexPrivilege: { + ...props.indexPrivilege, + clusters: ['test-cluster'], + names: ['foo', 'bar-*'], + }, + indicesAPIClient: indicesAPIClientMock.create(), + allowFieldLevelSecurity: true, + }; + + testProps.indicesAPIClient.getFields.mockResolvedValue(['a', 'b', 'c']); + + mountWithIntl(); + await nextTick(); + expect(testProps.indicesAPIClient.getFields).not.toHaveBeenCalled(); + }); + test('it displays a warning when no fields are granted', () => { const testProps = { ...props, diff --git a/x-pack/plugins/security/public/management/roles/edit_role/privileges/es/index_privilege_form.tsx b/x-pack/plugins/security/public/management/roles/edit_role/privileges/es/index_privilege_form.tsx index 58d1bd8061bf8..2540316caac89 100644 --- a/x-pack/plugins/security/public/management/roles/edit_role/privileges/es/index_privilege_form.tsx +++ b/x-pack/plugins/security/public/management/roles/edit_role/privileges/es/index_privilege_form.tsx @@ -227,7 +227,12 @@ export class IndexPrivilegeForm extends Component { }; private loadFLSOptions = (indexNames: string[], force = false) => { - if (!force && (this.isFieldListLoading || indexNames.length === 0)) return; + if ( + this.props.indexType === 'remote_indices' || + (!force && (this.isFieldListLoading || indexNames.length === 0)) + ) { + return; + } this.isFieldListLoading = true; this.setState({