Secret sharing algorithms have been used for intrusion tolerance, which ensure the confidentiality, integrity and availability of critical information. However, dynamically changing the number of shares in secret sharing schemes can be costly. To achieve performance goals in data accesses, secret sharing can be combined with dynamic replication in a distributed system with varying client access patterns. In this paper, we investigate the problem of optimal allocation of secure data objects that are secret shared and possibly replicated. The system topology we consider consists of two layers. In the upper layer, multiple clusters form a network topology that can be represented by a general graph. The nodes within each cluster also have a topology represented by a general graph. We decompose the share replica allocation problem into two sub-problems, the resident set problem which allocates a subset of shares to clusters, and the -intra-cluster allocation problem which determines the nu...