acl
Директива `acl` задаёт списки управления доступом для генерации защищённых токенов в NGINX.
Описание
Директива acl в модуле Secure Token для NGINX используется для определения правил управления доступом, которые встраиваются в генерируемые для доступа к ресурсам защищённые токены. Эта директива принимает один аргумент — сложное значение, задающее правила списка управления доступом (ACL). Цель ACL — ограничить доступ к определённым ресурсам на основе указанных критериев, таких как IP-адреса пользователей, URI или другие параметры. Директива гарантирует, что только запросы, соответствующие определённым правилам ACL, смогут успешно получить защищённый токен и впоследствии получить доступ к защищённым ресурсам. Когда сервер обрабатывает запрос, он проверяет определённый acl по входным параметрам запроса. Если запрос соответствует условиям ACL, генерируется защищённый токен, который включает эти условия. Защищённый токен содержит такие компоненты, как время истечения срока действия, параметры ACL и подпись HMAC для проверки. Если запрос не удовлетворяет условиям ACL, проверка защищённого токена не пройдёт, и доступ к запрошенному ресурсу будет отказан. Этот механизм помогает реализовать тонконастраиваемый контроль доступа к контенту, распространяемому через CDNs, повышая безопасность видеопотоков и других конфиденциальных ресурсов. Директива acl обычно используется в контексте блоков secure token — конкретно secure_token_akamai и secure_token_cloudfront — которые обрабатывают генерацию токенов для соответствующих CDNs. Правильная настройка ACL может существенно повлиять как на безопасность доступа, так и на производительность, поскольку она задаёт ключевые правила, определяющие, кто может получать токены и получать доступ к контенту.
Пример конфига
secure_token_akamai {
key 1234567890abcdef;
acl "ip=192.168.1.0/24";
param_name "st";
start 5m;
end 1h;
}Убедитесь, что формат ACL корректен; некорректно сформированные входные данные могут привести к отказу в доступе.
Комбинирование нескольких сложных значений может привести к непредвиденному поведению, если они не логически структурированы.
Не забудьте определить ACL внутри действительного secure token block; использование ACL вне этого приведёт к ошибкам конфигурации.