SQL ਵਿੱਚ ਉਪਭੋਗਤਾਵਾਂ ਅਤੇ ਭੂਮਿਕਾਵਾਂ ਲਈ ਪਹੁੰਚ ਨਿਯੰਤਰਣ

ਅਣਅਧਿਕਾਰਤ ਬਾਹਰੋਂਦਰਾਂ ਅਤੇ ਉਨ੍ਹਾਂ ਦੇ ਅਧਿਕਾਰ ਤੋਂ ਵੱਧ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਵਾਲੇ ਅੰਦਰੂਨੀ ਲੋਕਾਂ ਦੀਆਂ ਅੱਖਾਂ ਦੀਆਂ ਅੱਖਾਂ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਬਿਜਨਸ ਡਾਟਾ ਦੇ ਉਨ੍ਹਾਂ ਦੇ ਗੀਗਾਬਾਈਟ ਦੀ ਸੁਰੱਖਿਆ ਲਈ ਡਾਟਾਬੇਸ ਪ੍ਰਬੰਧਕਾਂ ਲਈ ਸੁਰੱਖਿਆ ਸਭ ਤੋਂ ਉਪਰ ਹੈ. ਸਾਰੇ ਰਿਲੇਸ਼ਨਲ ਡਾਟਾਬੇਸ ਮੈਨੇਜਮੈਂਟ ਸਿਸਟਮ ਇਨ੍ਹਾਂ ਖਤਰਿਆਂ ਨੂੰ ਘੱਟ ਤੋਂ ਘੱਟ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤੇ ਗਏ ਅੰਦਰੂਨੀ ਸੁਰੱਖਿਆ ਤੰਤਰ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ. ਇਹ ਓਰੈਕਲ ਅਤੇ ਮਾਈਕ੍ਰੋਸਾਫਟ SQL ਸਰਵਰ ਵਰਗੇ ਅਡਵਾਂਸਡ ਰਿਲੇਸ਼ਨਲ ਡੈਟਾਬੇਸ ਦੁਆਰਾ ਸਮਰਥਿਤ ਜਟਿਲ ਯੂਜ਼ਰ / ਰੋਲ ਢਾਂਚੇ ਨੂੰ ਮਾਈਕਰੋਸਾਫਟ ਐਕਸਿਸ ਦੁਆਰਾ ਪੇਸ਼ ਕੀਤੇ ਸਧਾਰਨ ਪਾਸਵਰਡ ਸੁਰੱਖਿਆ ਤੋਂ ਹਨ. ਇਹ ਲੇਖ ਸਟਾਕਟ੍ਰਡ ਕੁਇਰੀ ਲੈਂਗੂਏਜ (ਜਾਂ SQL ) ਨੂੰ ਲਾਗੂ ਕਰਨ ਵਾਲੇ ਸਾਰੇ ਡਾਟਾਬੇਸ ਵਿੱਚ ਸਾਂਝੇ ਸੁਰੱਖਿਆ ਪ੍ਰਣਾਲੀਆਂ 'ਤੇ ਕੇਂਦਰਤ ਹੈ. ਇਕੱਠੇ ਮਿਲ ਕੇ, ਅਸੀਂ ਡੇਟਾ ਐਕਸੈਸ ਨਿਯੰਤਰਣ ਨੂੰ ਮਜ਼ਬੂਤ ​​ਕਰਨ ਅਤੇ ਤੁਹਾਡੇ ਡੇਟਾ ਦੀ ਸੁਰੱਖਿਆ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਤੋਂ ਤੁਰਕੇ ਚੱਲਾਂਗੇ.

ਯੂਜ਼ਰ

ਸਰਵਰ-ਆਧਾਰਿਤ ਡਾਟਾਬੇਸ ਸਾਰੇ ਉਪਭੋਗਤਾ ਸੰਕਲਪ ਨੂੰ ਕੰਪਿਊਟਰ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮਾਂ ਵਿੱਚ ਵਰਤੇ ਜਾਂਦੇ ਹਨ. ਜੇ ਤੁਸੀਂ ਮਾਈਕਰੋਸਾਫਟ ਵਿੰਡੋਜ਼ ਐਨਟੀ ਅਤੇ ਵਿੰਡੋਜ਼ 2000 ਵਿੱਚ ਲੱਭੇ ਗਏ ਉਪਭੋਗਤਾ / ਸਮੂਹ ਦੇ ਵਰਜਨਾਂ ਤੋਂ ਜਾਣੂ ਹੋ ਤਾਂ ਤੁਸੀਂ ਦੇਖੋਗੇ ਕਿ SQL ਸਰਵਰ ਅਤੇ ਓਰੇਕਲ ਦੁਆਰਾ ਸਹਿਯੋਗੀ ਉਪਭੋਗਤਾ / ਭੂਮਿਕਾ ਸਮੂਹ ਬਹੁਤ ਸਮਾਨ ਹਨ.

ਇਹ ਬਹੁਤ ਹੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਤੁਸੀਂ ਹਰੇਕ ਵਿਅਕਤੀ ਲਈ ਵੱਖਰੇ ਡੇਟਾਬੇਸ ਉਪਭੋਗਤਾ ਖਾਤੇ ਬਣਾਓ ਜੋ ਤੁਹਾਡੇ ਡਾਟਾਬੇਸ ਨੂੰ ਵਰਤ ਰਿਹਾ ਹੋਵੇ. ਇਹ ਉਪਯੋਗਕਰਤਾ ਦੇ ਵਿਚਕਾਰ ਅਕਾਉਂਟ ਸਾਂਝੇ ਕਰਨਾ ਸੰਭਵ ਹੈ ਜਾਂ ਹਰੇਕ ਉਪਭੋਗਤਾ ਲਈ ਸਿਰਫ਼ ਇੱਕ ਉਪਭੋਗਤਾ ਖਾਤਾ ਵਰਤਣਾ ਹੈ ਜੋ ਤੁਹਾਡੇ ਡੇਟਾਬੇਸ ਨੂੰ ਐਕਸੈਸ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ, ਪਰ ਮੈਂ ਇਸ ਅਭਿਆਸ ਨੂੰ ਦੋ ਕਾਰਨਾਂ ਕਰਕੇ ਨਿਰਾਧਾਰਿਤ ਕਰਦਾ ਹਾਂ. ਸਭ ਤੋਂ ਪਹਿਲਾਂ, ਇਹ ਵਿਅਕਤੀਗਤ ਜਵਾਬਦੇਹੀ ਨੂੰ ਖ਼ਤਮ ਕਰੇਗਾ - ਜੇ ਇੱਕ ਉਪਭੋਗਤਾ ਤੁਹਾਡੇ ਡੇਟਾਬੇਸ ਵਿੱਚ ਬਦਲਾਵ ਕਰਦਾ ਹੈ (ਆਉ ਆਪਣੇ ਆਪ ਨੂੰ 5,000 ਡਾਲਰ ਵਧਾਉਣ ਦੇ ਕੇ ਕਹੋ), ਤੁਸੀਂ ਆਡਿਟ ਲੌਗ ਦੀ ਵਰਤੋਂ ਰਾਹੀਂ ਕਿਸੇ ਖਾਸ ਵਿਅਕਤੀ ਨੂੰ ਇਸ ਦਾ ਪਤਾ ਲਗਾਉਣ ਦੇ ਯੋਗ ਨਹੀਂ ਹੋਵੋਗੇ. ਇਸਦੇ ਇਲਾਵਾ, ਜੇ ਕੋਈ ਖਾਸ ਉਪਭੋਗਤਾ ਤੁਹਾਡੇ ਸੰਗਠਨ ਨੂੰ ਛੱਡ ਦਿੰਦਾ ਹੈ ਅਤੇ ਤੁਸੀਂ ਉਸ ਤੋਂ ਉਸਦੀ ਪਹੁੰਚ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਉਸ ਪਾਸਵਰਡ ਨੂੰ ਬਦਲਣ ਲਈ ਮਜ਼ਬੂਰ ਕੀਤਾ ਜਾਵੇਗਾ ਜੋ ਸਾਰੇ ਉਪਭੋਗਤਾਵਾਂ 'ਤੇ ਭਰੋਸਾ ਕਰਦੇ ਹਨ.

ਉਪਭੋਗਤਾ ਖਾਤਿਆਂ ਨੂੰ ਬਣਾਉਣ ਦੇ ਤਰੀਕਿਆਂ ਨੂੰ ਪਲੇਟਫਾਰਮ ਤੋਂ ਲੈ ਕੇ ਪਲੇਟਫਾਰਮ ਤੱਕ ਵੱਖ-ਵੱਖ ਹੁੰਦਾ ਹੈ ਅਤੇ ਤੁਹਾਨੂੰ ਸਹੀ ਪ੍ਰਕਿਰਿਆ ਲਈ ਆਪਣੇ ਡੀਬੀਐਮ-ਵਿਸ਼ੇਸ਼ ਦਸਤਾਵੇਜ਼ਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਪਵੇਗੀ. ਮਾਈਕਰੋਸਾਫਟ ਐਸਕਿਊਐਲ ਸਰਵਰ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਸਪਾਡੰਡਰ ਸਟੋਰ ਕੀਤੀ ਪ੍ਰਕਿਰਿਆ ਦੀ ਵਰਤੋਂ ਦੀ ਜਾਂਚ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ. ਓਰੇਕਲ ਡਾਟਾਬੇਸ ਪ੍ਰਸ਼ਾਸਕ CREATE USER ਕਮਾਂਡ ਨੂੰ ਲਾਭਦਾਇਕ ਸਾਬਤ ਕਰਨਗੇ. ਤੁਸੀਂ ਵੀ ਵਿਕਲਪਿਕ ਪ੍ਰਮਾਣਿਕਤਾ ਸਕੀਮਾਂ ਦੀ ਪੜਤਾਲ ਕਰਨਾ ਚਾਹ ਸਕਦੇ ਹੋ. ਉਦਾਹਰਣ ਲਈ, ਮਾਈਕਰੋਸਾਫਟ SQL ਸਰਵਰ, ਵਿੰਡੋਜ਼ ਐਨਟੀ ਇੰਟੀਗਰੇਟਡ ਸਕਿਊਰਿਟੀ ਦੀ ਵਰਤੋਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ. ਇਸ ਸਕੀਮ ਦੇ ਤਹਿਤ, ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਆਪਣੇ ਵਿੰਡੋਜ਼ ਐਨਟੀ ਉਪਭੋਗਤਾ ਖਾਤਿਆਂ ਦੇ ਡੇਟਾਬੇਸ ਤੋਂ ਪਛਾਣਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਡੇਟਾਬੇਸ ਨੂੰ ਐਕਸੈਸ ਕਰਨ ਲਈ ਇੱਕ ਵਾਧੂ ਯੂਜ਼ਰ ID ਅਤੇ ਪਾਸਵਰਡ ਦਰਜ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ ਹੈ. ਇਹ ਪਹੁੰਚ ਡਾਟਾਬੇਸ ਪ੍ਰਸ਼ਾਸਕਾਂ ਵਿਚ ਬੇਹੱਦ ਪ੍ਰਚਲਿਤ ਹੈ ਕਿਉਂਕਿ ਇਹ ਖਾਤਾ ਪ੍ਰਬੰਧਨ ਦਾ ਬੋਝ ਨੈਟਵਰਕ ਪ੍ਰਸ਼ਾਸਨ ਸਟਾਫ ਨੂੰ ਬਦਲਦਾ ਹੈ ਅਤੇ ਇਹ ਅੰਤ ਉਪਭੋਗਤਾ ਨੂੰ ਇੱਕ ਸਿੰਗਲ ਸਾਈਨ-ਓਨ ਦੀ ਸੁਵਿਧਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ.

ਰੋਲ

ਜੇ ਤੁਸੀਂ ਬਹੁਤ ਘੱਟ ਉਪਭੋਗਤਾਵਾਂ ਦੇ ਨਾਲ ਵਾਤਾਵਰਣ ਵਿੱਚ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਸ਼ਾਇਦ ਲੱਭੋਗੇ ਕਿ ਉਪਭੋਗਤਾ ਖਾਤੇ ਬਣਾਉਣਾ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸਿੱਧੇ ਅਧਿਕਾਰ ਸੌਂਪਣਾ ਤੁਹਾਡੀਆਂ ਜ਼ਰੂਰਤਾਂ ਲਈ ਕਾਫੀ ਹੈ. ਹਾਲਾਂਕਿ, ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਵੱਡੀ ਗਿਣਤੀ ਵਿੱਚ ਉਪਭੋਗਤਾ ਹਨ, ਤਾਂ ਤੁਸੀਂ ਖਾਤਿਆਂ ਨੂੰ ਸਾਂਭਣ ਅਤੇ ਸਹੀ ਅਨੁਮਤੀਆਂ ਦੇ ਬੋਝ ਤੋਂ ਜ਼ਿਆਦਾ ਪ੍ਰਭਾਵਿਤ ਹੋਵੋਗੇ. ਇਸ ਬੋਝ ਨੂੰ ਘੱਟ ਕਰਨ ਲਈ, ਰਿਲੇਸ਼ਨਲ ਡੈਟਾਬੇਸਾਂ ਰੋਲ ਦੇ ਵਿਚਾਰਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦੀਆਂ ਹਨ. ਡਾਟਾਬੇਸ ਦੀਆਂ ਰੋਲ ਵਿੰਡੋਜ਼ ਐਨ.ਟੀ. ਯੂਜ਼ਰ ਅਕਾਉਂਟ ਨੂੰ ਰੋਲ (ਰਾਂ) ਨੂੰ ਸੌਂਪਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਅਧਿਕਾਰਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਉਪਭੋਗਤਾ ਖਾਂਿਆਂ ਦੀ ਬਜਾਏ ਪੂਰੀ ਭੂਮਿਕਾ ਨਿਭਾਉਂਦਾ ਹੈ. ਉਦਾਹਰਣ ਲਈ, ਅਸੀਂ ਇੱਕ ਡੀ ਬੀਏ ਦੀ ਭੂਮਿਕਾ ਬਣਾ ਸਕਦੇ ਹਾਂ ਅਤੇ ਫਿਰ ਇਸ ਭੂਮਿਕਾ ਲਈ ਸਾਡੇ ਪ੍ਰਬੰਧਕੀ ਸਟਾਫ ਦੇ ਉਪਭੋਗਤਾ ਖਾਤਿਆਂ ਨੂੰ ਜੋੜ ਸਕਦੇ ਹਾਂ. ਇਕ ਵਾਰ ਜਦੋਂ ਅਸੀਂ ਇਹ ਕਰ ਲੈਂਦੇ ਹਾਂ, ਤਾਂ ਅਸੀਂ ਭੂਮਿਕਾ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣ ਨਾਲ ਸਾਰੇ ਮੌਜੂਦ (ਅਤੇ ਭਵਿੱਖ ਦੇ) ਪ੍ਰਬੰਧਕਾਂ ਨੂੰ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਅਨੁਮਤੀ ਦੇ ਸਕਦੇ ਹਾਂ. ਇਕ ਵਾਰ ਫਿਰ, ਰੋਲ ਬਣਾਉਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਪਲੇਟਫਾਰਮ ਤੋਂ ਪਲੇਟਫਾਰਮ ਲਈ ਵੱਖਰੀ ਹੁੰਦੀ ਹੈ. ਐਮਐਸ SQL ਸਰਵਰ ਪ੍ਰਸ਼ਾਸ਼ਕ ਨੂੰ sp_addrol ਸਟੋਰ ਕੀਤੀ ਪ੍ਰਕਿਰਿਆ ਦੀ ਪੜਤਾਲ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਜਦੋਂ ਕਿ ਓਰੇਕਲ DBAs ਨੂੰ CREATE ROLE syntax ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ.

ਅਧਿਕਾਰ ਦੇਣੇ

ਹੁਣ ਜਦੋਂ ਅਸੀਂ ਉਪਭੋਗਤਾ ਨੂੰ ਸਾਡੇ ਡੇਟਾਬੇਸ ਵਿੱਚ ਜੋੜਿਆ ਹੈ, ਤਾਂ ਸਮਾਂ ਆ ਗਿਆ ਹੈ ਕਿ ਅਧਿਕਾਰਾਂ ਨੂੰ ਜੋੜ ਕੇ ਸੁਰੱਖਿਆ ਨੂੰ ਮਜ਼ਬੂਤ ​​ਕੀਤਾ ਜਾਵੇ. ਸਾਡਾ ਪਹਿਲਾ ਕਦਮ ਸਾਡੇ ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਢੁਕਵੇਂ ਡੇਟਾਬੇਸ ਅਨੁਮਤੀਆਂ ਨੂੰ ਪ੍ਰਦਾਨ ਕਰਨਾ ਹੋਵੇਗਾ. ਅਸੀਂ ਇਸ ਨੂੰ SQL ਗਰਾਂਟ ਸਟੇਟਮੈਂਟ ਦੇ ਇਸਤੇਮਾਲ ਰਾਹੀਂ ਪੂਰਾ ਕਰਾਂਗੇ.

ਇੱਥੇ ਬਿਆਨ ਦਾ ਸੰਟੈਕਸ ਹੈ:

ਗ੍ਰਾਂਟ <ਅਨੁਮਤੀਆਂ>
[ਔਨ <ਸਾਰਣੀ>]
TO
[ਗਰਾਂਟ ਵਿਕਲਪ ਨਾਲ]

ਹੁਣ, ਆਓ ਇਸ ਸਟੇਟਮੈਂਟ ਲਾਈਨ-ਬਾਈ-ਲਾਈਨ ਤੇ ਇੱਕ ਨਜ਼ਰ ਮਾਰੀਏ. ਪਹਿਲੀ ਲਾਈਨ, GRANT , ਸਾਨੂੰ ਅਨੁਮਤੀ ਦੇ ਰਹੇ ਵਿਸ਼ੇਸ਼ ਟੇਬਲ ਅਧਿਕਾਰਾਂ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਨ ਦੀ ਅਨੁਮਤੀ ਦਿੰਦਾ ਹੈ. ਇਹ ਜਾਂ ਤਾਂ ਸਾਰਣੀ-ਪੱਧਰ ਦੇ ਅਧਿਕਾਰ ਹੋ ਸਕਦੇ ਹਨ (ਜਿਵੇਂ ਕਿ SELECT, INSERT, UPDATE ਅਤੇ DELETE) ਜਾਂ ਡੇਟਾਬੇਸ ਅਧਿਕਾਰ (ਜਿਵੇਂ ਕਿ ਟੇਬਲ, ਅਲਟਰ ਡਾਟਾਬੇਸ ਅਤੇ ਗ੍ਰਾਂਟ ਬਣਾਉਣਾ). ਇੱਕ ਤੋਂ ਵੱਧ ਮਨਜ਼ੂਰੀ ਇੱਕ ਇੱਕਲੇ ਗਰੰਟੀ ਬਿਆਨ ਵਿੱਚ ਪ੍ਰਦਾਨ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ, ਲੇਕਿਨ ਟੇਬਲ ਲੇਵਲ ਅਨੁਮਤੀਆਂ ਅਤੇ ਡਾਟਾਬੇਸ-ਪੱਧਰ ਅਨੁਮਤੀ ਇੱਕ ਸਿੰਗਲ ਸਟੇਟਮੈਂਟ ਵਿੱਚ ਨਹੀਂ ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ.

ਦੂਜੀ ਲਾਈਨ, ON

, ਟੇਬਲ-ਪੱਧਰ ਅਨੁਮਤੀਆਂ ਲਈ ਪ੍ਰਭਾਸ਼ਿਤ ਸਾਰਣੀ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ. ਜੇਕਰ ਅਸੀਂ ਡਾਟਾਬੇਸ-ਪੱਧਰ ਦੇ ਅਨੁਮਤੀਆਂ ਗ੍ਰਹਿਣ ਕਰ ਰਹੇ ਹਾਂ ਤਾਂ ਇਹ ਲਾਈਨ ਛੱਡ ਦਿੱਤੀ ਗਈ ਹੈ. ਤੀਜੀ ਲਾਈਨ ਉਸ ਉਪਭੋਗਤਾ ਜਾਂ ਭੂਮਿਕਾ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ ਜਿਸ ਦੀ ਇਜਾਜ਼ਤ ਦਿੱਤੀ ਜਾ ਰਹੀ ਹੈ

ਅੰਤ ਵਿੱਚ, ਚੌਥੀ ਲਾਈਨ, ਗਰੰਟੀ ਵਿਕਲਪ ਨਾਲ, ਚੋਣਵੀਂ ਹੈ. ਜੇ ਇਹ ਲਾਈਨ ਸਟੇਟਮੈਂਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤੀ ਗਈ ਹੈ, ਪ੍ਰਭਾਸ਼ਿਤ ਉਪਭੋਗਤਾ ਨੂੰ ਵੀ ਦੂਜੇ ਉਪਯੋਗਕਰਤਾਵਾਂ ਲਈ ਇਹੋ ਅਨੁਮਤੀਆਂ ਦੇਣ ਦੀ ਅਨੁਮਤੀ ਹੈ. ਨੋਟ ਕਰੋ ਕਿ ਜਦੋਂ GRANT OPTION ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਉਦੋਂ ਜਦੋਂ ਅਨੁਮਤੀਆਂ ਇੱਕ ਭੂਮਿਕਾ ਨੂੰ ਨਿਰਧਾਰਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ.

ਉਦਾਹਰਨਾਂ

ਆਓ ਕੁਝ ਉਦਾਹਰਣਾਂ ਦੇਖੀਏ. ਸਾਡੀ ਪਹਿਲੀ ਸਥਿਤੀ ਵਿੱਚ, ਅਸੀਂ ਹਾਲ ਹੀ ਵਿੱਚ 42 ਡਾਟਾ ਐਂਟਰੀ ਓਪਰੇਟਰਾਂ ਦੇ ਇੱਕ ਸਮੂਹ ਨੂੰ ਕਿਰਾਏ 'ਤੇ ਰੱਖਿਆ ਹੈ ਜੋ ਗ੍ਰਾਹਕ ਦੇ ਰਿਕਾਰਡ ਨੂੰ ਜੋੜਨਾ ਅਤੇ ਰੱਖੇਗਾ. ਉਹਨਾਂ ਨੂੰ ਗਾਹਕਾਂ ਦੀ ਸਾਰਣੀ ਵਿੱਚ ਜਾਣਕਾਰੀ ਤੱਕ ਪਹੁੰਚ ਕਰਨ, ਇਸ ਜਾਣਕਾਰੀ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਅਤੇ ਸਾਰਣੀ ਵਿੱਚ ਨਵੇਂ ਰਿਕਾਰਡ ਸ਼ਾਮਿਲ ਕਰਨ ਦੇ ਯੋਗ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ. ਉਹਨਾਂ ਨੂੰ ਡਾਟਾਬੇਸ ਤੋਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਰਿਕਾਰਡ ਕਰਨ ਦੇ ਯੋਗ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ. ਪਹਿਲਾਂ, ਸਾਨੂੰ ਹਰੇਕ ਆਪਰੇਟਰ ਲਈ ਉਪਭੋਗਤਾ ਖਾਤੇ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਫਿਰ ਉਹਨਾਂ ਨੂੰ ਨਵੀਂ ਭੂਮਿਕਾ, ਡਾਟਾ ਐਂਟਰੀ ਵਿੱਚ ਜੋੜਨਾ ਚਾਹੀਦਾ ਹੈ. ਅਗਲਾ, ਸਾਨੂੰ ਉਹਨਾਂ ਨੂੰ ਯੋਗ ਅਨੁਮਤੀਆਂ ਦੇਣ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ SQL ਸਟੇਟਮੈਂਟ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ:

ਦੀ ਚੋਣ ਕਰੋ, ਸ਼ਾਮਿਲ ਕਰੋ, ਅੱਪਡੇਟ ਕਰੋ
ਗਾਹਕ ਤੇ
ਡਾਟੇਐਂਟਰੀ ਲਈ

ਅਤੇ ਇਹ ਹੈ ਕਿ ਇਸ ਨੂੰ ਕਰਨ ਲਈ ਵੀ ਹੈ! ਆਉ ਹੁਣ ਇੱਕ ਕੇਸ ਦਾ ਮੁਲਾਂਕਣ ਕਰੀਏ ਜਿੱਥੇ ਅਸੀਂ ਡਾਟਾਬੇਸ ਪੱਧਰ ਦੇ ਅਨੁਮਤੀਆਂ ਨਿਰਧਾਰਤ ਕਰ ਰਹੇ ਹਾਂ. ਅਸੀਂ ਆਪਣੇ ਡਾਟਾਬੇਸ ਨੂੰ ਨਵੇਂ ਟੇਬਲ ਨੂੰ ਜੋੜਨ ਲਈ ਡੀਬੀਏ ਦੀ ਭੂਮਿਕਾ ਦੇ ਮੈਂਬਰਾਂ ਨੂੰ ਇਜਾਜ਼ਤ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹਾਂ. ਇਸ ਤੋਂ ਇਲਾਵਾ, ਅਸੀਂ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਦੂਜੇ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਵੀ ਅਜਿਹਾ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣ ਦੇ ਯੋਗ ਹੋਵੋ. ਇੱਥੇ SQL ਕਥਨ ਹੈ:

ਗ੍ਰਾਂਟ ਟੇਬਲ ਬਣਾਉ
ਡੀ ਬੀ ਏ ਵੱਲ
ਗਰੰਟੀ ਵਿਕਲਪ ਦੇ ਨਾਲ

ਧਿਆਨ ਦਿਓ ਕਿ ਅਸੀਂ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨ ਲਈ ਪ੍ਰਦਾਨ ਕਰਣ ਦੇ ਨਾਲ ਨਾਲ ਓਪਟੀ ਲਾਈਨਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਹੈ ਕਿ ਸਾਡੇ DBA ਦੂਜੇ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਇਹ ਅਨੁਮਤੀ ਦੇ ਸਕਦੇ ਹਨ.

ਅਧਿਕਾਰ ਹਟਾਉਣੇ

ਇੱਕ ਵਾਰ ਸਾਡੇ ਦੁਆਰਾ ਅਨੁਮਤੀਆਂ ਦੀ ਪ੍ਰਵਾਨਗੀ ਮਿਲਣ ਤੋਂ ਬਾਅਦ, ਅਕਸਰ ਇਹ ਸਾਬਤ ਹੁੰਦਾ ਹੈ ਕਿ ਉਹਨਾਂ ਨੂੰ ਬਾਅਦ ਦੀ ਤਾਰੀਖ਼ ਨੂੰ ਰੱਦ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਖੁਸ਼ਕਿਸਮਤੀ ਨਾਲ, SQL ਨੇ ਪਹਿਲਾਂ ਦਿੱਤੀ ਅਨੁਮਤੀਆਂ ਨੂੰ ਹਟਾਉਣ ਲਈ REVOKE ਦੇ ਹੁਕਮ ਪ੍ਰਦਾਨ ਕੀਤੇ ਹਨ. ਇੱਥੇ ਸੰਟੈਕਸ ਹੈ:

REVOKE [ਅਨੁਮਤੀ ਲਈ] ਅਨੁਮਤੀ>
ON <ਸਾਰਣੀ>
ਤੋਂ

ਤੁਸੀਂ ਵੇਖੋਗੇ ਕਿ ਇਸ ਕਮਾਂਡ ਦਾ ਸਿੰਟੈਕਸ ਗਰੰਟ ਕਮਾਂਡ ਦੇ ਸਮਾਨ ਹੈ. ਇਕੋ ਫਰਕ ਇਹ ਹੈ ਕਿ GRANT OPTION ਨਾਲ ਕਮਾਂਡ ਦੇ ਅੰਤ ਵਿੱਚ REVOKE ਕਮਾਂਡ ਲਾਈਨ ਤੇ ਨਿਰਦਿਸ਼ਟ ਹੈ. ਇੱਕ ਉਦਾਹਰਣ ਦੇ ਤੌਰ ਤੇ, ਆਓ ਅਸੀਂ ਇਹ ਸੋਚੀਏ ਕਿ ਅਸੀਂ ਗਾਹਕ ਦੇ ਡੇਟਾਬੇਸ ਤੋਂ ਰਿਕਾਰਡ ਹਟਾਉਣ ਲਈ ਮਰੀ ਦੀ ਪਿਛਲੀ ਆਗਿਆ ਦਿੱਤੀ ਮਨਸੂਖ ਨੂੰ ਰੱਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ. ਅਸੀਂ ਹੇਠ ਲਿਖੀ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਾਂਗੇ:

REVOKE DELETE
ਗਾਹਕ ਤੇ
ਮੈਰੀ ਤੋਂ

ਅਤੇ ਇਹ ਹੈ ਕਿ ਇਸ ਨੂੰ ਕਰਨ ਲਈ ਵੀ ਹੈ! ਮਾਈਕਰੋਸਾਫਟ ਐਸਕਿਊਐਲ ਸਰਵਰ ਦੁਆਰਾ ਇਕ ਹੋਰ ਸਹਾਇਕ ਪ੍ਰਣਾਲੀ ਦਾ ਸਮਰਥਨ ਕੀਤਾ ਹੈ ਜੋ ਕਿ ਡੀਐਨਆਈ (DENY) ਕਮਾਂਡ ਦਾ ਜ਼ਿਕਰ ਹੈ. ਇਹ ਕਮਾਂਡ ਕਿਸੇ ਉਪਭੋਗਤਾ ਦੀ ਆਗਿਆ ਤੋਂ ਸਪਸ਼ਟ ਤੌਰ ਤੇ ਅਸਵੀਕਾਰ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ ਕਿ ਉਹ ਮੌਜੂਦਾ ਜਾਂ ਭਵਿੱਖੀ ਰੋਲ ਮੈਂਬਰਸ਼ਿਪ ਦੁਆਰਾ ਹੋ ਸਕਦਾ ਹੈ. ਇੱਥੇ ਸੰਟੈਕਸ ਹੈ:

DENY <ਇਜਾਜ਼ਤ>
ON <ਸਾਰਣੀ>
<ਉਪਭੋਗੀ / ਰੋਲ

ਉਦਾਹਰਨਾਂ

ਸਾਡੀ ਪਿਛਲੀ ਉਦਾਹਰਨ 'ਤੇ ਵਾਪਸ ਆਓ, ਆਓ ਇਹ ਕਹੇਂ ਕਰੀਏ ਕਿ ਮੈਰੀ ਵੀ ਮੈਨੇਜਰ ਦੀ ਭੂਮਿਕਾ ਦਾ ਇੱਕ ਮੈਂਬਰ ਸੀ, ਜਿਸ ਕੋਲ ਗਾਹਕ ਸਾਰਣੀ ਤੱਕ ਪਹੁੰਚ ਸੀ. ਪਿਛਲਾ REVOKE ਬਿਆਨ ਸਾਰਣੀ ਵਿੱਚ ਉਸਦੀ ਪਹੁੰਚ ਤੋਂ ਇਨਕਾਰ ਕਰਨ ਲਈ ਕਾਫੀ ਨਹੀਂ ਹੋਵੇਗਾ. ਇਹ ਉਸਦੇ ਉਪਭੋਗਤਾ ਖਾਤੇ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਂਦੇ ਗ੍ਰੁਰਾਂਟ ਸਟੇਟਮੈਂਟ ਦੁਆਰਾ ਮਨਜ਼ੂਰ ਆਗਿਆ ਨੂੰ ਹਟਾ ਦੇਵੇਗੀ, ਪਰ ਪ੍ਰਬੰਧਕਾਂ ਦੀ ਭੂਮਿਕਾ ਵਿੱਚ ਉਸਦੀ ਮੈਂਬਰਸ਼ਿਪ ਦੇ ਰਾਹੀਂ ਪ੍ਰਾਪਤ ਕੀਤੀ ਅਨੁਮਤੀਆਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਨਹੀਂ ਕਰੇਗਾ. ਹਾਲਾਂਕਿ, ਜੇ ਅਸੀਂ ਕਿਸੇ ਡੈਨਿ ਬਿਆਨ ਦਾ ਇਸਤੇਮਾਲ ਕਰਦੇ ਹਾਂ ਤਾਂ ਇਹ ਉਸ ਦੀ ਅਨੁਮਤੀ ਦੇ ਵਿਰਾਸਤ ਨੂੰ ਬਲੌਕ ਕਰ ਦੇਵੇਗਾ. ਇੱਥੇ ਕਮਾਂਡ ਹੈ:

ਡੈਨਿਅਲ ਮਿਟਾਓ
ਗਾਹਕ ਤੇ
ਮਰਿਯਮ ਲਈ

DENY ਕਮਾਂਡ ਅਸਲ ਵਿੱਚ ਡਾਟਾਬੇਸ ਪਹੁੰਚ ਨਿਯੰਤਰਣ ਵਿੱਚ "ਨਕਾਰਾਤਮਕ ਮਨਜ਼ੂਰੀ" ਤਿਆਰ ਕਰਦੀ ਹੈ. ਜੇ ਅਸੀਂ ਬਾਅਦ ਵਿਚ ਮੈਰੀ ਨੂੰ ਗਾਹਕ ਦੀਆਂ ਕਤਾਰਾਂ ਤੋਂ ਕਤਾਰਾਂ ਹਟਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣ ਦਾ ਫੈਸਲਾ ਕਰਦੇ ਹਾਂ, ਤਾਂ ਅਸੀਂ ਸਿਰਫ਼ ਗ੍ਰੰਤਕ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰ ਸਕਦੇ. ਮੌਜੂਦਾ ਹੁਕਮ ਨੂੰ ਤੁਰੰਤ ਓਦੋਂ ਰੱਦ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ. ਇਸਦੀ ਬਜਾਏ, ਅਸੀਂ ਪਹਿਲਾਂ ਰਿਵਾਇਕ ਕਮਾਂਡ ਨੂੰ ਨਗਨਤੀ ਇਵੈਂਟ ਐਂਟਰੀ ਨੂੰ ਹਟਾਉਣ ਲਈ ਵਰਤਾਂਗੇ:

REVOKE DELETE
ਗਾਹਕ ਤੇ
ਮੈਰੀ ਤੋਂ

ਤੁਸੀਂ ਵੇਖੋਗੇ ਕਿ ਇਹ ਹੁਕਮ ਬਿਲਕੁਲ ਉਸੇ ਤਰ੍ਹਾਂ ਹੈ ਜਿਸਦਾ ਉਪਯੋਗ ਸਕਾਰਾਤਮਕ ਅਨੁਮਤੀ ਨੂੰ ਹਟਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ. ਯਾਦ ਰੱਖੋ ਕਿ ਡੈਨਿ ਅਤੇ ਗਰਾਂਟ ਦੋਨਾਂ ਦਾ ਕੰਮ ਇੱਕੋ ਜਿਹੇ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਦੇ ਹਨ * mdash; ਉਹ ਦੋਵੇਂ ਡਾਟਾਬੇਸ ਐਕਸੈੱਸ ਕੰਟਰੋਲ ਵਿਧੀ ਵਿਚ ਅਧਿਕਾਰ (ਸਕਾਰਾਤਮਕ ਜਾਂ ਨੈਗੇਟਿਵ) ਬਣਾਉਂਦੇ ਹਨ. REVOKE ਕਮਾਂਡ ਨਿਸ਼ਚਿਤ ਉਪਭੋਗਤਾ ਲਈ ਸਾਰੀਆਂ ਸਕਾਰਾਤਮਕ ਅਤੇ ਨੈਗੇਟਿਵ ਅਨੁਮਤੀਆਂ ਨੂੰ ਹਟਾ ਦਿੰਦੀ ਹੈ. ਇਕ ਵਾਰ ਜਦੋਂ ਇਹ ਹੁਕਮ ਜਾਰੀ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਮੈਰੀ ਮੇਜ਼ ਤੋਂ ਕਤਾਰਾਂ ਨੂੰ ਮਿਟਾਉਣ ਦੇ ਯੋਗ ਹੋ ਸਕਦੀ ਹੈ ਜੇ ਉਹ ਉਸ ਭੂਮਿਕਾ ਦਾ ਇਕ ਮੈਂਬਰ ਹੈ ਜਿਸ ਦੀ ਇਜਾਜ਼ਤ ਹੈ. ਵਿਕਲਪਕ ਤੌਰ ਤੇ, DELETE ਦੀ ਇਜਾਜ਼ਤ ਨੂੰ ਉਸ ਦੇ ਖਾਤੇ ਵਿੱਚ ਸਿੱਧਾ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਇੱਕ ਗ੍ਰਾਂਟ ਕਮਾਂਡ ਜਾਰੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ.

ਇਸ ਲੇਖ ਦੇ ਦੌਰਾਨ, ਤੁਸੀਂ ਸਟੈਂਡਰਡ ਕਿਊਰੀ ਭਾਸ਼ਾ ਦੁਆਰਾ ਸਮਰਥਿਤ ਪਹੁੰਚ ਨਿਯੰਤਰਣ ਵਿਧੀਵਾਂ ਬਾਰੇ ਇੱਕ ਚੰਗੀ ਸੌਦਾ ਸਿੱਖਿਆ ਹੈ. ਇਹ ਜਾਣ-ਪਛਾਣ ਤੁਹਾਨੂੰ ਇੱਕ ਵਧੀਆ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ ਨਾਲ ਮਿਲਣਾ ਚਾਹੀਦਾ ਹੈ, ਪਰ ਮੈਂ ਤੁਹਾਨੂੰ ਤੁਹਾਡੇ ਡੀਬੀਐਮਐਸ ਦਸਤਾਵੇਜ਼ਾਂ ਦਾ ਹਵਾਲਾ ਦੇਣ ਲਈ ਉਤਸ਼ਾਹਿਤ ਕਰਦਾ ਹਾਂ ਤਾਂ ਜੋ ਤੁਹਾਡੇ ਸਿਸਟਮ ਦੁਆਰਾ ਸਮਰਥਿਤ ਵਧੀ ਹੋਈ ਸੁਰੱਖਿਆ ਮਾਪਿਆਂ ਨੂੰ ਸਿਖਾਇਆ ਜਾ ਸਕੇ. ਤੁਸੀਂ ਦੇਖੋਗੇ ਕਿ ਬਹੁਤ ਸਾਰੇ ਡੈਟਾਬੇਸ ਹੋਰ ਤਕਨੀਕੀ ਪਹੁੰਚ ਨਿਯੰਤਰਣ ਯੰਤਰਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਵਿਸ਼ੇਸ਼ ਕਾਲਮਾਂ ਤੇ ਅਨੁਮਤੀਆਂ ਗ੍ਰਹਿਣ ਕਰਨਾ.