This is a natural canine behaviour. Being possessive about a toy or food, by growling threateningly or snapping at anyone who approaches to take it away, is a dog's way of saying " it's mine and you can't have it", but this behaviour is inappropriate in a human environment.
If you teach your dog that relinquishing items, such as toys or food, earns him a reward - perhaps a treat, higher value toy or lavish praise and attention - he'll learn that possessiveness is unrewarding and giving things to you, or allowing you to take them from him, is much more pleasant.
Rather than risk a confrotation, don't take toys from your dog - wait until he leaves them, then remove them if necessary.