Yes, it is necessary to ask for permission when accessing native tools such as contacts, camera, etc. It has been designed in this way to protect the user of an application that requests or obtains access without their express consent.
Imagine if an application labeled that action with something that had nothing to do with accessing the contacts and the user clicked on it. Without the device opening a dialog box to ask for permission, the user would not realize that the application now has access to their contacts.
In your particular example, the user's action would be a demonstrated intention. This means that the developer could use an Android attempt instead of asking for permission. Which means that your application will ask the contact application to perform the search and ask for permission instead of having your application get direct access to its contact API. Either way, a dialogue box requesting permission will be displayed for the security reasons mentioned above. Here is a link with more information about intentions.