On the Camera2D, set rotating to true. Then attach a script to the camera that just locks it to the player position and rotation.
extends Camera2D
onready var player = get_parent().get_node("Player")
func _physics_process(delta):
position = player.position
rotation = player.rotation
You can optionally enable smoothing on the camera or set an offset so that the player screen position is exactly what you need. For UI elements, they need to be on a CanvasLayer.