Here are the options as I see it, and what has worked for me personally.
1. If you want your dog to have those bones for teeth cleaning purposes, or something you think is important...feed it and leave the dog alone. Feed it in a crate or some area where the dog can be supervised, but not bothered. Ensure no strangers are around when doing this.
2. Another option is the -never give the bone option.
3. Try to train him to give it up when asked.
Do NOT start trying to teach "drop it" with a bone. A bone is often the highest value item for a dog, more than their food even. If you ever get a good drop it with a bone it will be the end result of good training not the begining. Work your way up to the high value item.
I have a ravenous, food gulping, quite food possessive dog. He still knows I am boss and will drop a bone if asked/told.
He will bring me his bone if called, he will drop it on command (okay I often have to say it twice!) Sometimes he will do all this with a very quie under his breath growl, but he will do it. Here is how i trained it.
Teach "out" drop it, whatever you want to call it. I trained it with a toy, others will have suggestions. I work on the principle of the sooner you "out" the sooner you will get it back. The reward for the out is another toss of the toy. You could also try teaching out with a toy for food. Example ball in mouth...say out...maybe help him to out first couple of tries...then treat (high value food). again and again and again. Make out a fun game, the dog expects something good for "outing". "out" does not mean fun is over and toys are going bye bye. The trainers here may have better advice on that one.
When I worked my way up to high value items I used the same principles. I have spent time holding onto my dog's bones, helping him get at the best bits. I can then turn it over so he gets another good part and the dog sees I can be helpful in bone eating.
I also have used the higher value item trade. For me it is anything ground (he likes to inhale food like ground meat). Dog really into the bone, give 'out' (show reward in begining first), dog eats mouthfull of ground while praised, dog gets bone back until he is done with it.
So now we are to a point that if I walk up to him while he is right into a bone, I usually call him to me...he creeps to me with a quiet growl sometime (I say "quiet" and he stops), I tell him to drop it...I pick it up...tell him he is good and then give it back! Now of course every once and a while I just take it if for example I think that the bone is now dangerously small or sharp.
I do not pester him with this mutiple times while he is eating a bone, or everytime he has a bone.
I do not expect him to do this with strangers and would NEVER feed my dog a bone with strangers around. Know your dog and his limitations
If you are going to play the game of trying to get food from your dog's mouth, plan ahead. What will you do if he growls, what will you do it he tries to bite you, what will you do if he bites you. If you are not prepared to follow through, I would go for option 1 or 2. There is nothing wrong with 1 &2 in my opinion, and with many dogs that are otherwise good pack members, it may be the way to go.
Although I have not read it i reccomemnd Jean Donaldson's book on resource gaurding (I have read some other of her stuff). I know many here do not like her, but I think her methods are another "tool in the toolbox"
Just what has worked for me.