"Cancel subscription" is controlled by RBAC permissions. Users without proper roles shouldn't be able to cancel, even if they can see the option.
See: https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles
You can also use an Azure Policy or a lock:
See: https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effect-deny-action
You can create also policies that prevent users from adding new subscriptions to the tenant.
You can mark it 'Accept Answer' and 'Upvote' if this helped you
Regards,
Abiola