There should be no immigration issues as I'll have a valid Schengen visa and the whole 2 day excursion will be within Italy.
Having the ship not being able to dock in Civitavecchia would be a black swan event, and I haven't made a firm plan B as we don't know where they might dock next; should they have to skip Rome.
In terms of getting permission and consent from the ship, should I contact the cruise line head office before my trip, or wait until aI embark and then discuss it with Guest services?