A software engineer is tasked with enabling an application, hosted on a virtual server, to interact with a cloud object storage service for uploading and downloading data. The engineer needs to implement a secure method of authentication that obviates the need to hardcode or manually input long-term credentials. What is the most appropriate strategy to achieve this while adhering to security best practices?
Save the service user's access credentials in a text file on the root directory of the virtual server for the application to use.
Assign a role to the virtual server that grants appropriate permissions to interact with the object storage service.
Manually enter the user credentials for the service at the start of each application session on the virtual server.
Hardcode the service user's access credentials in the source code of the application on the virtual server.