To grant a VM's system-assigned identity access to Key Vault secrets, you need to assign the appropriate permissions using Azure Key Vault access policies. Specifically, you should grant the identity the get and list permissions for secrets.
You can do this by running the following Azure CLI command:
az keyvault set-policy --name "<your-unique-keyvault-name>" --object-id "<systemAssignedIdentity>" --secret-permissions get list
Replace <your-unique-keyvault-name> with the name of your Key Vault and <systemAssignedIdentity> with the object ID of the system-assigned identity for your VM. This will allow the VM to retrieve secrets from the Key Vault without encountering permissions errors.