Нет никакого способа сделать это, кроме как просто следовать своему собственному соглашению и делать это. Если вам действительно нужно пройти через ваше публичное свойство.
Я не понимаю, почему вам нужно будет / хотеть сделать это, поскольку, поскольку это ваш внутренний класс, вы контролируете код, и вы можете определить, что / как он используется, поэтому не должно быть проблем.
Создание предварительно подписанного URL-адреса является чисто клиентской операцией. Это не связано с затратами AWS и сетевой активностью. Используемый вами SDK берет ваши текущие учетные данные, корзину и ключ для вашего объекта, ваш выбранный метод (например, GET), время истечения, а также рассчитывает и подписывает URL-адрес, все это делается локально.