When I create a product there are 3 checkboxes for me to choose an environment for the product. When I choose test , I can still add proxies deployed on dev. What is the meaning of choosing an environment for a product ?
Solved! Go to Solution.
@AlayVakil , Great Question,
API Proxy can be deployed in multiple environments like Dev, UAT, Prod. It will be useful for development, testing & production. Let's say while developing new feature obviously you want to deploy in dev environment rather than production environment which is stable.
When you choose environment while creating the API Product, Any Developer APP Keys which are associated with the API Product works only for the environment you selected in API Product.
For more details, refer Apigee Developer video that we have created to demonstrate implication of choosing an environment while creating a product.
Hope it helps. Keep us posted if any.
PS: At the end of the video, though environment has been updated in the API Product, keys still won't work for prod environment for few minutes due to cached API Product in Apigee Edge. Give few minutes to see changes getting updated.
@AlayVakil , Great Question,
API Proxy can be deployed in multiple environments like Dev, UAT, Prod. It will be useful for development, testing & production. Let's say while developing new feature obviously you want to deploy in dev environment rather than production environment which is stable.
When you choose environment while creating the API Product, Any Developer APP Keys which are associated with the API Product works only for the environment you selected in API Product.
For more details, refer Apigee Developer video that we have created to demonstrate implication of choosing an environment while creating a product.
Hope it helps. Keep us posted if any.
PS: At the end of the video, though environment has been updated in the API Product, keys still won't work for prod environment for few minutes due to cached API Product in Apigee Edge. Give few minutes to see changes getting updated.
@AlayVakil, If your query is resolved , Please click on Accept link below the answer so that it will be helpful for others too. It's they way of giving credit to the best answer. Keep us posted moving forward if any.
Thank you for your answer. Yeah sure linking this to the product documentation will be helpful for others.
Choosing an environment for a product will help in case of security.
Say you have enabled the product in test env. you can generate the access token using the client credentials of this product in dev env.
@AlayVakil Let's take a step back and understand why do you need an "API Product" in the first place. API product is a concept that allows you to safely expose your apis to the developers and consumers of the API by giving them an API key. If your proxy has an VerifyApiKey policy or VerifyAccessToken policy, that's where this comes in.
By restricting an api product to a given environment, you are actually restricting access to your API and controlling who can call your APIs. For example, if a developer app is using Product A, which has been configured to give access to "test" but not "prod", at runtime that developer with AppKey A, cannot make an api call to the apiproxy deployed on "prod" environment, however he can make calls to the "test" environment since there's an implicit mapping between AppKey A to "test" environment, via the Product A. I hope this is clear.