1. A system for distributing secrets comprising: at least one processor; and at least one memory coupled to the at least one processor, the at least one memory having stored therein instructions which when executed by any set of the one or more processors, perform a process for distributing secrets, the process for distributing secrets including: providing secrets data representing one or more secrets required to access associated resources; providing secrets distribution policy data representing one or more secrets distribution factors used to control the distribution of the one or more secrets; receiving secrets request data from a requesting virtual asset for secrets data necessary to access one or more associated resources; obtaining requesting virtual asset profile data associated with the requesting virtual asset; authenticating the requesting virtual asset; analyzing the requesting virtual asset profile data using one or more of the one or more secrets distribution factors to generate authorized secrets data for the requesting virtual asset; and providing the requesting virtual asset access to the authorized secrets data for the requesting virtual asset.