There are probably three tiers to this:
1) Tier One: Anyone can ask questions. In this scenario, anyone can join a community and ask a question. The upside is this is good for engagement. The downside is you might get a lot of spam and poor-quality questions. It requires extra work to filter the good from the bad.
2) Tier Two: Only Customers/Registered Members Can Ask Questions. In this scenario, only those using an email domain that is recognised as a customer can ask questions. The upside is this prevents most spam and improves the quality of questions. The downside is it might lead to a lot of poor quality questions and the person asking the question might not have knowledge or permission to fix the issue they’re addressing (this is especially common in B2B SaaS communities where the software users, admins, and buyers are different people).
3) Tier Three: Only Key Contacts Can Ask Questions. In this scenario, only the key contact (typically the technical contact) can ask questions in the community. This drastically improves the question quality and community satisfaction (the poster can utilise the answers themselves). Superusers also tend to like higher-quality questions. But it comes at a heavy cost to engagement, it’s; harder to reach a critical mass of activity, and often requires time to validate each person who joins the community to ensure they’re assigned the right permissions.
In most cases, tier two is the best answer with a private group for key contacts to get unique support from top members.