Подутверждение allow-update определяет ограничения динамического обновления, которые основаны на отправителях запросов динамических обновлений (конкретное множество хостов, идентифицируемых по IP-адресу или обладающих TSIG-ключом), но не на содержимом зонных записей. Для указания ограничений доступа (grant или deny) к динамическим обновлениям, основанным на комбинации имен домена или поддомена и типов ресурсных записей (A, MX, NS и т.п.), BIND 9 и более поздние версии предоставляют подутверждение update-policy в утверждении zone. Эти ограничения в подутверждении update-policy основаны на TSIG-ключе. Другими словами, подутверждение update-policy указывает, каким TSIG ключам (держателям ключей) разрешено выполнять динамические обновления для каких доменов или поддоменов и типов ресурсных записей внутри данного домена или поддомена.
Общая форма update-policy утверждения следующая:
update-policy { (grant | deny) TSIGkey nametype name [type] };
где семантика каждого компонента утверждения такова:
grant / deny – разрешить / запретить динамическое обновление для комбинации, которая следует далее.
TSIGkey – имя TSIG-ключа, используемого для аутентификации запроса обновления.
nametype – может быть одним из следующих значений, с соответствующей семантикой:
name – ограничение, применяемое к имени домена, которое указано в следующем поле name.
subdomain – ограничение, применяемое к поддоменам домена, который указан в следующем поле name.
wildcard – ограничение, применяемое к множеству доменов, которые указаны с использованием wildcard синтаксиса (например, *) в следующем поле name.
self – ограничение, применяемое к домену, который является тем же самым, что и в поле TSIGkey (например, имя домена, чьи записи являются модифицируемыми, такое же, что и у ключа, используемого для аутентификации запроса динамического обновления). При таком использовании содержимое поля name становится лишним, но, тем не менее, должно использоваться в утверждении (т.е. поле name не может быть пустым).