Straight from the DMG Errata:
Attunement (p. 136)
The first paragraph ends with a new sentence:
“If the prerequisite is to be a spellcaster, a creature qualifies
if it can cast at least one spell using its traits or features, not
using a magic item or the like.”
emphasis added
Therefore, for the purpose of attunement:
If a creature is able to cast a spell by virtue of their own ability (not from an item), whether that be race, class, or feature, you are a spellcaster.
The DM controls treasure…
The Dungeon Master's Guide (1979) on Placement of Monetary Treasure says
All monsters would not and should not possess treasure! The treasure types given in the Monster Manual are the optimums and ore meant to consider the maximum number of creatures guarding them. Many of the monsters shown as possessing some form of wealth are quite unlikely to have any at all. This is not a contradiction in the rules, but an admonition to the DM not to give away too much! Any treasure possessed by weak, low-level monsters will be trifling compared to what numbers of stronger monsters might guard. So in distributing wealth amongst the creatures which inhabit the upper levels of dungeons/dungeon-like areas, as well as for petty monsters dwelling in small numbers in the wilderness, assign it accordingly. The bulk of such treasure will be copper pieces and silver. Perhaps there will be a bit of ivory or a cunningly-crafted item worth a few gold pieces. (91-2)
The section then details how the DM places monetary treasure. This is followed by a section describing the placement of magic items (92-3). Neither section encourages slavish adherence to random treasure table rolls and, on the contrary, recommends the DM place (not roll) monetary and magical treasure based on the creatures encountered and the player characters themselves.
So the DM decides what treasure exists not the dice, and if the DM doesn't like a rolled result, the DM rejects that result and either rolls again or just picks something. Even in AD&D, a DM shouldn't feel as though he's, like, cheating by rerolling or even picking what's best for that campaign instead of inserting something the DM knows is bad for campaign.
Thus, while the dice might've dictated that a ring of three wishes is somewhere in the dungeon, that doesn't mean the DM then must put it there or else the DM's doing it wrong. In fact, I suspect that Gygax would likely put forth that DM is doing his players a favor by excluding from the 2nd-level dungeon a ring of three wishes: a treasure like that at low levels skews players' expectations, giving them less to look forward to at higher levels when such treasures can be rightfully earned instead of accidentally rolled.
The Monster Manual (1978) in its description of treasure type further explains that the monster's treasure type entry means that such
treasures are only found in the lairs of monsters[, and] it must be stated that treasure types are based upon the occurrence of a mean number of monsters as indicated by the number appearing and adjustments detailed in the explanatory material particular to the monster in question. Adjustment downwards should always be made for instances where a few monsters are encountered. Similarly, a minor adjustment upwards might be called for if the actual number of monsters encountered is greatly in excess of the mean. The use of treasure type to determine the treasure guarded by a creature in a dungeon is not generally recommended. (5)
So this means the level 1 PCs upon defeating the 1–4 giant ants (see the DMG's Dungeon Random Monster Tables for Monster Level 1 on 175) should not get all or even the bulk of the giant ants' Q×3 and S treasure types but, instead, only a tiny portion—if any!—of that treasure, the Number Appearing entry of giant ants being 1–100, and even that tiny portion of giant anty treasure assuming the PCs defeat the giant ants in their (probably less than expansive) lair.
(If the DM doesn't mind mixing his dnd-bx material with his AD&D material, this DM recommends the Monster & Treasure Assortment: Sets One–Three: Levels One–Nine (1980) for a multitude of examples of reasonable lower-level treasures suitable for a party that's defeated, for example, some not-in-their-lair, less-than-the-listed-mean wandering monsters. The tables, if so desired, can also be used pretty much as-is, needing hardly any conversion.)
…But I understand wanting to roll dice and stick with the results
So you rolled a ring of three wishes and feel like, because it was rolled, it should be in the dungeon, darn it! That's cool. Make the ring almost inaccessible, nearly impossible to find except through great ingenuity, skill, or luck (maybe the ring's surrounded by puzzles and traps as the dungeon's centerpiece or made of glass and at the bottom of an underground lake). Or, perhaps even better, somewhere in the dungeon there's a clue that leads to another dungeon where the ring can be found. Or you can just give the PCs such a ring and see what happens; remember, these are AD&D wishes, after all.
Best Answer
Your Rogue Has a Case of My Guy Syndrome
Assuming the standard party of good-aligned murderhobos, that is. If you have a bunch of evil backstabbers, everyone should pretty much be expecting this behavior from everyone else. But if the party is more or less good-aligned or lawful-aligned, then rogues steal FOR the party, not FROM the party. Even a neutral or neutral-evil character should know who his allies are and be able to conclude that a party of accomplices is quite a bit better for him than a party of executioners.
But what often happens - and it's almost always rogues - is that they see it as their purpose in life to screw over the rest of the party. Because hey, rogue, right? Players of chaotic neutral characters also often like to behave this way. But they're really counting on the out of game social contract - the other players probably don't want to kill them - to protect their in game behavior. This is really griefing behavior although in D&D it is known as my guy syndrome. Being a goblin certainly isn't a pass on that. (Also, IMO, monster races for PCs are usually trouble).
Take the Mafia, the closest real-life example to the typical thieves' guild found in a typical D&D campaign. They are strict about treating each other with the proper honor and respect, especially when working together. Rival factions might fight each other, but conflict within a group is always handled by civilized, if not necessarily non-violent, rules. In alignment terms, they might be evil, but it's very much lawful evil. So a typical rogue should be expected to understand and be familiar with concepts of trust and loyalty and know when to apply those concepts. In fact these concepts are more important because there is no legal system to fall back on. A rogue who betrays indiscriminately is soon to be a dead rogue.
So what can you do about it? As the DM, it's not your job to force the issue. You shouldn't be an accomplice to the rogue, but neither should you be the dictator of behavior standards. But you can arrange for the players to know what is going on, so they can correct - or accept - the misbehaving player in their own way. This might range anywhere from an embarrassed rogue handing over the item and promising to mend his ways, to a heated but (hopefully) temporary out of character exchange, to a violent in-character conflict resulting in a character death but which the players find quite entertaining. The players should decide which of these options they pursue. Not all outcomes here are good, of course. You could be facing a player exile or even game breakup, but again that would be the choice of the players (the rogue player's choice, if he won't play nice; the group will almost certainly forgive a repentant player here).
If the players already know
If the other players do know about the situation but just haven't acted on it, then you should consider whether you need to do anything at all. Is the warlock player actually unhappy?
If your warlock player is unhappy but just not standing up for himself, you could probably have an out of character chat about the situation at the start of your next session. Mention that you created a specific magic item intended for a particular character, and that the party has decided not to give it to that character, and that it's up to them but you aren't going to tiptoe around the players' poor allocation of resources, and that the hitpoint situation carries an increased risk of death for the warlock. The players will either decide to give the amulet to the warlock, or the warlock player will tell you that he's actually ready to die and create a new character anyway, or they'll spend the whole session bickering, but one way or another it'll get solved. There aren't really any other options.
If the players don't know
One option you have is to give the players ways to expose the treachery. Not simply telling everyone, but arranging that the players find out. For instance, you could give the players a situation in which detect magic is useful (perhaps they must identify which item in a cluttered room is enchanted); the spell then "coincidentally" reveals the amulet secretly being carried by the rogue. A clumsy rogue player will just get caught - a more skillful one will try to prevent the spell from being cast, be out of the area when it happens, or otherwise do something that should indirectly clue in the other players if they are paying attention. Hopefully someone other than the rogue is the one who casts the spell. If the rogue is a real dummkopf, he'll completely forget that detect magic will expose him, and now the spellcasting player knows a secret!
You could also present an NPC who will make a trade of value to the rogue, but requires a suitable magic item in exchange. Make sure the NPC is only available one time, when the rest of the party is also present. The rogue then must choose whether to expose his own treachery or pass up the reward. It doesn't have to be (in fact probably should not be) cursed, the thing the rogue trades for can be totally above-board because the real penalty will be the party not trusting him any more. Especially when playing as a paladin or cleric, I have found more than one opportunity and excuse to search the belongings of a party member, usually a rogue, that I had come to distrust, which has occasionally been productive (and sometimes I have been surprised to find nothing more than a couple of dozen extra gold pieces!) Or the players may all have an out-of-character conversation right then. Either way, they'll sort it out.
One particularly deft DM I once played with provided the thieving rogue with an "opportunity" in which he was caught by NPCs, and the party was forced to decide whether to rescue him even knowing what he had done. (The deftness was in giving him more than one chance to back out, so he was never railroaded - he chose to get caught!)
I don't really like creating a second, similar item for the player who was intended to receive it. This is too heavy-handed for my taste. Suspension of disbelief can absorb one magic item which is coincidentally perfectly suited to a particular character who needs it - two is just not believable unless you are trading with a band of gnomes that makes this particular item or something. It also doesn't resolve the essential problem, which is the behavior of the rogue player, not the warlock's constitution. You will just run into a similar situation again down the road.
The Alternative Approach
You can also just tell the rogue player that his playstyle is wrong (or at least, wrong for this game) and he needs to do things differently. Sometimes the direct approach is better with new players, especially ones that may not have thought through the implications of their (mis)behavior. "Jerk that griefs the other players" is not a viable character concept, so it's a case of better late than never on telling him that.
If four players are playing by one set of rules and the fifth one is playing by different rules, you really just need to stop and agree on the rules, never mind high-minded concepts of impartiality and agency. It can, at times, be worth saying "I normally wouldn't break character like this, but everyone should know what Player X has done, and I don't think it's OK" - saving you the complexity and time of revealing things through in-game means, especially if you aren't able to come up with a scenario that is going to get the job done. Sometimes the DM has to strike a fine balance between being out of the way as the game's laws of physics, and preserving the out-of-game social situation. Whatever you do, don't let it fester.
One Final Tip
If you roll for stats, let the players assign their die roll results to the stats they want. Nobody is going to take a 6 constitution score voluntarily - if they do it's their own fault!
Stuff Based On Comments, Etc
I think you've just got That Guy in your game.
Sometimes a player has made a character in good faith but that character just doesn't fit with the rest of the party / story. This is not a case of anyone intentionally ruining the game, it's just an unfortunate emergent property of certain character combinations. A good player will adjust the character to fit the game, or retire the character and make a new one. Maybe the impulsive barbarian is tired of being held back by the cautious cleric and thoughtful wizard and goes off on his own, then the player creates a disciplined former soldier fighter who fills the same role in combat but has a more compatible personality. Or they could just adjust the character's personality a bit. Actual character development! In a D&D game!
But often, a player hides behind the rules or character sheet so he can mess with the other players or GM. And I think this is what you have. There are lots of variations on this guy but basically they're all power trippers. You've got rules lawyers, munchkins, spotlight hogs, and toxic My Guys; a bunch of different ways to make themselves the most important player in the game at the expense of everyone else. This player is elevating himself over the other players and he's trying to push you around too (demanding extra XP for himself).
Warning signs for this include CN alignment, monster race, and any kind of character trait that says "can't help but do X" when X is some obnoxious thing. "Can't help but donate gold to the temple of my god whenever I visit" isn't a problem, "can't help but rob the other players" is. You would be amazed how much they can actually help it when doing so would get them killed. You never see these players try to steal the king's crown as his heavily armed procession marches past. You should feel free to ban or heavily restrict all of these things in your game, it won't fix the player but it will put them on notice and give you some warning. They usually play rogues too, but rogues are an archetype class and you can't just not have rogues.
One problem is that TSR/WotC has always basically given these players permission via the CN alignment. I wish they would write a better definition for it, because as written CN is basically indistinguishable from CE. Suppose you were back in the real world and someone stole their friend's lifesaving medicine to resell it on the black market. Suppose it's an experimental treatment that can't even easily be replaced. This person is obviously a sociopath or under some severe compulsion (addiction, maybe, or a severe threat was made against them). If not compelled, though, we would put them in jail; they are evil. And this is exactly what this character has done. But problem players will just say "I was following my whims, just like it says in the book!" But fixing alignment is out of scope here.
Anyway, if the player is new, he might just not understand how the game is supposed to work. It could be a teachable moment. But if he's played a few times, he knows what he's doing, and you just have to deal with him in the best way that your social environment permits.
If your player is repentant, you could even give him the compulsion excuse as a way out. "I didn't want to steal this amulet, there was a geas/dominate person/whatever" and tracking down the cause of the compulsion could be a good quest hook.