What is the difference between Service Intentions and Access Control Lists for Service to Service communication? which one is more preferred
Access Control Lists are used to control access to the Consul control plane’s APIs.
Service intentions are used by the data plane proxies in the service mesh to authorize service-to-service communication.
If you want to secure access to the Consul API, use ACLs. If you want to control access between services in the service mesh, use service intentions.