There are only two solutions to your question :
- Use an enterprise password product (costly)
- Use multiple separate password databases (rigorous requirements).
For the first solution, there exist multiple products, some of which are:
There are no miracle solutions. If an enterprise password product is too
costly to go this way, you have to go in the direction of do-it-yourself.
Below is one
description
of such a solution:
Our strategy at the agency I worked for was one file for each team, and one file for each user:
Each team has a DB file on a network location, secured through network
permissions for that team's AD group, and only the team members know
the passphrase of the DB. This provides two levels of security. Any
passwords needed by the entire team go here. For us this was
test/verification service accounts. (If at all possible we would avoid
having these types of shared credentials, and issue credentials to
each team member, but some things that were typically backend services
didn't lend themselves to per use authentication, and we needed
credentials for troubleshooting/testing shared by the team.)
Each individual has their own DB file in their personal network share
accessible only by them. Again the network share permissions. Of
course the put credentials here for any accounts issued by them that
don't need to be shared.
Keypass makes this easy since you can have both your own and the team
DB file open in two tabs. You can also put the team passphrase in your
personal DB so that you only really need to memorize your personal DB
passphrase.
It's important that team members are stressed the importance of a
strong passphrase, and never copy the DB locally. I might even
consider requiring higher iterations per org policy.
You can always create a DB on the fly for a one off password share. If
you have OneDrive then it's easy for someone to create a DB, share it
to a specific user in the enterprise, call them and give them the
passphrase for the DB over the phone. Then once they confirm they've
copied the entry into their personal DB then you delete the shared DB.
Might seem nonsensical to tell them a DB passphrase when you could
just give them the password you're trying to share, but often times
with something like a system/service password it's very long and there
will be a delay before the recipient can get it into their system in a
way they can verifiy the credential which might result in followup
calls/double checking. So it's alot easier to give them a relatively
simpler but still strong passphrase for the DB over the phone, let
them open the DB file while on the phone to verify they are able to
get it, then they can copy the service/credential password without
worrying about making an error.