Claude Code ਨਾਲ ਅੰਦਰੂਨੀ ਟੂਲ ਬਣਾਓ ਜੋ ਲੌਗ ਖੋਜ, ਫੀਚਰ ਟੌਗਲ ਅਤੇ ਡੇਟਾ ਚੈੱਕ ਹੱਲ ਕਰੇ — ਘੱਟੋ-ਘੱਟ ਅਧਿਕਾਰ ਲਾਗੂ ਕਰਦਿਆਂ ਅਤੇ ਸਾਫ਼ ਗਾਰਡਰੇਲਜ਼ ਰੱਖਦਿਆਂ।

ਅੰਦਰੂਨੀ ਟੂਲ ਅਕਸਰ ਇੱਕ ਛੋਟੀ shortcut ਵਜੋਂ ਸ਼ੁਰੂ ਹੁੰਦੇ ਹਨ: ਇੱਕ ਕਮਾਂਡ ਜਾਂ ਇੱਕ ਪੰਨਾ ਜੋ ਘਟਨਾ ਦੌਰਾਨ ਟੀਮ ਦੇ 20 ਮਿੰਟ ਬਚਾ ਲੈਂਦਾ ਹੈ। ਖਤਰਾ ਇਹ ਹੈ ਕਿ ਜੇ ਤੁਸੀਂ ਪਹਿਲਾਂ ਸਮੱਸਿਆ ਅਤੇ ਸਰਹੱਦਾਂ ਨਹੀਂ ਪਰिभਾਸ਼ਿਤ ਕਰਦੇ, ਤਾਂ ਉਹੀ shortcut ਖਾਮੋਸ਼ੀ ਨਾਲ ਇੱਕ privileged backdoor ਵਿੱਚ ਬਦਲ ਸਕਦਾ ਹੈ।
ਟੀਮਾਂ ਜ਼ਿਆਦਾਤਰ ਉਹ ਟੂਲ ਚੁਣਦੀਆਂ ਹਨ ਜਦੋਂ ਇੱਕੋ ਜਿਹਾ ਦਰਦ ਹਰ ਦਿਨ ਦੁਹਰਾਇਆ ਜਾਂਦਾ ਹੈ, ਉਦਾਹਰਨ ਲਈ:
ਇਹ ਸਮੱਸਿਆਵਾਂ ਛੋਟੀਆਂ ਲੱਗਦੀਆਂ ਹਨ ਜਦੋਂ ਤੱਕ ਟੂਲ ਪ੍ਰੋਡਕਸ਼ਨ ਲੌਗ ਪੜ੍ਹ ਸਕਦਾ, ਗ੍ਰਾਹਕ ਡੇਟਾ ਨੂੰ ਕਵੇਰੀ ਕਰ ਸਕਦਾ ਜਾਂ ਕਿਸੇ ਫਲੈਗ ਨੂੰ ਫਲਿੱਪ ਕਰ ਸਕਦਾ। ਫਿਰ ਤੁਸੀਂ ਐਕਸੈਸ ਕੰਟਰੋਲ, ਆਡਿਟ ਟਰੇਲ ਅਤੇ ਗਲਤੀ ਨਾਲ ਲਿਖਤ ਨਾਲ ਨਜਿੱਠ ਰਹੇ ਹੋ। “ਕੇਵਲ ਇੰਜੀਨੀਅਰਾਂ ਲਈ” ਟੂਲ ਵੀ ਆਊਟੇਜ ਕਰ ਸਕਦਾ ਹੈ ਜੇ ਉਹ ਵਿਆਪਕ ਕਵੈਰੀ ਚਲਾਇਆ, ਗਲਤ ਇਨਵਾਇਰਨਮੈਂਟ ਨੂੰ ਹਿੱਟ ਕਰ ਦੇਵੇ, ਜਾਂ ਸਪਸ਼ਟ ਪੁਸ਼ਟੀ ਬਿਨਾਂ ਸਟੇਟ ਬਦਲ ਦੇਵੇ।
ਸਫਲਤਾ ਨੂੰ ਸੰਕੁਚਿਤ, ਮਾਪਯੋਗ ਸ਼ਰਤਾਂ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ:_permissions ਵਧਾਏ ਬਗ਼ੈਰ ਤੇਜ਼ ਓਪਰੇਸ਼ਨ। ਇੱਕ ਵਧੀਆ ਅੰਦਰੂਨੀ ਟੂਲ ਕਦਮ घटਾਉਂਦਾ ਹੈ, ਨਾਹ ਕਿ ਸੁਰੱਖਿਆ। ਸਭ ਨੂੰ ਵਿਆਪਕ ਡੇਟਾਬੇਸ ਪਹੁੰਚ ਦੇਣ ਦੀ ਥਾਂ, ਜੋ ਇਕ ਸੰਦੇਹਜਨਕ ਬਿਲਿੰਗ ਮੁੱਦੇ ਲਈ ਚੈੱਕ ਕਰਨ ਲਈ ਲੋੜੀਂਦਾ ਨਹੀਂ, ਇੱਕ ਐਸਾ ਟੂਲ ਬਣਾਓ ਜੋ ਇਕ ਸਵਾਲ ਦਾ جواب ਦੇਵੇ: “ਅਕਾਊਂਟ X ਲਈ ਅੱਜ ਦੀਆਂ ਫੇਲਡ ਬਿਲਿੰਗ ਘਟਨਾਵਾਂ ਦਿਖਾਓ,” ਜੋ read-only, ਸਕੋਪਡ credentials ਨਾਲ ਚੱਲੇ।
ਇੰਟਰਫੇਸ ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ, ਫ਼ੈਸਲਾ ਕਰੋ ਕਿ ਲੋਕ ਉਸ ਸਮੇਂ ਕੀ ਚਾਹੁੰਦੇ ਹਨ। ਓਨ-ਕਾਲ ਲਈ ਦੁਹਰਣਯੋਗ ਕੰਮਾਂ ਲਈ CLI ਬਹੁਤ ਵਧੀਆ ਹੈ। ਜਦੋਂ ਨਤੀਜੇ ਸੰਦਰਭ ਅਤੇ ਸਾਂਝੀ ਵਿਜ਼ੀਬਿਲਟੀ ਵੱਖ-ਰੱਖ ਲੋਕਾਂ ਲਈ ਜ਼ਰੂਰੀ ਹੁੰਦੀ ਹੈ ਤਾਂ ਵੈੱਬ ਡੈਸ਼ਬੋਰਡ ਵਧੀਆ ਹੈ। ਕਈ ਵਾਰੀ ਤੁਸੀਂ ਦੋਹਾਂ ਜਾਰੀ ਕਰਦੇ ਹੋ, ਪਰ ਸਿਰਫ਼ ਜੇ ਉਹ ਇੱਕੋ ਹੀ ਸੁਰੱਖਿਅਤ ਓਪਰੇਸ਼ਨਾਂ ਦੇ ਪਤੇ ਉੱਤੇ ਪਤਲੇ ਵਿਊ ਹਨ। ਲਕੜੀ ਇੱਕ ਚੰਗੀ ਪਰਿਭਾਸ਼ਿਤ ਸਮਰੱਥਾ ਹੈ, ਨਾਹ ਕਿ ਨਵਾਂ ਐਡਮਿਨ ਸਰਫੇਸ ਏਰੀਆ।
ਅੰਦਰੂਨੀ ਟੂਲ ਨੂੰ ਲਾਭਕਾਰੀ (ਅਤੇ ਸੁਰੱਖਿਅਤ) ਬਣਾਉਣ ਦਾ ਸਭ ਤੋਂ ਤੇਜ਼ ਤਰੀਕਾ ਇੱਕ ਸਾਫ਼ ਨੌਕਰੀ ਚੁਣੋ ਅਤੇ ਓਸ ਹੋਂਦ ਵਿੱਚ ਚੰਗਾ ਕਰੋ। ਜੇ ਇਹ ਪਹਿਲੇ ਦਿਨ ਤੋਂ ਲੌਗ, ਫੀਚਰ ਫਲੈਗ, ਡੇਟਾ ਫਿਕਸ ਅਤੇ ਯੂਜ਼ਰ ਮੈਨੇਜਮੈਂਟ ਸਭ ਸੰਭਾਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੇਗਾ, ਤਾਂ ਇਹ ਲੁਕਵੇਂ ਵਿਹਾਰ ਅਤੇ ਲੋਕਾਂ ਨੂੰ ਹੈਰਾਨ ਕਰਨ ਵਾਲੇ ਵਿਵਹਾਰ ਬਣਾ ਲਵੇਗਾ।
ਅਸਲੀ ਕੰਮ ਦੌਰਾਨ ਯੂਜ਼ਰ ਜੋ ਇੱਕ ਸਵਾਲ ਪੁੱਛਦਾ ਹੈ, ਉਸ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ। ਉਦਾਹਰਨ: “ਕਿਸੇ request ID ਦੇ ਦਿੱਤੇ ਜਾਣ 'ਤੇ, ਸੇਵਾਵਾਂ ਵਿੱਚ ਗਲਤੀ ਅਤੇ ਆਲੇ-ਦੁਆਲੇ ਦੀਆਂ ਲਾਈਨਾਂ ਦਿਖਾਓ।” ਇਹ ਸੰਕੁਚਿਤ, ਟੈਸਟਯੋਗ ਅਤੇ ਸਮਝਾਉਣਾ ਆਸਾਨ ਹੈ।
ਟੂਲ ਕਿਸ ਲਈ ਹੈ, ਇਹ ਸਪਸ਼ਟ ਕਰੋ। ਲੋਕ ਜੋ ਲੋਕਲ ਡੀਬੱਗ ਕਰ ਰਹੇ ਹਨ ਉਨ੍ਹਾਂ ਨੂੰ ਓਨ-ਕਾਲ ਤੇ ਹੋਣ ਵਾਲੇ ਵਿਅਕਤੀ ਤੋਂ ਵੱਖ-ਵੱਖ ਵਿਕਲਪ ਚਾਹੀਦੇ ਹਨ, ਅਤੇ ਸਪੋਰਟ ਜਾਂ ਵਿਸ਼ਲੇਸ਼ਕ ਹਨ ਉਹ ਵੀ ਅਲੱਗ। ਜਦੋਂ ਤੁਸੀਂ ਦਰਸ਼ਕ ਮਿਕਸ ਕਰਦੇ ਹੋ, ਤਾਂ “ਸ਼ਕਤੀਸ਼ਾਲੀ” ਕਮਾਂਡਾਂ ਜੁੜ ਜਾਂਦੀਆਂ ਹਨ ਜੋ ਬਹੁਤ ਸਾਰੇ ਯੂਜ਼ਰਾਂ ਨੂੰ ਕਦੇ ਨਹੀ ਛੂਹਣਾ ਚਾਹੀਦਾ।
ਇਨਪੁੱਟ ਅਤੇ ਆਉਟਪੁੱਟ ਨੂੰ ਇੱਕ ਛੋਟੀ ਕਾਂਟ੍ਰੈਕਟ ਵਾਂਗ ਲਿਖੋ।
ਇਨਪੁੱਟ explicit ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ: request ID, ਸਮੇਂ ਦੀ ਸੀਮਾ, ਇਨਵਾਇਰਨਮੈਂਟ। ਆਉਟਪੁੱਟ predictable: ਮਿਲਦੀਆਂ ਲਾਈਨਾਂ, ਸਰਵਿਸ ਨਾਮ, ਟਾਈਮਸਟੈਂਪ, ਗਿਣਤੀ। ਛੁਪੇ ਹੋਏ ਸਾਈਡ-ਐਫੈਕਟ ਤੋਂ ਬਚੋ ਜਿਵੇਂ “ਇਹ ਵੀ cache ਸਾਫ ਕਰਦਾ ਹੈ” ਜਾਂ “ਇਹ ਵੀ ਜੋਬ ਨੂੰ ਰੀਟ੍ਰਾਈ ਕਰਦਾ ਹੈ।” ਇਹੀ ਉਹ ਫੀਚਰ ਹਨ ਜੋ ਹਾਦਸਿਆਂ ਦਾ ਕਾਰਨ ਬਣਦੇ ਹਨ।
ਡਿਫ਼ੌਲਟ ਨੂੰ read-only ਰੱਖੋ। ਤੁਸੀਂ search, diff, validate ਅਤੇ report ਨਾਲ ਟੂਲ ਨੂੰ ਕਿੰਝ ਕੀਮਤੀ ਰੱਖ ਸਕਦੇ ਹੋ। write ਕਾਰਵਾਈਆਂ ਤਦ ਹੀ ਜੋੜੋ ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਅਸਲੀ ਸੀਨਾਰਿਓ ਨਾਂਮ ਕਰ ਸਕਦੇ ਹੋ ਜੋ ਇਸਦੀ ਲੋੜ ਹੈ ਅਤੇ ਤੁਸੀਂ ਇਸ ਨੂੰ ਕੜੀ ਤਰ੍ਹਾਂ ਸੀਮਿਤ ਕਰ ਸਕਦੇ ਹੋ।
ਇੱਕ ਸਰਲ ਸਕੋਪ ਸਟੇਟਮੈਂਟ ਜੋ ਟੀਮ ਨੂੰ ਸੱਚਾ ਰੱਖਦਾ ਹੈ:
Claude Code ਕੁਝ ਵੀ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ, ਲਿਖੋ ਕਿ ਟੂਲ ਕਿਹੜੇ ਚੀਜ਼ਾਂ ਨੂੰ ਛੂਹੇਗਾ। ਸਭ ਤੋਂ ਵੱਧ ਸੁਰੱਖਿਆ ਅਤੇ ਭਰੋਸੇਯੋਗਤਾ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ ਇੱਥੇ ਹੀ ਦਿਖਦੀਆਂ ਹਨ, UI ਵਿੱਚ ਨਹੀਂ। ਇਸ ਮੈਪਿੰਗ ਨੂੰ ਇੱਕ ਕਾਂਟ੍ਰੈਕਟ ਵਜੋਂ ਵਰਤੋ: ਇਹ ਸਮੀਖਿਆਕਾਰਾਂ ਨੂੰ ਦੱਸਦਾ ਹੈ ਕੀ ਸਕੋਪ ਵਿੱਚ ਹੈ ਅਤੇ ਕੀ ਬੰਦ ਹੈ।
ਇਨਵੈਟਰੀ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ: ਡੇਟਾ ਸਰੋਤ ਅਤੇ ਮਾਲਿਕ। ਉਦਾਹਰਨ: ਲੌਗ (app, gateway, auth) ਅਤੇ ਉਹਨਾਂ ਦੀ ਹੋਸਟਿੰਗ; ਉਸ ਨਿਰਦੇਸ਼ ਟੇਬਲਾਂ ਜਾਂ ਵਿਊਜ਼ ਜੋ ਟੂਲ ਕਵੇਰੀ ਕਰੇਗਾ; ਤੁਹਾਡਾ ਫੀਚਰ ਫਲੈਗ ਸਟੋਰ ਅਤੇ ਨਾਂਮਕਰਨ ਨਿਯਮ; ਮੈਟ੍ਰਿਕਸ ਅਤੇ ਟ੍ਰੇਸ ਅਤੇ ਕਿਹੜੇ ਲੇਬਲ ਸੁਰੱਖਿਅਤ ਹਨ; ਅਤੇ ਕਿਸੇ ਟਿਕਟਿੰਗ ਜਾਂ ਇੰਸੀਡੈਂਟ ਸਿਸਟਮ ਵਿੱਚ ਨੋਟ ਲਿਖਣ ਦੀ ਯੋਜਨਾ ਹੈ ਕਿ ਨਹੀਂ।
ਫਿਰ ਉਹ ਓਪਰੇਸ਼ਨਾਂ ਨੂੰ ਨਾਮ ਦਿਓ ਜੋ ਟੂਲ ਨੂੰ ਕਰਨ ਦੀ ਆਗਿਆ ਹੈ। “admin” ਵਰਗੇ ਅਧਿਕਾਰ ਤੋਂ ਬਚੋ। ਬਜਾਏ, ਪਰਖੇ ਜਾ ਸਕਣ ਵਾਲੇ verbs ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ। ਆਮ ਉਦਾਹਰਨ: read-only search ਅਤੇ export (limits ਨਾਲ), annotate (ਨੋਟ ਸ਼ਾਮਲ ਕਰੋ ਬਗੈਰ ਇਤਿਹਾਸ ਸੋਧੇ), ਨਿਰਧਾਰਤ ਫਲੈਗਾਂ ਦਾ toggling TTL ਨਾਲ, ਸੀਮਤ backfills (ਤਾਰੀਖ ਦੀ ਰੇਂਜ ਅਤੇ ਰਿਕਾਰਡ ਗਿਣਤੀ), ਅਤੇ dry-run ਮੋਡ ਜੋ ਪ੍ਰਭਾਵ ਦਿਖਾਏ ਬਿਨਾਂ ਡੇਟਾ ਬਦਲੇ।
ਸੰਵੇਦਨਸ਼ੀਲ ਫੀਲਡਾਂ ਲਈ explicit ਹੈਂਡਲਿੰਗ ਲਾਜ਼ਮੀ ਹੈ। ਫੈਸਲਾ ਕਰੋ ਕਿ ਕੀ mask ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ (ਈਮੇਲ, ਟੋਕਨ, session IDs, API keys, ਗਾਹਕ ਪਛਾਣਕਰਤਾ) ਅਤੇ ਕੀ ਸਿਰਫ਼ ਟੁੱਟੇ ਰੂਪ ਵਿੱਚ ਦਿਖਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। ਉਦਾਹਰਨ: ਇੱਕ ID ਦੇ ਆਖਰੀ 4 ਅੱਖਰ ਦਿਖਾਓ, ਜਾਂ ਉਸਨੂੰ consistent ਤਰੀਕੇ ਨਾਲ hash ਕਰੋ ਤਾਂ ਜੋ ਲੋਕ ਆਡੀਟ ਕਰ ਸਕਣ ਬਿਨਾਂ ਰawm value ਦੇਖੇ।
ਅਖ਼ੀਰ ਵਿੱਚ, retention ਅਤੇ audit ਨਿਯਮਾਂ 'ਤੇ ਸਹਿਮਤੀ ਬਣਾਓ। ਜੇ ਕਿਸੇ ਨੇ ਕੁਏਰੀ ਚਲਾਈ ਜਾਂ ਫਲੈਗ ਫਲਿੱਪ ਕੀਤਾ, ਤਾਂ ਰਿਕਾਰਡ ਕਰੋ ਕਿ ਕਿਸ ਨੇ, ਕਦੋਂ, ਕਿਹੜੇ ਫ਼ਿਲਟਰ ਵਰਤੇ ਅਤੇ ਨਤੀਜੇ ਦੀ ਗਿਣਤੀ ਕੀ ਸੀ। ਆਡਿਟ ਲੌਗ ਐਪ ਲੌਗਾਂ ਤੋਂ ਲੰਬਾ ਰੱਖੋ। ਜਿਵੇਂ “ਕੂਏਰੀ 30 ਦਿਨ ਰੱਖੇ, ਆਡਿਟ ਰਿਕਾਰਡ 1 ਸਾਲ” ਵਰਗਾ ਸਧਾਰਨ ਨਿਯਮ ਵੀ ਘਟਨਾ ਦੌਰਾਨ ਪੀੜਾ ਭਰੀ ਬਹਿਸ ਰੋਕ ਸਕਦਾ ਹੈ।
ਘੱਟੋ-ਘੱਟ ਅਧਿਕਾਰ ਸਭ ਤੋਂ ਆਸਾਨ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਮਾਡਲ ਨੂੰ ਨਿਰਾਸਵਾਦ ਰੱਖਦੇ ਹੋ। ਪਹਿਲਾਂ ਲਿਖੋ ਕਿ ਟੂਲ ਕੀ ਕਰ ਸਕਦਾ ਹੈ, ਫਿਰ ਹਰ ਐਕਸ਼ਨ ਨੂੰ read-only ਜਾਂ write ਵਜੋਂ ਲੇਬਲ ਕਰੋ। ਜ਼ਿਆਦਾਤਰ ਅੰਦਰੂਨੀ ਟੂਲਾਂ ਨੂੰ ਜ਼ਿਆਦਾਤਰ ਲੋਕਾਂ ਲਈ ਕੇਵਲ read access ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਵੈੱਬ ਡੈਸ਼ਬੋਰਡ ਲਈ, ਮੌਜੂਦਾ identity ਸਿਸਟਮ ਵਰਤੋ (SSO with OAuth)। ਲੋਕਲ ਪਾਸਵਰਡ ਤੋਂ ਬਚੋ। CLI ਲਈ, ਛੋਟੇ ਸਮੇਂ ਵਾਲੇ token ਵਰਤੋ ਜੋ ਜਲਦੀ expire ਹੋ ਜਾਣ ਅਤੇ ਸਿਰਫ਼ ਲੋੜੀਂਦੇ ਕਾਰਜਾਂ ਲਈ scope ਕੀਤੇ ਹੋਣ। ਲੰਬੇ ਸਮੇਂ ਵਾਲੇ shared token ਅਕਸਰ ਟਿਕਟਾਂ ਵਿੱਚ ਪੇਸਟ ਹੋ ਜਾਂਦੇ ਹਨ, shell history ਵਿੱਚ ਸਟੋਰ ਹੋ ਜਾਂਦੇ ਹਨ ਜਾਂ ਨਿੱਜੀ ਮਸ਼ੀਨਾਂ 'ਤੇ ਨਕਲ ਹੋ ਜਾਂਦੇ ਹਨ।
RBAC ਨੂੰ ਛੋਟਾ ਰੱਖੋ। ਜੇ ਤੁਹਾਨੂੰ ਕੁਝ roles ਤੋਂ ਵੱਧ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਸ਼ਾਇਦ ਟੂਲ ਬਹੁਤ ਵੱਧ ਬਹੁ-ਕਿਰਿਆਸ਼ੀਲ ਹੋ ਰਿਹਾ ਹੈ। ਬਹੁਤ ਸਾਰੀਆਂ ਟੀਮਾਂ 3 ਰੋਲਾਂ ਨਾਲ ਚੰਗਾ ਕੰਮ ਕਰਦੀਆਂ ਹਨ:
ਸ਼ੁਰੂ ਤੋਂ ਹੀ ਮਾਹੌਲ ਵੱਖ-ਵੱਖ ਰੱਖੋ, ਭਾਵੇਂ UI ਇੱਕੋ ਜਿਹਾ ਲੱਗੇ। “ਅਕਸਮਾਤ ਪ੍ਰੋਡ ਵਿੱਚ ਕਰਨਾ” ਮੁਸ਼ਕਲ ਬਣਾਉ। ਹਰ ਮਾਹੌਲ ਲਈ ਵੱਖ-ਵੱਖ credentials, ਵੱਖ-ਵੱਖ config ਫਾਇਲਾਂ ਅਤੇ ਵੱਖ-ਵੱਖ API endpoints ਵਰਤੋ। ਜੇ ਕੋਈ ਯੂਜ਼ਰ ਕੇਵਲ staging ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ ਤਾਂ ਉਸਨੂੰ ਪ੍ਰੋਡਕਸ਼ਨ 'ਤੇ authenticate ਕਰਨ ਦੇ ਯੋਗ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ।
ਉੱਚ-ਖਤਰਨਾਕ ਕਾਰਵਾਈਆਂ ਲਈ approval step ਦੀ ਜ਼ਰੂਰਤ ਹੈ। ਸੋਚੋ data delete, feature flag ਬਦਲਣਾ, ਸੇਵਾ ਰੀਸਟਾਰਟ ਕਰਨਾ, ਜਾਂ ਭਾਰੀ ਕਵੈਰੀ ਚਲਾਉਣਾ। ਜਦੋਂ blast radius ਵੱਡਾ ਹੋਵੇ ਤਾਂ ਦੂਜੇ ਵਿਅਕਤੀ ਦੀ ਚੈੱਕ ਜੋੜੋ। ਅਮਲ ਰੂਪ ਵਧੀਆਂ ਰਣਨੀਤੀਆਂ ਵਿੱਚ typed confirmations ਸ਼ਾਮਲ ਹਨ ਜੋ ਟਾਰਗਟ ਨੂੰ ਵਰਤਿਆ ਹੋਇਆ name ਲਿਖਾਉਂਦੇ ਹਨ (ਸੇਵਾ ਨਾਮ ਅਤੇ ਇਨਵਾਇਰਨਮੈਂਟ), ਜੋ ਕੌਣ ਮੰਗਿਆ ਅਤੇ ਕੌਣ ਮਨਜ਼ੂਰ ਕੀਤਾ ਦਾ ਰਿਕਾਰਡ ਰੱਖਦੇ ਹਨ, ਅਤੇ ਸਭ ਤੋਂ ਖਤਰਨਾਕ ਓਪਰੇਸ਼ਨਾਂ ਲਈ ਛੋਟੀ ਡਿਲੇ ਜਾਂ ਸ਼ਡਿਊਲ ਵੀ ਸ਼ਾਮਲ ਹੈ।
ਜੇ ਤੁਸੀਂ Claude Code ਨਾਲ ਟੂਲ ਜਨਰੇਟ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਇਹ ਨਿਯਮ ਬਣਾਓ ਕਿ ਹਰ endpoint ਅਤੇ ਕਮਾਂਡ ਆਪ ਤੋਂ ਆਪਣੀ ਲੋੜੀਂਦੀ ਭੂਮਿਕਾ ਘੋਸ਼ਣਾ ਕਰੇ। ਇਹ ਆਦਤ permissions ਨੂੰ ਟੂਲ ਦੇ ਵਧਣ ਨਾਲ reviewable ਰੱਖਦੀ ਹੈ।
ਅੰਦਰੂਨੀ ਟੂਲਾਂ ਲਈ ਸਭ ਤੋਂ ਆਮ ਫੇਲਿਊਰ ਮੋਡ attacker ਨਹੀਂ ਹੁੰਦਾ। ਇਹ ਕੋਈ ਥੱਕਿਆ ਹੋਇਆ ਸਾਥੀ ਹੁੰਦਾ ਹੈ ਜੋ “ਸਹੀ” ਕਮਾਂਡ ਗਲਤ ਇਨਪੁੱਟ ਨਾਲ ਚਲਾ ਦੇਵੇ। ਗਾਰਡਰੇਲਜ਼ ਨੂੰ ਪ੍ਰੋਡਕਟ ਫੀਚਰ ਵਜੋਂ ਸਮਝੋ, ਸੁੰਦਰਤਾ ਨਹੀਂ।
ਸੁਰੱਖਿਆ ਮੂਡ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ: ਡਿਫ਼ੌਲਟ read-only। ਭਾਵੇਂ ਯੂਜ਼ਰ admin ਹੋਵੇ, ਟੂਲ ਇਕ ਐਸੇ ਮੋਡ ਵਿੱਚ ਖੁੱਲਣਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਕੇਵਲ ਡੇਟਾ ਫੈਚ ਕਰ ਸਕੇ। ਲਿਖਤ ਕਾਰਵਾਈਆਂ opt-in ਅਤੇ ਸਪਸ਼ਟ ਹੋਣ।
ਕਿਸੇ ਵੀ ਸੂਚਨਾ-ਬਦਲਣ ਵਾਲੇ ਓਪਰੇਸ਼ਨ ਲਈ (ਫਲੈਗ toggling, backfill, ਰਿਕਾਰਡ ਹਟਾਉਣਾ) explicit type-to-confirm ਲੋੜੀਂਦੀ ਹੈ। “Are you sure? y/N” ਆਸਾਨੀ ਨਾਲ muscle-memory ਨਾਲ ਗਲਤ ਹੋ ਸਕਦਾ ਹੈ। ਯੂਜ਼ਰ ਨੂੰ environs name + target ID ਵਗੈਰਾ ਫਿਰੋਂ ਲਿਖਵਾਓ।
ਕਸੀਮਤ ਇਨਪੁੱਟ validation ਜ਼ਿਆਦਾਤਰ ਦੁਰਘਟਨਾਵਾਂ ਰੋਕਦਾ ਹੈ। ਕੇਵਲ ਉਹੀ shapes accept ਕਰੋ ਜੋ ਤੁਸੀਂ ਅਸਲ ਵਿੱਚ support ਕਰਦੇ ਹੋ (IDs, dates, environments) ਅਤੇ ਬਾਕੀ ਸਭ early reject ਕਰੋ। ਖੋਜਾਂ ਲਈ power constrain ਕਰੋ: ਨਤੀਜੇ ਲਿਮਿਟ ਕਰੋ, ਸਮੇਂ ਦੀਆਂ ਰੇਂਜਾਂ ਸਨੀਮਿਤ ਰੱਖੋ, ਅਤੇ allow-list approach ਵਰਤੋ ਬਜਾਏ ਕਿ arbitrary patterns ਤੁਹਾਡੇ log store 'ਤੇ ਚੜ੍ਹਨ ਦੇ।
runaway queries ਤੋਂ ਬਚਣ ਲਈ timeouts ਅਤੇ rate limits ਜੋੜੋ। ਇੱਕ ਸੁਰੱਖਿਅਤ ਟੂਲ ਫ਼ੇਲ ਫਾਸਟ ਹੋ ਕੇ ਦੱਸੇ ਕਿ ਕਿਉਂ, ਨਾ ਕਿ hang ਹੋ ਕੇ ਤੁਹਾਡੇ ਡੇਟਾਬੇਸ ਨੂੰ ਮਾਰਦਾ ਰਹੇ।
ਕਾਮ ਆਉਣ ਵਾਲੇ ਗਾਰਡਰੇਲਜ਼ ਜੋ ਅਮਲ ਵਿੱਚ ਚੰਗੇ ਕੰਮ ਕਰਦੇ ਹਨ:
ਮਾਨੋ ਕਿ ਟੂਲ ਦਾ ਆਉਟਪੁੱਟ ਟਿਕਟਾਂ ਅਤੇ ਚੈਟ ਵਿੱਚ ਕਾਪੀ ਕੀਤਾ ਜਾਵੇਗਾ। ਪਹਿਲਾਂ ਹੀ secrets ਨੂੰ mask ਕਰੋ (ਟੋਕਨ, ਕੂਕੀਜ਼, API keys, ਅਤੇ ਲੋੜ ਪਏ ਤਾਂ ਈਮੇਲ)। ਜੋ ਤੁਸੀਂ ਸਟੋਰ ਕਰਦੇ ਹੋ ਉਸਨੂੰ ਵੀ ਸਕ੍ਰੱਬ ਕਰੋ: ਆਡਿਟ ਲੌਗਾਂ ਵਿੱਚ ਕੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਗਈ, ਇਹ ਦਰਜ ਕਰੋ, ਨਤੀਜੇ ਦਾ ਰਾ ਡੇਟਾ ਨਹੀਂ।
ਲੌਗ ਖੋਜ ਡੈਸ਼ਬੋਰਡ ਲਈ, ਪੂਰੇ ਪੇਲੋਡ ਦੀ ਥਾਂ ਛੋਟੀ ਪ੍ਰੀਵਿਊ ਅਤੇ ਗਿਣਤੀ ਵਾਪਸ ਕਰੋ। ਜੇ ਕਿਸੇ ਨੂੰ ਅਸਲ ਵਿੱਚ ਫੁੱਲ ਇਵੈਂਟ ਦੀ ਲੋੜ ਹੋਵੇ, ਤਾਂ ਇਹ ਅਲੱਗ, ਸਪਸ਼ਟ ਗੇਟ ਕੀਤੀ ਕਾਰਵਾਈ ਹੋਵੇ ਜਿਸਦੀ ਆਪਣੀ ਪੁਸ਼ਟੀ ਹੋਵੇ।
Claude Code ਨੂੰ ਇੱਕ ਤੇਜ਼ junior teammate ਵਾਂਗ ਸਮਝੋ: ਮਦਦਗਾਰ, ਪਰ ਮਨ-ਪੜਤਾਲ ਨਹੀਂ। ਤੁਹਾਡੀ ਜ਼ਿੰਮੇਵਾਰੀ ਕੰਮ ਨੂੰ ਬਾਊਂਡਡ, ਸਮੀਖਿਆਯੋਗ ਅਤੇ ਅਸਾਨੀ ਨਾਲ ਉਲਟ ਕਰਨਯੋਗ ਰੱਖਣਾ ਹੈ। ਇਹੀ ਫਰਕ ਹੈ ਉਹਨਾਂ ਟੂਲਾਂ ਵਿਚਕਾਰ ਜੋ ਸੁਰੱਖਿਅਤ ਲਗਦੇ ਹਨ ਅਤੇ ਜੋ 2 ਵਜੇ ਰਾਤ ਨੂੰ ਤੁਹਾਨੂੰ ਹੈਰਾਨ ਕਰ ਦਿੰਦੀਆਂ ਹਨ।
ਕੋਡ ਮੰਗਣ ਤੋਂ ਪਹਿਲਾਂ, ਇੱਕ ਛੋਟੀ spec ਲਿਖੋ ਜੋ ਯੂਜ਼ਰ ਐਕਸ਼ਨ ਅਤੇ ਉਮੀਦ ਕੀਤੀ ਨਤੀਜਾ ਦੱਸੇ। ਇਸਨੂੰ ਵੇਵਹਾਰ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਤ ਰੱਖੋ, ਫਰੇਮਵਰਕ ਟ੍ਰਿਵੀਆ 'ਤੇ ਨਹੀਂ। ਇੱਕ ਚੰਗੀ spec ਆਮ ਤੌਰ 'ਤੇ ਆਧਾ ਪੇਜ਼ ਵਿੱਚ ਫਿੱਟ ਹੋ ਜਾਂਦੀ ਹੈ ਅਤੇ ਇਹ ਕਵਰੇਜ ਕਰਦੀ ਹੈ:
ਉਦਾਹਰਨ ਵਜੋਂ, ਜੇ ਤੁਸੀਂ ਲੌਗ ਖੋਜ CLI ਬਣਾ ਰਹੇ ਹੋ, ਤਾਂ ਇੱਕ ਕਮਾਂਡ ਦਾ end-to-end ਨਿਰਧਾਰਤ ਕਰੋ: logs search --service api --since 30m --text \"timeout\", ਨਤੀਜਿਆਂ 'ਤੇ سخت cap ਅਤੇ ਸਪਸ਼ਟ “no access” ਸੁਨੇਹਾ ਲਗਾਓ।
ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ skeleton ਮੰਗੋ: CLI ਵਾਇਰਿੰਗ, config ਲੋਡਿੰਗ, ਅਤੇ stubbed data call। ਫਿਰ ਇਕ ਏਕ ਫੀਚਰ ਪੁਰੀ ਤਰ੍ਹਾਂ ਪੂਰਾ ਕਰੋ (ਜਿਸ ਵਿੱਚ ਵੈਲਿਡੇਸ਼ਨ ਅਤੇ errors ਵੀ ਸ਼ਾਮਲ ਹੋਣ)। ਛੋਟੇ diffs ਸਮੀਖਿਆ ਕਰਨ ਯੋਗ ਬਣਾਉਂਦੇ ਹਨ।
ਹਰ ਬਦਲਾਅ ਤੋਂ ਬਾਅਦ, ਜੋ ਬਦਲਿਆ ਅਤੇ ਕਿਉਂ ਬਦਲਿਆ ਦਾ ਸਧਾਰਨ ਭਾਸ਼ਾ ਵਿੱਚ ਵਰਨਣ ਮੰਗੋ। ਜੇ ਵਰਨਣ diff ਨਾਲ ਮਿਲਦਾ ਨਹੀਂ, ਤਾਂ ਰੁੱਕੋ ਅਤੇ ਵਿਹਾਰ ਤੇ ਸੁਰੱਖਿਆ ਸੀਮਾਵਾਂ ਨੂੰ ਦੁਬਾਰਾ ਸਪਸ਼ਟ ਕਰੋ।
ਜਲਦੀ ਟੈਸਟ ਜਨਰੇਟ ਕਰੋ, ਫੀਚਰ ਵਧਾਉਣ ਤੋਂ ਪਹਿਲਾਂ। ਘੱਟੋ-ਘੱਟ ਘੁਸ਼ਨਪਟ ਸੜਕਾਂ ਉੱਤੇ tests ਹੋਣਗੇ: khush path, ਅਵੈਧ ਇਨਪੁੱਟ (ਖ਼ਰਾਬ ਤਾਰੀਖਾਂ, ਘੱਟ-ਫਲੈਗ), permission denied, ਖਾਲੀ ਨਤੀਜੇ, ਅਤੇ rate limit ਜਾਂ ਬੈਕਏਂਡ ਟਾਈਮਆਉਟ।
CLI ਅਤੇ ਅੰਦਰੂਨੀ ਵੈੱਬ ਡੈਸ਼ਬੋਰਡ ਇਕੋ ਸਮੱਸਿਆ ਹੱਲ ਕਰ ਸਕਦੇ ਹਨ, ਪਰ ਉਹ ਵੱਖ-ਵੱਖ ਤਰੀਕਿਆਂ ਨਾਲ ਫੇਲ ਹੁੰਦੇ ਹਨ। ਉਹ ਇੰਟਰਫੇਸ ਚੁਣੋ ਜੋ ਸੁਰੱਖਿਅਤ ਰਾਹ ਨੂੰ ਸਭ ਤੋਂ ਆਸਾਨ ਰਾਹ ਬਣਾਵੇ।
CLI ਅਕਸਰ ਭੈਤਰ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਗਤੀ ਮਾਹਤਵਪੂਰਨ ਹੋਵੇ ਅਤੇ ਯੂਜ਼ਰ ਜਾਣਦਾ ਹੋ ਕਿ ਉਹ ਕੀ ਚਾਹੁੰਦਾ ਹੈ। ਇਹ read-only ਵਰਕਫਲੋ ਲਈ ਵੀ ਠੀਕ ਹੈ, ਕਿਉਂਕਿ ਤੁਸੀਂ permissions ਨੂੰ ਸੰਗਰਹਿਤ ਰੱਖ ਸਕਦੇ ਹੋ ਅਤੇ ਬਟਨ ਜੋ ਅਣਚਾਹੇ ਤੌਰ 'ਤੇ write actions ਚਲਾਉਂਦੇ ਹਨ, ਉਹ ਨਹੀਂ ਬਣਦੇ।
CLI ਤੇਜ਼ on-call ਕਵੈਰੀਆਂ, ਸਕ੍ਰਿਪਟ ਅਤੇ ਆਟੋਮੇਸ਼ਨ, ਵਿਸ਼ੇਸ਼ audit trails (ਹਰ ਕਮਾਂਡ ਸਪੈਲ ਆਉਟ ਹੁੰਦੀ ਹੈ), ਅਤੇ ਨੀਵਾਂ rollout ਈਰੋ ਵਰਗਿਆ ਕੰਮ ਵਧੀਆ ਹੈ।
ਵੈੱਬ ਡੈਸ਼ਬੋਰਡ ਉਨ੍ਹਾਂ ਮੁਕਾਮਾਂ ਲਈ ਵਧੀਆ ਹੈ ਜਿੱਥੇ ਸਾਂਝੀ ਵਿਸ਼ਨ ਅਤੇ ਮਾਰਗਦਰਸ਼ਨ ਲੋੜੀਂਦੀ ਹੋਵੇ। ਇਹ ਲੋਕਾਂ ਨੂੰ ਸੇਫ਼ ਡਿਫ਼ੌਲਟਸ ਵੱਲ ਨਿਊਡ ਕਰਕੇ ਗਲਤੀਆਂ ਘਟਾ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਸਮੇਂ ਦੀ ਰੇਂਜ, ਇਨਵਾਇਰਨਮੈਂਟ ਅਤੇ ਪ੍ਰੀ-ਅ੍ਪ੍ਰੂਵਡ ਕਾਰਵਾਈਆਂ। ਡੈਸ਼ਬੋਰਡ ਟੀਮ-ਵਿਆਪਕ ਸਥਿਤੀ ਦੇ ਦਰਸ਼ਨ, ਮਨਜ਼ੂਰੀ-ਚੈਕ ਵਾਲੀਆਂ ਕਾਰਵਾਈਆਂ ਅਤੇ ਇਸ ਬਾਰੇ built-in ਵਿਆਖਿਆ ਲਈ ਵੀ ਚੰਗਾ ਹੈ।
ਜੋ ਹੋ ਸਕੇ, ਦੋਹਾਂ ਲਈ ਇੱਕੋ ਬੈਕਏਂਡ API ਵਰਤੋ। auth, rate limits, query limits, ਅਤੇ audit logging ਉਸ API ਵਿੱਚ ਰੱਖੋ, UI ਵਿੱਚ ਨਹੀਂ। ਫਿਰ CLI ਅਤੇ ਡੈਸ਼ਬੋਰਡ ਵੱਖ-ਵੱਖ clients ਬਣ ਜਾਂਦੇ ਹਨ ਪਰ ਪਿਠਭੂਮੀ ਇੱਕੋ ਰਹਿੰਦੀ ਹੈ।
ਇਹ ਵੀ ਫੈਸਲਾ ਕਰੋ ਕਿ ਇਹ ਕਿੱਥੇ ਚਲਦਾ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਤੁਹਾਡੇ ਖਤਰੇ ਨੂੰ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਲੈਪਟੌਪ 'ਤੇ CLI ਟੋਕਨ ਲੀਕ ਕਰ ਸਕਦਾ ਹੈ। ਉਸਨੂੰ bastion host ਜਾਂ internal cluster 'ਤੇ ਚਲਾ ਕੇ exposure ਘਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਲੌਗ ਅਤੇ ਨੀਤੀ ਲਾਗੂ ਕਰਨੀ ਆਸਾਨ ਹੁੰਦੀ ਹੈ।
ਉਦਾਹਰਨ: ਲੌਗ ਖੋਜ ਲਈ, on-call ਇੰਜੀਨੀਅਰ ਲਈ CLI ਲਾਭਦਾਇਕ ਹੈ ਜੋ ਇਕ ਸਰਵਿਸ ਲਈ ਆਖਰੀ 10 ਮਿੰਟ ਖਿੱਚਦਾ ਹੈ। ਡੈਸ਼ਬੋਰਡ ਬੈਤਰ ਹੈ ਇੱਕ ਸਾਂਝੀ incident room ਲਈ ਜਿੱਥੇ ਹਰ ਕੋਈ ਇੱਕੋ ਛਾਣ-ਛਾਂਟ ਵਾਲਾ ਨਜ਼ਾਰਾ ਦੇਖਦਾ ਹੈ, ਨਾਲ ਹੀ ਇੱਕ guided “export for postmortem” ਕਾਰਵਾਈ ਜੋ permission-ਚੈੱਕ ਕੀਤੀ ਹੁੰਦੀ ਹੈ।
ਰਾਤ 02:10 ਹੈ ਅਤੇ ਓਨ-ਕਾਲ ਨੂੰ ਇੱਕ ਰਿਪੋਰਟ ਮਿਲੀ: “Pay 'ਤੇ ਕਲਿਕ ਕਰਨ 'ਤੇ ਇਕ ਗਾਹਕ ਲਈ ਕਈ ਵਾਰੀ ਫੇਲ ਹੁੰਦਾ ਹੈ।” ਸਪੋਰਟ ਕੋਲ ਇੱਕ ਸਕਰੀਨਸ਼ੌਟ ਅਤੇ request ID ਹੈ, ਪਰ ਕੋਈ ਵੀ ਇਕ ਬੇਰਹਮੀ ਨਾਲ ਲੌਗ ਸਿਸਟਮ ਵਿੱਚ admin permissions ਨਾਲ arbitrary queries ਪੇਸਟ ਨਹੀਂ ਕਰਨਾ ਚਾਹੁੰਦਾ।
ਇੱਕ ਛੋਟੀ CLI ਇਹ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਹੱਲ ਕਰ ਸਕਦੀ ਹੈ। ਚਾਬੀ ਇਹ ਹੈ ਕਿ ਇਸਨੂੰ ਸੰਕੁਚਿਤ ਰੱਖੋ: ਗਲਤੀ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਲੱਭੋ, ਸਿਰਫ਼ ਲੋੜੀਂਦੀ ਜਾਣਕਾਰੀ ਦਿਖਾਓ, ਅਤੇ ਪ੍ਰੋਡਕਸ਼ਨ ਡੇਟਾ ਵਿੱਚ ਕੋਈ ਬਦਲਾਅ ਨਾ ਕਰੋ।
ਇੱਕ ਐਸੀ ਕਮਾਂਡ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ ਜੋ ਸਮੇਂ ਦੀ ਬੰਨ੍ਹਤ ਲਾਜ਼ਮੀ ਕਰਦੀ ਹੈ ਅਤੇ ਇੱਕ ਨਿਰਧਾਰਤ ਪਛਾਣਕਰਤਾ ਲੋੜੀਂਦੀ ਹੈ। request ID ਅਤੇ ਸਮੇਂ ਦੀ ਵਿੰਡੋ ਮੰਗੋ, ਅਤੇ ਛੋਟੀ ਡਿਫ਼ੌਲਟ ਵਿੰਡੋ ਰੱਖੋ।
oncall-logs search --request-id req_123 --since 30m --until now
ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਸੰਖੇਪ ਦਿੱਖ ਦਿਓ: ਸਰਵਿਸ ਦਾ ਨਾਮ, error class, ਗਿਣਤੀ ਅਤੇ 3 ਸਿਖਰਤੀ ਮਿਲਣ ਵਾਲੇ ਸੁਨੇਹੇ। ਫਿਰ ਇੱਕ explicit expand ਕਦਮ ਦੀ ਆਗਿਆ ਦਿਓ ਜੋ ਪੂਰੀ ਲੌਗ ਲਾਈਨਾਂ ਪ੍ਰਿੰਟ ਕਰੇ, ਕੇਵਲ ਜਦੋਂ ਯੂਜ਼ਰ ਮੰਗੇ।
oncall-logs show --request-id req_123 --limit 20
ਇਹ ਦੋ-ਕਦਮੀ ਡਿਜ਼ਾਈਨ ਅਣਚਾਹੇ ਡਾਟਾ ਡੰਪ ਨੂੰ ਰੋਕਦਾ ਹੈ। ਇਹ ਸਮੀਖਿਆਆਂ ਨੂੰ ਵੀ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ ਕਿਉਂਕਿ ਟੂਲ ਦੀ ਇੱਕ ਸਪਸ਼ਟ safe-by-default ਰਾਹ ਹੈ।
ਓਨ-ਕਾਲ ਨੂੰ ਅਕਸਰ ਅਗਲੇ ਵਿਅਕਤੀ ਲਈ ਨਿਸ਼ਾਨ ਛੱਡਣਾ ਪੈਂਦਾ ਹੈ। ਡੇਟਾਬੇਸ ਵਿੱਚ ਲਿਖਣ ਦੀ ਥਾਂ, ਇੱਕ ਵਿਕਲਪੀ ਕਾਰਵਾਈ ਜੋ ਟਿਕਟ ਨੋਟ ਪੇਲੋਡ ਬਣਾਉਂਦੀ ਹੈ ਜਾਂ ਇੰਸੀਡੈਂਟ ਸਿਸਟਮ ਵਿੱਚ ਇੱਕ ਟੈਗ ਲਾਉਂਦੀ ਹੈ, ਪਰ ਗਾਹਕ ਰਿਕਾਰਡਸ ਨੂੰ ਛੂਹਦੀ ਹੀ ਨਹੀਂ, ਸ਼ਾਮਲ ਕਰੋ।
least privilege ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਣ ਲਈ, CLI ਨੂੰ read-only log token ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਟਿਕਟ ਜਾਂ ਟੈਗ ਕਾਰਵਾਈ ਲਈ ਇੱਕ ਵੱਖਰਾ, ਸਕੋਪਡ token।
ਹਰ ਚਲਾਉਣ ਲਈ ਇੱਕ ਆਡਿਟ ਰਿਕਾਰਡ ਸਟੋਰ ਕਰੋ: ਕਿਸ ਨੇ ਚਲਾਇਆ, ਕਿਹੜਾ request ID, ਕਿਹੜੇ ਸਮੇਂ ਦੀਆਂ ਰੇਂਜ ਵਰਤੀ ਗਈਆਂ, ਅਤੇ ਕੀ ਉਹਨਾਂ ਨੇ ਵੇਰਵਾ ਖੋਲ੍ਹਿਆ। ਇਹ ਆਡਿਟ ਲੌਗ ਤੁਹਾਡਾ ਸੁਰੱਖਿਆ ਜਾਲ ਹੈ ਜਦੋਂ ਕੁਝ ਗਲਤ ਹੁੰਦਾ ਹੈ ਜਾਂ ਜਦੋਂ ਪਹੁੰਚ ਦੀ ਸਮੀਖਿਆ ਦੀ ਲੋੜ ਪੈਂਦੀ ਹੈ।
ਛੋਟੇ ਅੰਦਰੂਨੀ ਟੂਲ ਆਮ ਤੌਰ 'ਤੇ “ਕੇਵਲ ਇੱਕ ਛੋਟਾ ਮਦਦਗਾਰ” ਵਜੋਂ ਸ਼ੁਰੂ ਹੁੰਦੇ ਹਨ। ਇਹੀ ਵਜ੍ਹਾ ਹੈ ਕਿ ਉਹ ਖਤਰਨਾਕ ਡਿਫ਼ੌਲਟ ਨਾਲ ਖਤਰਨਾਕ ਹੋ ਜਾਂਦੇ ਹਨ। ਭਰੋਸਾ ਖੋ ਦੇਣ ਦੀ ਸਭ ਤੋਂ ਤੇਜ਼ ਰਾਹ ਇੱਕ ਖਰਾਬ ਹਾਦਸਾ ਹੈ, ਜਿਵੇਂ ਇੱਕ ਟੂਲ ਜੋ ਡਾਟਾ ਮਿਟਾ ਦਿੰਦਾ ਜਦੋਂ ਉਹ ਕੇਵਲ ਪੜ੍ਹਨਾ ਸੀ।
ਸਭ ਤੋਂ ਅਕਸਰ ਆਉਂਦੀਆਂ ਗਲਤੀਆਂ:
ਇੱਕ ਹਕੀਕਤੀ ਨੁਕਸਾਨੀ ਸਥਿਤੀ ਇਸ ਤਰ੍ਹਾਂ ਲੱਗਦੀ ਹੈ: ਓਨ-ਕਾਲ ਇੰਜੀਨੀਅਰ ਇਕ ਲੌਗ-ਸਰਚ CLI ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਇਕ ਘਟਨਾ ਦੌਰਾਨ। ਟੂਲ ਕਿਸੇ ਵੀ regex ਨੂੰ قبول ਕਰਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਲੌਗ ਬੈਕਏਂਡ ਨੂੰ ਭੇਜ ਦਿੰਦਾ ਹੈ। ਇੱਕ ਮਹਿੰਗਾ ਪੈਟਰਨ ਘੰਟਿਆਂ ਦੇ ਉੱਚ-ਵਾਲੀਅਮ ਲੌਗ 'ਤੇ ਚੱਲ ਕੇ ਖ਼ਰਚਿਆਂ ਨੂੰ ਵਧਾ ਦਿੰਦਾ ਅਤੇ ਤਲਾਸ਼ਾਂ ਨੂੰ ਹੌਲੀ ਕਰ ਦੇਂਦਾ। ਉਸੀ ਸੈਸ਼ਨ ਵਿੱਚ, CLI debug ਆਉਟਪੁੱਟ ਵਿੱਚ ਇੱਕ API token ਪ੍ਰਿੰਟ ਕਰ ਦਿੰਦਾ ਹੈ, ਜੋ ਇੱਕ ਪਬਲਿਕ ਇੰਸੀਡੈਂਟ ਡੌਕ ਵਿੱਚ ਪੇਸਟ ਹੋ ਜਾਂਦਾ ਹੈ।
read-only ਨੂੰ ਇੱਕ ਅਸਲ ਸੁਰੱਖਿਆ ਸਰਹੱਦ ਮੰਨੋ, ਇਕ ਆਦਤ ਨਹੀਂ। ਪ੍ਰਤੀ ਮਾਹੌਲ ਵੱਖ-ਵੱਖ credentials ਅਤੇ ਹਰ ਟੂਲ ਲਈ ਵੱਖਰੇ ਸਰਵਿਸ ਅਕਾਊਂਟ ਵਰਤੋ।
ਕੁਝ ਗਾਰਡਰੇਲਜ਼ ਬਹੁਤੇ ਕੰਮ ਕਰ ਦਿੰਦੀਆਂ ਹਨ:
ਜੇ ਟੂਲ ਡਿਜ਼ਾਇਨ ਹੀ ਖਤਰਨਾਕ ਕੁਝ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਤਾਂ ਟੀਮ ਨੂੰ 3 ਵਜੇ ਅਗੇ ਰੁਕਣ 'ਤੇ ਪੂਰਾ ਧਿਆਨ ਰੱਖਣ ਦੀ ਲੋੜ ਨਹੀਂ ਰਹਿੰਦੀ।
ਆਪਣੇ ਅੰਦਰੂਨੀ ਟੂਲ ਨੂੰ ਅਸਲ ਯੂਜ਼ਰਾਂ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ (ਖ਼ਾਸ ਕਰਕੇ on-call ਲਈ) ਇਸਨੂੰ ਇੱਕ ਪ੍ਰੋਡਕਸ਼ਨ ਸਰਵਿਸ ਵਾਂਗ ਸਮਝੋ। ਪੱਕਾ ਕਰੋ ਕਿ ਪਹੁੰਚ, ਅਧਿਕਾਰ ਅਤੇ ਸੁਰੱਖਿਆ ਸੀਮਾਵਾਂ ਅਸਲ ਹਨ, ਨਾ ਕਿ ਧਾਰਨਾ।
ਪਹਿਲਾਂ ਪਹੁੰਚ ਅਤੇ ਅਧਿਕਾਰ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ। ਬਹੁਤ ਸਾਰੇ ਹਾਦਸੇ ਇਸ ਕਰਕੇ ਹੁੰਦੇ ਹਨ ਕਿਉਂਕਿ “ਅਸਥਾਈ” ਪਹੁੰਚ ਸਥਾਈ ਹੋ ਜਾਂਦੀ ਹੈ, ਜਾਂ ਕਿਉਂਕਿ ਇੱਕ ਟੂਲ ਸਮੇਂ ਦੇ ਨਾਲ-write ਪਾਵਰ ਪ੍ਰਾਪਤ ਕਰ ਲੈਂਦਾ ਹੈ।
ਫਿਰ ਗਾਰਡਰੇਲਜ਼ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ ਜੋ ਆਮ ਗਲਤੀਆਂ ਰੋਕਣ:
ਕਿਸੇ ਸੇਵਾ ਵਾਂਗ ਬਦਲਾਅ ਨਿਯੰਤਰਣ ਕਰੋ: peer review, ਖਤਰਨਾਕ ਰਾਹਾਂ ਲਈ ਕੁਝ focused tests, ਅਤੇ rollback ਯੋਜਨਾ (ਟੂਲ ਨੂੰ ਜਲਦੀ disable ਕਰਨ ਦਾ ਤਰੀਕਾ) ਰੱਖੋ।
ਪਹਿਲੀ ਰਿਲੀਜ਼ ਨੂੰ ਇੱਕ ਨਿਯੰਤ੍ਰਿਤ ਪ੍ਰਯੋਗ ਵਜੋਂ ਮੰਨੋ। ਇੱਕ ਟੀਮ, ਇੱਕ ਵਰਕਫਲੋ ਅਤੇ ਥੋੜ੍ਹੀਆਂ ਅਸਲੀ ਟਾਸਕਸ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ। ਓਨ-ਕਾਲ ਲਈ ਲੌਗ ਖੋਜ ਟੂਲ ਇੱਕ ਚੰਗਾ ਪਾਇਲਟ ਹੈ ਕਿਉਂਕਿ ਤੁਸੀਂ ਸਮਾਂ ਬਚਾਇਆ ਗਿਆ ਮਾਪ ਸਕਦੇ ਹੋ ਅਤੇ ਖਤਰਨਾਕ ਕਵੇਰੀਆਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਪਹਿਚਾਣ ਸਕਦੇ ਹੋ।
ਰੋਲਆਉਟ ਨੂੰ predictable ਰੱਖੋ: 3 ਤੋਂ 10 ਯੂਜ਼ਰਾਂ ਨਾਲ ਪਾਇਲਟ, staging ਵਿੱਚ ਸ਼ੁਰੂ ਕਰੋ, least-privilege roles ਨਾਲ ਪਹੁੰਚ gate ਕਰੋ (shared tokens ਨਹੀਂ), ਵਿਆਕਤ ਉਪਯੋਗ ਸੀਮਾਵਾਂ ਰੱਖੋ, ਅਤੇ ਹਰ ਕਮਾਂਡ ਜਾਂ ਬਟਨ ਕਲਿੱਕ ਲਈ ਆਡਿਟ ਲੌਗ ਰੱਖੋ। ਤੁਰੰਤ configuration ਅਤੇ permissions ਵਾਪਸ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਬਣਾਓ।
ਟੂਲ ਦਾ ਕਾਂਟ੍ਰੈਕਟ ਸਪਸ਼ਟ ਭਾਸ਼ਾ ਵਿੱਚ ਲਿਖੋ। ਹਰ ਕਮਾਂਡ (ਜਾਂ ਡੈਸ਼ਬੋਰਡ ਐਕਸ਼ਨ), ਆਗਿਆਤ ਪੈਰਾਮੀਟਰ, ਸਫਲਤਾ ਕੀਦੀ ਲੱਗੇਗੀ, ਅਤੇ errors ਦਾ ਕੀ ਮਤਲਬ ਹੈ — ਇਹ ਸਭ ਲਿਖੋ। ਲੋਕ ਅੰਦਰੂਨੀ ਟੂਲਾਂ 'ਤੇ ਭਰੋਸਾ ਉਸ وقت ਹੀ ਘਟਾਉਂਦੇ ਹਨ ਜਦੋਂ ਨਤੀਜੇ ਅਸਪਸ਼ਟ ਮਹਿਸੂਸ ਹੁੰਦੇ ਹਨ, ਚਾਹੇ ਕੋਡ ਸਹੀ ਹੀ ਕਿਉਂ ਨਾ ਹੋਵੇ।
ਇੱਕ feedback loop ਜੋ ਤੁਸੀਂ ਹਕੀਕਤ ਵਿੱਚ ਜਾਂਚਦੇ ਹੋ ਸ਼ਾਮਲ ਕਰੋ। ਵੇਖੋ ਕਿਹੜੀਆਂ queries ਧੀਮੀਆਂ ਹਨ, ਕਿਹੜੇ ਫਿਲਟਰ ਆਮ ਹਨ, ਅਤੇ ਕਿਹੜੀਆਂ ਓਪਸ਼ਨਾਂ ਲੋਕਾਂ ਨੂੰ ਗਲਤ ਸਮਝ ਆ ਰਹੀਆਂ ਹਨ। ਜਦੋਂ ਤੁਸੀਂ ਵਾਰ-ਵਾਰ workaround ਵੇਖਦੇ ਹੋ, ਤਾਂ ਇਸਦਾ ਅਰਥ ਹੈ ਕਿ ਇੰਟਰਫੇਸ ਨੂੰ ਇੱਕ ਸੇਫ਼ ਡਿਫ਼ੌਲਟ ਲੋੜ ਹੈ।
ਰਖ-ਰਖਾਅ ਲਈ ਇੱਕ ਮਾਲਿਕ ਅਤੇ ਸਮਾਂ-ਸੂਚੀ ਨਿਰਧਾਰਤ ਕਰੋ। ਫੈਸਲਾ ਕਰੋ ਕਿ dependencies ਨੂੰ ਕੌਣ ਅਪਡੇਟ ਕਰੇਗਾ, ਕੌਣ credentials rotate ਕਰੇਗਾ, ਅਤੇ ਜੇ ਟੂਲ ਘਟਨਾ ਦੌਰਾਨ ਟੁੱਟੇ ਤਾਂ ਕੌਣ page ਹੋਵੇਗਾ। AI-generated ਬਦਲਾਵਾਂ ਨੂੰ ਉਸੇ ਤਰ੍ਹਾਂ ਸਮੀਖਿਆ ਕਰੋ ਜਿਵੇਂ ਤੁਸੀਂ ਕਿਸੇ ਪ੍ਰੋਡਕਸ਼ਨ ਸੇਵਾ ਲਈ ਕਰਦੇ ਹੋ: permission diffs, query safety, ਅਤੇ logging ਦੇਖੋ।
ਜੇ ਤੁਹਾਡੀ ਟੀਮ chat-driven iteration ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੀ ਹੈ, ਤਾਂ Koder.ai (koder.ai) ਛੋਟੀ CLI ਜਾਂ ਡੈਸ਼ਬੋਰਡ ਨੂੰ ਇੱਕ ਗੱਲਬਾਤ ਤੋਂ ਜਨਰੇਟ ਕਰਨ, ਜਾਣੇ-ਪਛਾਣ ਵਾਲੇ states ਦੇ snapshot ਰੱਖਣ ਅਤੇ ਜਦੋਂ ਕੋਈ ਬਦਲਾਅ ਖਤਰਾ ਲਿਆਂਦਾ ਹੈ ਤੇਜ਼ੀ ਨਾਲ rollback ਕਰਨ ਲਈ ਇੱਕ ਪ੍ਰਯੋਗੀ ਤਰੀਕਾ ਹੋ ਸਕਦਾ ਹੈ।