[Fleet] Do not allow to edit anything else than namespace for managed policies (#216701)

This commit is contained in:
Nicolas Chaulet 2025-04-02 11:06:02 -04:00 committed by GitHub
parent 73974a2f88
commit a750c7366e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 14 additions and 12 deletions

View file

@ -125,7 +125,7 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent<Props> =
const [isUninstallCommandFlyoutOpen, setIsUninstallCommandFlyoutOpen] = useState(false);
const policyHasElasticDefend = useMemo(() => hasElasticDefend(agentPolicy), [agentPolicy]);
const isManagedPolicy = agentPolicy.is_managed === true;
const isManagedorAgentlessPolicy = isManagedPolicy || agentPolicy?.supports_agentless === true;
const isManagedOrAgentlessPolicy = isManagedPolicy || agentPolicy?.supports_agentless === true;
const userHasAccessToAllPolicySpaces = useMemo(
() => ('space_ids' in agentPolicy ? !agentPolicy.space_ids?.includes(UNKNOWN_SPACE) : true),
@ -439,7 +439,7 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent<Props> =
>
<EuiSpacer size="l" />
<EuiCheckboxGroup
disabled={disabled || isManagedorAgentlessPolicy}
disabled={disabled || isManagedOrAgentlessPolicy}
options={[
{
id: `${dataTypes.Logs}_${monitoringCheckboxIdSuffix}`,
@ -575,7 +575,7 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent<Props> =
>
<EuiFieldNumber
fullWidth
disabled={disabled || isManagedorAgentlessPolicy}
disabled={disabled || isManagedOrAgentlessPolicy}
value={agentPolicy.inactivity_timeout || ''}
min={0}
onChange={(e) => {
@ -616,7 +616,7 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent<Props> =
isInvalid={Boolean(touchedFields.fleet_server_host_id && validation.fleet_server_host_id)}
>
<EuiSuperSelect
disabled={disabled || isManagedorAgentlessPolicy}
disabled={disabled || isManagedOrAgentlessPolicy}
valueOfSelected={agentPolicy.fleet_server_host_id || DEFAULT_SELECT_VALUE}
fullWidth
isLoading={isLoadingFleetServerHostsOption}
@ -698,7 +698,7 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent<Props> =
isDisabled={disabled}
>
<EuiSuperSelect
disabled={disabled || isManagedorAgentlessPolicy}
disabled={disabled || isManagedOrAgentlessPolicy}
valueOfSelected={agentPolicy.monitoring_output_id || DEFAULT_SELECT_VALUE}
fullWidth
isLoading={isLoadingOptions}
@ -737,10 +737,10 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent<Props> =
: null
}
isInvalid={Boolean(touchedFields.download_source_id && validation.download_source_id)}
isDisabled={disabled}
isDisabled={disabled || isManagedOrAgentlessPolicy}
>
<EuiSuperSelect
disabled={disabled || agentPolicy?.supports_agentless === true}
disabled={disabled || isManagedOrAgentlessPolicy}
valueOfSelected={agentPolicy.download_source_id || DEFAULT_SELECT_VALUE}
fullWidth
isLoading={isLoadingDownloadSources}
@ -771,9 +771,9 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent<Props> =
/>
}
>
<EuiFormRow fullWidth isDisabled={disabled}>
<EuiFormRow fullWidth isDisabled={disabled || isManagedOrAgentlessPolicy}>
<EuiRadioGroup
disabled={disabled || agentPolicy?.supports_agentless === true}
disabled={disabled || isManagedOrAgentlessPolicy}
options={[
{
id: 'hostname',
@ -864,11 +864,11 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent<Props> =
: null
}
isInvalid={Boolean(touchedFields.unenroll_timeout && validation.unenroll_timeout)}
isDisabled={disabled}
isDisabled={disabled || isManagedOrAgentlessPolicy}
>
<EuiFieldNumber
fullWidth
disabled={disabled || isManagedorAgentlessPolicy}
disabled={disabled || isManagedOrAgentlessPolicy}
value={agentPolicy.unenroll_timeout || ''}
min={0}
onChange={(e) => {

View file

@ -189,7 +189,9 @@ export const AgentPolicyForm: React.FunctionComponent<Props> = ({
<EuiSpacer size="m" />
<ConfiguredSettings
configuredSettings={AGENT_POLICY_ADVANCED_SETTINGS}
disabled={isDisabled || !!agentPolicy?.supports_agentless}
disabled={
isDisabled || !!agentPolicy?.supports_agentless || !!agentPolicy?.is_managed
}
/>
</>
<EuiSpacer size="xl" />