Для определения прав доступа к просмотру записи (/api/posts/1) используйте так же checkAccess.
Для выборки записей доступных пользователей(/api/posts) переопределите в контроллере свойство
prepareDataProvider у actionIndex например так:
public function actions()
{
$actions = parent::actions();
$actions['index'] = [
'class' => 'yii\rest\IndexAction',
'modelClass' => $this->modelClass,
'checkAccess' => [$this, 'checkAccess'],
'prepareDataProvider' => function ($action) {
return new ActiveDataProvider([
'query' => MyModel::findByAuthor(Yii::$app->user->id);
]);
}
]
return $actions;
}