> It can't be just a number on a computer in a bank, right?
It really is, but to answer your second question, it's important to consider *which* bank. There's reserves (i.e. balances of banks at the Federal Reserve) and bank deposits (which really are just numbers in banks' databases).
Having an account at the former is effectively what makes numbers in the database of the latter "real USD".
> Otherwise some Russian bank could just increase that number to whatever they like. And say "Look, we own 100 Trillion USD. Now let's go shopping.".
They could, but these assets/liabilities would not be backed by any reserves linked to the USD payment rails.
Reserves are theoretically irrelevant (though practically regulated) as far as transfers between accounts of a single bank are concerned. But as soon as a second bank comes into the picture, i.e. for inter-bank transfers communicated via SWIFT or otherwise, all transfers will ultimately be backed by Fed account to Fed account transfers in the background.
> So I guess USD needs to be recognized by the US somehow?
Indirectly so, yes: What makes USD "real" is the ability to transact with the larger ecosystem of US and offshore banks that have a shared agreement on what "real" USD are.
Practically, this means being connected either directly (via a Fed account) or indirectly (via a bank that itself does have a Fed account) to that system.
> Could the US simply "void" all USD that are owned by Russia?
Indirectly, yes: They can force every bank holding USD balances for embargoed beneficiaries to freeze these assets. Failing to comply could, in the absolute worst case, lead to that bank's Fed accounts being frozen as well (which would take away its ability to settle in USD with other banks).