Estás haciendo dos preguntas separadas aquí.
Acceso programático. La primera pregunta es: para los servicios web que solo deben estar expuestos a otro código interno, ¿cómo deben autenticarse los clientes programáticos? Mi respuesta: recomiendo usar SSL con certificados de cliente.
Aquí es cómo hacer eso, con más detalle. El cliente debe ponerse en contacto con el servicio a través de una URL https. Cada cliente debe tener su propio certificado de cliente SSL. El servicio debe verificar que el certificado del cliente esté en una lista de clientes autorizados, o bien, verificar que el certificado del cliente esté firmado por su CA interna (su elección).
Además, para una mejor seguridad, puede considerar ejecutar esos servicios web internos en un host separado con un servidor de seguridad externo, para que nadie en la Internet externa pueda abrir una conexión a esos servicios web internos.
Acceso humano. La segunda pregunta es: para los servicios web que solo deben estar expuestos a los administradores internos del sistema, ¿cómo se debe controlar el acceso? Mi respuesta: hay varios enfoques.
La respuesta más sencilla y probablemente la más pragmática es configurar una cuenta separada para cada uno de sus administradores y usar la autenticación estándar basada en contraseña para limitar el acceso a esas cuentas. Genere una contraseña larga y segura para cada cuenta de administrador y dígale al administrador que no comparta su contraseña. Configure el servicio web para usar SSL en todo el sitio (solo se puede acceder a través de https, no a través de http), para evitar que los atacantes detecten la contraseña de un administrador si se conectan a través de una conexión Wifi abierta. En este enfoque, los servicios web todavía se ejecutan en un host conectado a Internet externo, pero nadie más que un administrador debería poder iniciar sesión en ellos.
Un enfoque más seguro es colocar esos servicios web en su red interna y no colocarlos en un host externo. Corta el firewall fuera de Internet. Si sus administradores desean iniciar sesión mientras trabajan de forma remota, pueden VPN en su red interna. Aún querrá crear una cuenta para cada administrador en el servicio web y generar contraseñas seguras y largas para los administradores.
Para instalaciones de alta seguridad, hay formas adicionales de proporcionar una seguridad aún más sólida. Es probable que esos mecanismos no sean necesarios para el servicio web interno promedio, pero si se encuentra en un área especialmente sensible a la seguridad, solo háganoslo saber y podemos proporcionarle controles adicionales.