Как закрыть сайт HTTP auth но оставить доступ Yandex.Api
а) вынести функционал яндекс.карт на поддомен maps.my-site.com
б) открыть http-auth для my-site.com/maps

в) авторизовывать через вбивание логин-пароля в веб форму
Посмотрите с каким юзер агентом приходит API и в nginx сделайте конструкцию вида 
if {$http_user_agent !~ APIчтототам} { 
конструкция описывающая вашу авторизацию;
}