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({