When you say resource, do you mean food, toys, etc., or just food? You need to establish boundaries and the best way to start is to being teaching a "drop it" and a "leave it" command. The "drop it" command can be taught by presenting treats to your dog when he has something that you want him to drop. He sees the treat, wants that instead, drops the toy, you tell him "drop it" and give him the treat. Eventually he will associate the command with the action and you should be able to give the command first. The problem most have (and mine does it too) is that they will drop it, but as soon as you reach for it, he goes for it again. Mine does this as well - unless I tell him to leave it -- another essential command your dog needs to know, for more than just this kind of thing. If you drop something on the floor that he shouldn't eat (and we all know a corgi will vacuum something up off the floor before you even realize you dropped it), the leave it command comes in handy.
For food aggression, hopefully your pup is still young as this will be much easier if he/she is. You should associate your presence around his food with good things. Try hand feeding him his kibble. Try offering him a (small) treat and petting him in the middle of his meal. Work up to at least being able to pet him while he is eating. Before each meal, make him sit and wait a few seconds before you release him to eat. I do this with Dax and I tell him to wait and he just stares intently at me, just begging to hear "okay" so that he can eat. :) Be careful with resource guarding, if it's bad enough, your dog may bite. Try sitting next to him while he eats and tossing (again, small) treats into his bowl every now and then. He will see your presence = treats, and treats = good, therefore, your presence = good.
When you feel comfortable that your dog is getting the idea that you will not steal his food (because that's what this is really all about, right? It's his food and he doesn't want you taking it from him), try using the leave it command with his food. You should be able to pick up his bowl, and he should sit and wait until you put it back down. Food and toys are a dog's most valuable resources, though they can be protective of people as well. When it comes to any kind of aggression around certain things, you can pretty much use the same method for them all -- associate whatever it is you're trying to do with good things like treats, play, etc., just don't get ahead of yourself. The key is consistency and will power - do not give up. Do NOT walk away when your dog growls at you. If you do, then to him, it just worked, and he will continue doing it as long as you continue to reinforce it. A lot of it is also in your demeanor -- you MUST be strong and emit that leader vibe. Remember that a dog can tell if you're nervous, and will take advantage of that.
I checked your profile and noticed that you have multiple dogs. If that's the case, what's the feeding arrangement like? Since adding Freya to the clan, we've had to feed both dogs separately (Freya in the crate) and Cloud in the hallway otherwise one of them will start growling and barking. She's trying to protect her food and I get that, but her crate is closed and latched so that nothing can come in there. So we feed them separately and sometimes I have to cover her crate with a blanket just so she'll calm down.
When it comes to treat, I try to be fair to all dogs. Our Weim is full grown and treats is one of the few items that we'd call "high value" and he will fight for it. At first, when Freya was a baby he'd let her have it, but as she's grown she wants all the things and he's been putting her in her place. I stand by to make sure nothing bad happens. So now, at treat time, I'll take her to the bathroom with me and let her have it then and Cloud will get one in the living room. They are separated the entire time they have their treats and neither can squabble over it.
So far the only neutral place is the kitchen (I really enjoy cooking and both have learned fun things drop from where I work.) I've also been known to give them little bits of what I'm working with--like carrots and last night they both got some spinach. Freya got the accidental bit of carrot and immediately started to guard it, I told her to shut up and gave one to Cloud and they were both eating. Eventually was able to lay beside her while she was eating and she fine.
I've also been maintaining the "pack" order and reaffirming my status. I have to take them on walks and keep them by my side and I feed Cloud first because he was the first dog in the house and then Freya. Since doing that, Cloud hasn't been giving us much issue and that made Freya tone down some too.
I hope I helped some. I've heard that corgis can quickly become protective of their food items (they love to eat!)