सामग्री पर जाएँ

सेवा खाते और कुंजियाँ ​

CI और ऑटोमेशन के लिए सेवा खाते, उनकी कुंजियाँ, नीतियाँ, प्रत्यायोजन और ऑडिट।

इस समूह के ऑपरेशन, उनके एक्सेस नियम, पुनः प्रयास नियम, पैरामीटर और जवाबों के साथ। हर अनुरोध में एक कुंजी होती है: Authorization: Bearer <कुंजी> (“प्रमाणीकरण” देखें)।

ऑपरेशन ​

सेवा खाते सूचीबद्ध करें ​

GET HEAD /api/v1/service-accounts

एक्सेस: सेवा प्रशासन अनुमति service-account.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

कॉलर जो सेवा खाते देख सकता है उन्हें ID के क्रम में, प्रति पृष्ठ 50, सूचीबद्ध करता है; प्रत्येक के साथ नाम, सक्षम फ़्लैग, revision, नीति bindings और निर्माण समय है; after में next देकर आगे बढ़ें। बूटस्ट्रैप कुंजी सभी देखती है, डेलिगेट केवल वे लक्ष्य जहाँ उसके प्रत्यायोजन में service-account.read शामिल है; वह न हो तो सूची अस्वीकार किए जाने के बजाय खाली रहती है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
afterक्वेरीstring (uuid)नहीं—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 50 आइटम
items[].idstring (uuid)हाँ—
items[].namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
items[].enabledbooleanहाँ—
items[].revisionintegerहाँ1–2147483647
items[].bindingsobject का ऐरेहाँअधिकतम 64 आइटम
items[].bindings[].resourceobjectहाँ—
items[].bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
items[].createdAtstring (date-time)हाँ—
nextstring (uuid)हाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/service-accounts" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

सेवा खाता बनाएँ ​

POST /api/v1/service-accounts

एक्सेस: बूटस्ट्रैप कुंजी (इंस्टॉलेशन की पुनर्प्राप्ति कुंजी) · पुनः प्रयास: अपने-आप न दोहराएँ

CI या किसी एप्लिकेशन के लिए name (3–64 अक्षर, अंक या _.-) और उसकी नीति bindings के साथ मशीन पहचान बनाता है: प्रत्येक रिपॉज़िटरी के लिए वे सटीक क्रियाएँ जो उसकी कुंजियाँ उपयोग कर सकती हैं (जैसे upload.create या content.read)। खाते के साथ 201 लौटाता है; फिर issueServiceKey से कुंजी जारी करें। लिया जा चुका नाम 409 already_exists है।

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
bindingsobject का ऐरेहाँअधिकतम 64 आइटम
bindings[].resourceobjectहाँ—
bindings[].resource.kindstringहाँइनमें से एक: repository
bindings[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read

प्रतिक्रिया 201

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
enabledbooleanहाँ—
revisionintegerहाँ1–2147483647
bindingsobject का ऐरेहाँअधिकतम 64 आइटम
bindings[].resourceobjectहाँ—
bindings[].resource.kindstringहाँइनमें से एक: repository
bindings[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
createdAtstring (date-time)हाँ—

प्रतिक्रियाएँ: 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/service-accounts" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"<name>","bindings":[]}'

सेवा खाता प्राप्त करें ​

GET HEAD /api/v1/service-accounts/{id}

एक्सेस: सेवा प्रशासन अनुमति service-account.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

खाते का नाम, सक्षम फ़्लैग, revision, नीति बाइंडिंग और निर्माण समय लौटाता है। डेलिगेट के लिए, जो खाता उसे सौंपा नहीं गया उस पर 404 मिलता है और सौंपे गए खाते पर किसी क्रिया की कमी होने पर 403।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
enabledbooleanहाँ—
revisionintegerहाँ1–2147483647
bindingsobject का ऐरेहाँअधिकतम 64 आइटम
bindings[].resourceobjectहाँ—
bindings[].resource.kindstringहाँइनमें से एक: repository
bindings[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
createdAtstring (date-time)हाँ—

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/service-accounts/$ID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

सेवा खाता सक्षम या अक्षम करें ​

PATCH /api/v1/service-accounts/{id}

एक्सेस: सेवा प्रशासन अनुमति service-account.manage · पुनः प्रयास: केवल अपेक्षित संशोधन के साथ दोहराएँ (compare-and-swap)

enabled सेट करता है; expectedRevision वर्तमान संशोधन होना चाहिए, अन्यथा 409 revision_mismatch। यहाँ केवल यही फ़्लैग बदलता है (नाम नहीं बदला जा सकता)। अक्षम करने से खाते की हर कुंजी अगले अनुरोध से अवरुद्ध हो जाती है; सक्षम करने से वे कुंजियाँ बहाल होती हैं जो न समाप्त हुई हैं और न निरस्त। डेलिगेट यह तभी कर सकता है जब पूरी वर्तमान नीति उसकी ऊपरी सीमा के भीतर हो।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
expectedRevisionintegerहाँ1–2147483646
enabledbooleanहाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
enabledbooleanहाँ—
revisionintegerहाँ1–2147483647
bindingsobject का ऐरेहाँअधिकतम 64 आइटम
bindings[].resourceobjectहाँ—
bindings[].resource.kindstringहाँइनमें से एक: repository
bindings[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
createdAtstring (date-time)हाँ—

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X PATCH "$ARKVORY_URL/api/v1/service-accounts/$ID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":1,"enabled":false}'

सेवा खाते की नीति प्राप्त करें ​

GET HEAD /api/v1/service-accounts/{id}/policy

एक्सेस: सेवा प्रशासन अनुमति policy.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

policy.read रखने वाले कॉलर के लिए, getServiceAccount की तरह, खाते को उसकी नीति bindings और revision के साथ लौटाता है। कुंजी की प्रभावी अनुमतियाँ इस नीति और कुंजी की अपनी बाइंडिंग का प्रतिच्छेदन हैं, प्रति रिपॉज़िटरी और क्रिया।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
enabledbooleanहाँ—
revisionintegerहाँ1–2147483647
bindingsobject का ऐरेहाँअधिकतम 64 आइटम
bindings[].resourceobjectहाँ—
bindings[].resource.kindstringहाँइनमें से एक: repository
bindings[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
createdAtstring (date-time)हाँ—

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/service-accounts/$ID/policy" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

सेवा खाते की नीति प्रतिस्थापित करें ​

PUT /api/v1/service-accounts/{id}/policy

एक्सेस: सेवा प्रशासन अनुमति policy.manage · पुनः प्रयास: केवल अपेक्षित संशोधन के साथ दोहराएँ (compare-and-swap)

खाते की bindings प्रतिस्थापित करता है (अधिकतम 64, प्रत्येक एक रिपॉज़िटरी और उसकी सटीक क्रियाएँ); expectedRevision वर्तमान संशोधन होना चाहिए, अन्यथा 409 revision_mismatch। हर कुंजी अपने अगले अनुरोध से परिवर्तन का पालन करती है: संकुचन तुरंत प्रभावी होता है, विस्तार कभी कुंजी की अपनी बाइंडिंग से आगे नहीं जाता। डेलिगेट को वर्तमान और नई, दोनों नीतियाँ अपनी ऊपरी सीमा के भीतर चाहिए।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
expectedRevisionintegerहाँ1–2147483646
bindingsobject का ऐरेहाँअधिकतम 64 आइटम
bindings[].resourceobjectहाँ—
bindings[].resource.kindstringहाँइनमें से एक: repository
bindings[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
enabledbooleanहाँ—
revisionintegerहाँ1–2147483647
bindingsobject का ऐरेहाँअधिकतम 64 आइटम
bindings[].resourceobjectहाँ—
bindings[].resource.kindstringहाँइनमें से एक: repository
bindings[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
createdAtstring (date-time)हाँ—

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X PUT "$ARKVORY_URL/api/v1/service-accounts/$ID/policy" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":1,"bindings":[]}'

सेवा खाते की कुंजियाँ सूचीबद्ध करें ​

GET HEAD /api/v1/service-accounts/{id}/keys

एक्सेस: सेवा प्रशासन अनुमति credential.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

खाते की कुंजियों का मेटाडेटा ID के क्रम में, प्रति पृष्ठ 50, सूचीबद्ध करता है: नाम, state (pending, active, revoked), बाइंडिंग, निर्माण, समाप्ति, सक्रियण की समय-सीमा और वह कुंजी जिससे इसे रोटेट किया गया; गोपनीय मान या हैश कभी नहीं। after में next देकर आगे बढ़ें। समाप्ति से state नहीं बदलती, इसलिए expiresAt की तुलना वर्तमान समय से करें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—
afterक्वेरीstring (uuid)नहीं—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 50 आइटम
items[].idstring (uuid)हाँ—
items[].accountIdstring (uuid)हाँ—
items[].namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
items[].statestringहाँइनमें से एक: pending, active, revoked
items[].bindingsobject का ऐरेहाँअधिकतम 64 आइटम
items[].bindings[].resourceobjectहाँ—
items[].bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
items[].createdAtstring (date-time)हाँ—
items[].expiresAtstring (date-time)हाँ—
items[].activationExpiresAtstring (date-time)हाँ—
items[].rotatedFromstring (uuid)हाँnull हो सकता है
nextstring (uuid)हाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/service-accounts/$ID/keys" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

सेवा खाते के लिए कुंजी जारी करें ​

POST /api/v1/service-accounts/{id}/keys

एक्सेस: सेवा प्रशासन अनुमति credential.manage · पुनः प्रयास: उसी Idempotency-Key के साथ दोहराना सुरक्षित है

name, bindings (केवल वहीं प्रभावी जहाँ खाते की नीति भी उन्हें अनुमति देती है) और वैकल्पिक expiresAt (UTC; डिफ़ॉल्ट 90 दिन, अधिकतम 365, और डेलिगेट के लिए कभी उसकी अपनी कुंजी से आगे नहीं) के साथ लंबित कुंजी जारी करता है। पहला उत्तर key और secret के साथ 201 है, जो केवल इसी एक बार दिखाया जाता है; उसी Idempotency-Key और बॉडी के साथ दोहराने पर केवल मेटाडेटा के साथ 200 मिलता है, भिन्न बॉडी पर 409। धारक को गोपनीय मान के साथ 15 मिनट के भीतर activateServiceKey कॉल करना होगा; गोपनीय मान खो जाए तो कुंजी निरस्त करें और नई Idempotency-Key के साथ नई जारी करें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—
Idempotency-Keyहेडरstringहाँअधिकतम 128 वर्ण

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
bindingsobject का ऐरेहाँअधिकतम 64 आइटम
bindings[].resourceobjectहाँ—
bindings[].resource.kindstringहाँइनमें से एक: repository
bindings[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
expiresAtstring (date-time)नहीं—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
keyobjectहाँ—
key.idstring (uuid)हाँ—
key.accountIdstring (uuid)हाँ—
key.namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
key.statestringहाँइनमें से एक: pending, active, revoked
key.bindingsobject का ऐरेहाँअधिकतम 64 आइटम
key.bindings[].resourceobjectहाँ—
key.bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
key.createdAtstring (date-time)हाँ—
key.expiresAtstring (date-time)हाँ—
key.activationExpiresAtstring (date-time)हाँ—
key.rotatedFromstring (uuid)हाँnull हो सकता है
secretstringनहीं—

प्रतिक्रियाएँ: 200, 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/service-accounts/$ID/keys" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name":"<name>","bindings":[]}'

सेवा खाते का ऑडिट पढ़ें ​

GET HEAD /api/v1/service-accounts/{id}/audit

एक्सेस: सेवा प्रशासन अनुमति service-audit.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

क्रम संख्या after (डिफ़ॉल्ट 0) के बाद खाते की अधिकतम 100 घटनाएँ, सबसे पुरानी पहले, लौटाता है: खाते, नीति और कुंजी के परिवर्तन जैसे जारी करना, रोटेशन, सक्रियण और निरस्तीकरण, प्रत्येक के साथ कर्ता, क्रिया, कुंजी और समय। आगे पढ़ने के लिए अंतिम sequence after में दें; कोई next फ़ील्ड नहीं है। सर्वर की केवल नवीनतम 100 000 घटनाएँ रखी जाती हैं।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—
afterक्वेरीstringनहींदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 100 आइटम
items[].sequencestringहाँ—
items[].actorstringहाँ—
items[].actionstringहाँ—
items[].accountIdstring (uuid)हाँ—
items[].keyIdstring (uuid)हाँnull हो सकता है
items[].occurredAtstring (date-time)हाँ—

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/service-accounts/$ID/audit" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

कुंजी प्राप्त करें ​

GET HEAD /api/v1/api-keys/{id}

एक्सेस: सेवा प्रशासन अनुमति credential.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

एक प्रबंधित कुंजी का मेटाडेटा लौटाता है: उसका खाता, नाम, स्थिति, बाइंडिंग, निर्माण, समाप्ति, सक्रियण की समय-सीमा और वह कुंजी जिससे इसे रोटेट किया गया; गोपनीय मान या उसका हैश कभी नहीं।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
accountIdstring (uuid)हाँ—
namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
statestringहाँइनमें से एक: pending, active, revoked
bindingsobject का ऐरेहाँअधिकतम 64 आइटम
bindings[].resourceobjectहाँ—
bindings[].resource.kindstringहाँइनमें से एक: repository
bindings[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
createdAtstring (date-time)हाँ—
expiresAtstring (date-time)हाँ—
activationExpiresAtstring (date-time)हाँ—
rotatedFromstring (uuid)हाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/api-keys/$ID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

कुंजी रोटेट करें ​

POST /api/v1/api-keys/{id}/rotate

एक्सेस: सेवा प्रशासन अनुमति credential.manage · पुनः प्रयास: उसी Idempotency-Key के साथ दोहराना सुरक्षित है

कुंजी id का उसी खाते के लिए लंबित उत्तराधिकारी जारी करता है, उन्हीं या संकरी bindings के साथ, और issueServiceKey की तरह उत्तर देता है: एक बार दिखने वाले secret के साथ 201, उसी Idempotency-Key के साथ दोहराने पर केवल मेटाडेटा के साथ 200। उत्तराधिकारी के सक्रिय होने के बाद पुरानी कुंजी अधिकतम 24 घंटे और वैध रहती है; नई कुंजी के काम करने पर उसे स्पष्ट रूप से निरस्त करें, पर तभी जब उसके शुरू किए जॉब समाप्त हो चुके हों। ऑपरेटर कुंजी के प्रत्यायोजन उसके उत्तराधिकारी में कॉपी नहीं होते।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—
Idempotency-Keyहेडरstringहाँअधिकतम 128 वर्ण

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
bindingsobject का ऐरेहाँअधिकतम 64 आइटम
bindings[].resourceobjectहाँ—
bindings[].resource.kindstringहाँइनमें से एक: repository
bindings[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
expiresAtstring (date-time)नहीं—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
keyobjectहाँ—
key.idstring (uuid)हाँ—
key.accountIdstring (uuid)हाँ—
key.namestringहाँपैटर्न: ^[a-zA-Z0-9_.-]{3,64}$
key.statestringहाँइनमें से एक: pending, active, revoked
key.bindingsobject का ऐरेहाँअधिकतम 64 आइटम
key.bindings[].resourceobjectहाँ—
key.bindings[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read
key.createdAtstring (date-time)हाँ—
key.expiresAtstring (date-time)हाँ—
key.activationExpiresAtstring (date-time)हाँ—
key.rotatedFromstring (uuid)हाँnull हो सकता है
secretstringनहीं—

प्रतिक्रियाएँ: 200, 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/api-keys/$ID/rotate" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name":"<name>","bindings":[]}'

कुंजी निरस्त करें ​

POST /api/v1/api-keys/{id}/revoke

एक्सेस: सेवा प्रशासन अनुमति credential.manage · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

कुंजी को हमेशा के लिए निरस्त करता है: उसका अगला अनुरोध विफल होगा, जबकि पहले से चल रहा डाउनलोड नहीं कटता। दोहराने पर 204 के साथ सफल होता है। जो कुंजियाँ निरस्त ऑपरेटर कुंजी ने जारी की थीं और जो पहले ही सक्रिय हो चुकी हैं वे वैध रहती हैं; उन्हें अलग से निरस्त करें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—

प्रतिक्रियाएँ: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/api-keys/$ID/revoke" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

कुंजी सक्रिय करें ​

POST /api/v1/auth/activate-key

एक्सेस: जारी की गई कुंजी, सक्रियण से पहले या बाद में · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

प्रमाणित करता है कि धारक को नई जारी की गई कुंजी मिल गई है: उसे जारी होने के 15 मिनट के भीतर उसी कुंजी को Authorization: Bearer के रूप में देकर कॉल करें, और कुंजी सक्रिय हो जाती है (204)। दोहराना सुरक्षित है और समाप्ति को नहीं बढ़ाता। रोटेट की गई कुंजी को सक्रिय करने से जिस कुंजी को वह प्रतिस्थापित करती है उसका शेष जीवनकाल अधिकतम 24 घंटे तक घट जाता है।

प्रतिक्रियाएँ: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/auth/activate-key" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

कुंजी के प्रत्यायोजन सूचीबद्ध करें ​

GET HEAD /api/v1/api-keys/{id}/delegations

एक्सेस: बूटस्ट्रैप कुंजी, या स्वयं वही कुंजी · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

ऑपरेटर कुंजी id के प्रत्यायोजन लौटाता है, अक्षम किए गए सहित अधिकतम 64: प्रत्येक लक्ष्य खाते के लिए उसका revision, वह enabled है या नहीं, प्रशासनिक actions (जैसे credential.manage) और रिपॉज़िटरी बाइंडिंग की वह ceiling जो वह आगे दे सकती है। डेलिगेट यहाँ अपने ही प्रत्यायोजन पढ़ता है (उसकी कुंजी की ID getOwnPermissions में credentialId है); किसी अन्य कुंजी की सूची 403 है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 64 आइटम
items[].keyIdstring (uuid)हाँ—
items[].targetAccountIdstring (uuid)हाँ—
items[].enabledbooleanहाँ—
items[].revisionintegerहाँ1–2147483647
items[].actionsstring का ऐरेहाँअधिकतम 7 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: service-account.read, service-account.manage, policy.read, policy.manage, credential.read, credential.manage, service-audit.read
items[].ceilingobject का ऐरेहाँअधिकतम 16 आइटम
items[].ceiling[].resourceobjectहाँ—
items[].ceiling[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/api-keys/$ID/delegations" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

सेवा खाते का प्रशासन प्रत्यायोजित करें ​

PUT /api/v1/api-keys/{id}/delegations/{accountId}

एक्सेस: बूटस्ट्रैप कुंजी (इंस्टॉलेशन की पुनर्प्राप्ति कुंजी) · पुनः प्रयास: केवल अपेक्षित संशोधन के साथ दोहराएँ (compare-and-swap)

कुंजी id को दी गई actions (service-account.read, service-account.manage, policy.read, policy.manage, credential.read, credential.manage, service-audit.read) के साथ सेवा खाते accountId का प्रशासन करने देता है, ceiling के भीतर, यानी अधिकतम 16 रिपॉज़िटरी बाइंडिंग जो वह आगे दे सकती है; manage का अर्थ read नहीं होता। expectedRevision बनाने के लिए 0 है और बदलने या फिर से सक्षम करने के लिए रिकॉर्ड का वर्तमान संशोधन, अन्यथा 409। कुंजी सक्रिय होनी चाहिए और बूटस्ट्रैप कुंजी से जारी की गई हो, और कोई खाता एक साथ प्रत्यायोजन रखने वाला और किसी प्रत्यायोजन का लक्ष्य नहीं हो सकता, इसलिए प्रत्यायोजन कभी शृंखला नहीं बनाता।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—
accountIdपथstring (uuid)हाँ—

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
expectedRevisionintegerहाँ0–2147483646
actionsstring का ऐरेहाँ1–7 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: service-account.read, service-account.manage, policy.read, policy.manage, credential.read, credential.manage, service-audit.read
ceilingobject का ऐरेहाँअधिकतम 16 आइटम
ceiling[].resourceobjectहाँ—
ceiling[].resource.kindstringहाँइनमें से एक: repository
ceiling[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
ceiling[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
keyIdstring (uuid)हाँ—
targetAccountIdstring (uuid)हाँ—
enabledbooleanहाँ—
revisionintegerहाँ1–2147483647
actionsstring का ऐरेहाँअधिकतम 7 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: service-account.read, service-account.manage, policy.read, policy.manage, credential.read, credential.manage, service-audit.read
ceilingobject का ऐरेहाँअधिकतम 16 आइटम
ceiling[].resourceobjectहाँ—
ceiling[].resource.kindstringहाँइनमें से एक: repository
ceiling[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
ceiling[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X PUT "$ARKVORY_URL/api/v1/api-keys/$ID/delegations/$ACCOUNTID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":0,"actions":["service-account.read"],"ceiling":[]}'

प्रत्यायोजन वापस लें ​

DELETE /api/v1/api-keys/{id}/delegations/{accountId}

एक्सेस: बूटस्ट्रैप कुंजी (इंस्टॉलेशन की पुनर्प्राप्ति कुंजी) · पुनः प्रयास: केवल अपेक्षित संशोधन के साथ दोहराएँ (compare-and-swap)

accountId पर कुंजी id का प्रत्यायोजन अक्षम करता है; JSON बॉडी में expectedRevision होता है, यानी रिकॉर्ड का वर्तमान संशोधन। रिकॉर्ड बिना क्रियाओं और ऊँचे संशोधन के साथ अक्षम प्रविष्टि के रूप में रहता है, जो 200 के साथ लौटाया जाता है; उत्तर खो जाने पर दोहराने के बजाय उसे listServiceDelegations से पढ़ें, क्योंकि पुराना संशोधन 409 है। जो कुंजियाँ डेलिगेट पहले ही जारी और सक्रिय कर चुका है वे काम करती रहती हैं: उन्हें निरस्त करें या खाते को अलग से अक्षम करें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—
accountIdपथstring (uuid)हाँ—

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
expectedRevisionintegerहाँ1–2147483646

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
keyIdstring (uuid)हाँ—
targetAccountIdstring (uuid)हाँ—
enabledbooleanहाँ—
revisionintegerहाँ1–2147483647
actionsstring का ऐरेहाँअधिकतम 7 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: service-account.read, service-account.manage, policy.read, policy.manage, credential.read, credential.manage, service-audit.read
ceilingobject का ऐरेहाँअधिकतम 16 आइटम
ceiling[].resourceobjectहाँ—
ceiling[].resource.kindstringहाँइनमें से एक: repository
ceiling[].resource.idstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
ceiling[].actionsstring का ऐरेहाँ1–24 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X DELETE "$ARKVORY_URL/api/v1/api-keys/$ID/delegations/$ACCOUNTID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":1}'

Arkvory · ProAnimaStudio