docs: public Policy replaceTopicPolicy(String topicId) throws Exception {
      // [START pubsub_set_topic_policy]
      try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
        String topicName = ProjectTopicName.format(projectId, topicId);
        Policy policy = topicAdminClient.getIamPolicy(topicName);
        // add role -> members binding
        Binding binding =
            Binding.newBuilder()
                .setRole(Role.viewer().toString())
                .addMembers(Identity.allAuthenticatedUsers().toString())
                .build();
        // create updated policy
        Policy updatedPolicy = Policy.newBuilder(policy).addBindings(binding).build();
        updatedPolicy = topicAdminClient.setIamPolicy(topicName, updatedPolicy);
        return updatedPolicy;
      }
      // [END pubsub_set_topic_policy]
    }