По сути - правильно.
Возможности ролей можно хранить в конфиг файле - не нужно будет лезть за данными в базу.
При вывода списка новостей один раз проверяем на dell_all_news и для каждой новости делаем проверку на dell_my_news
По коду - условие можно записать в одну строку
$allow = ($account->getId() == $row['author_id'] && $account->checkRoles('dell_my_news')) || $account->checkRoles('dell_all_news');