hampton123 Thanks for posting your question in Microsoft Q&A. I assume you have followed doc: Authenticate with Azure AD B2C for users to sign up/sign in via B2C and then access APIs. You are looking to secure the way to obtain subscription keys. Correct?
You can configure Products in APIM to require approval and users would need to submit a subscription request in the developer portal. Only after the approval of subscription request by admin, users can get subscription keys and access APIs in the product.
With the above approach, still any B2C users can sign up in the developer portal but don't have access to Product's APIs. If you are in need to restrict such sign up, consider implementing delegation endpoint as described in doc: Delegating developer sign-in and sign-up. This provides more flexibility in adding your custom logic in that endpoint and applies for product subscription as well.
I hope this helps and let me know if any questions.
If you found the answer to your question helpful, please take a moment to mark it as Yes for others to benefit from your experience. Or simply add a comment tagging me and would be happy to answer your questions.