First and most important rule: “Nothing in life is free.”
Make your dog work for EVERYTHING that is valuable to him: his meals, treats, going outside, being walked, his toys. Every time he gets any of the above make him do something first – sit, down, stay, a trick etc. In the wild he would have to earn his meals and only if the alpha allows him to he eats. So, no more freebies for your dog with an attitude!
Even petting and attention should come at a price. Just because he wants to be petted doesn’t mean you just jump into action. Especially if your dog demands attention by pawing on you or pushing you with his muzzle tell him “leave it” and make him do a sit/stay or similar, then you wait, and only then you pay attention to him. Remember: he doesn’t get to order you around, he works now for his privileges.
Your dog is not allowed on any kind of furniture, especially not your own bed. What kind of leader would you be if you make him an equal by allowing him in your (the alpha’s) sleeping area. He should have his own doggie bed on the ground, not elevated.
Take a refresher obedience class. You should tell him a command once, not more. If he doesn’t want to listen be persistent but not confrontational. If you asked him for a stay and he gets up before the release, get him back into a sit or down, whatever you were doing. Again, letting him release himself just gives your dog mixed messages – what kind of leader is he, I get to do it my way anyhow.
If he is food/toy possessive remove the items that make him act aggressively. Only after following the above rules for at least 1 – 2 weeks bring some of those items back. If he has gotten the message in the meantime he will be much less likely to act dominant over you. “Leave it” and “drop it” should be followed the very first time to tell him to – again, the toys or other objects are yours, not his.