Google क्लाउड - P12 से कुंजी आईडी कैसे निर्धारित करें?

Aug 18 2020

से https://console.cloud.google.com/iam-admin/serviceaccounts?project=[id], सही अनुमतियों वाला उपयोगकर्ता सेवा खाता कुंजी का प्रावधान कर सकता है। आजकल, वे इसे JSON फॉर्मेट में आपको सौंप देते हैं, लेकिन वे आपको P12 प्राप्त करने का विकल्प देते थे (जिनमें से JSON सिर्फ P12 बेस64 है, मेटाडेटा के साथ)। मुझे बनाए रखने के लिए एक पुरानी परियोजना विरासत में मिली है, और मेरे पास प्रमाणित करने के लिए एक P12 है।

हालाँकि, दिए गए सेवा खाते के लिए कई कुंजी आईडी सूचीबद्ध हैं। मैं उन सभी को घुमाना चाहता हूं और एक नए प्रावधान वाली कुंजी को छोड़कर सब कुछ हटा देना चाहता हूं। मैं एक नया निर्माण नहीं कर सकता, क्योंकि अधिकतम पहले ही पहुंच चुका है (10)। लेकिन मैं यादृच्छिक रूप से हटा नहीं सकता, क्योंकि एप्लिकेशन को अभी भी बिना लाइसेंस के चलाने की आवश्यकता है। केवल एक की जरूरत है, और रूले की कमी है, मुझे पता है कि मेरे पास कुंजी निर्धारित करने का एक तरीका नहीं है।

मैं प्रमाणित करने में सक्षम हूं:

[~/scratch]$ gcloud auth activate-service-account [email protected] --key-file=x.p12 --prompt-for-password
Password:
WARNING: .p12 service account keys are not recomended unless it is necessary for backwards compatability. Please switch to a newer .json service account key for this account.
Activated service account credentials for: [[email protected]]

और फिर कमांड चलाएं। लेकिन मुझे कोई रास्ता नहीं मिल रहा है, या तो Gcloud, या प्रवंचना के माध्यम से, मुझे Google को प्राप्त करने के लिए जो मुझे कुंजी है। मैंने gcloud कमांड का एक गुच्छा आज़माया है। क्या जीसीपी लॉगिंग, सीधे एपीआई कॉल, अनिर्दिष्ट कमांड, या कुछ स्पष्ट है जो मैंने याद किया है?

जवाब

Lacek Aug 18 2020 at 18:54

कुंजी आईडी साथ प्रमाणपत्र का SHA1 फिंगरप्रिंट है। आप निम्नलिखित कमांड के साथ pkcs12 फ़ाइल से SHA1 फिंगरप्रिंट निकाल सकते हैं:

openssl pkcs12 -in /your/pkcs12/file.p12 -nodes | openssl x509 -noout -fingerprint