This is a quite common requirement. Let's say you have a bunch of posts (under post I mean any post, page, media attachment or any custom post type) and you need to make sure that only one post is allowed to be managed (edited, deleted, updated) by any specific user. There are two possible ways listed below.
Option 1. Use capabilities.
If you go to the Capabilities tab and in the search start typing _edit__, you'll notice capabilities like
The others capabilities typically mean that whoever has them, is allowed to manage posts created by others. WordPress core has the concept of "Post Author" and this is how it determines if a user is allowed or not to manage a post. So in your case, you just have to make sure that your desired user does not have
publish_others_posts capabilities assigned. Then simply make your user has only one post assigned as the author.
Note! The capabilities may vary from post type to post type because when the post type is registered, the different set of capabilities can be mapped. For more information, check get_post_type_capabilities() function.
As an alternative to this approach, you can apply the WordPress "author" role capabilities policy.
Option 2. User Posts & Terms service.
This method requires the Plus Package add-on, however, it does not require any knowledge of capabilities or changing posts author.
Go to the Posts & Terms tab and define the default access settings to the entire post type (e.g. Posts, Pages) by selecting EDIT, DELETE, PUBLISH options. Then simply drill down to find your desired post and override the access by unselecting mentioned options.