استفاده از proxy برای کاربر در پایگاه داده اوراکل

استفاده از proxy برای کاربر در پایگاه داده اوراکل

یکی از مواردی که همواره در سایت های عملیاتی مورد نیاز است این می باشد که برای بررسی عملکرد باید با نام کاربری فرد مورد نیاز( بدون دانستن کلمه عبور) وارد سیستم شد و فعالیتی را انجام داد. برای اینکار دو راهکار وجود دارد:

  • تغییر کلمه عبور به مورد جدید
  • استفاده از قابلیت proxy برای کاربران

توضیح راهکار اول:

در این مرحله تغییر کلمه عبور صورت می پذیرد. بعد از تغییر کلمه عبور و انجام کار دو حالت می تواند رخ دهد.

  • کلمه عبور جدیدی توسط خود کاربر برای ادامه کار انتخاب شود.
  • کلمه عبور توسط ادمین به وضعیت قبل برگردد.

در مورد گزینه اول به دلیل مشخص بودن، توضیح خاصی نمی توان داد.

مراحل کاری گزینه دوم.

  • قبل از تغییر کلمه عبور hash شده کلمه عبور را بدست آوردید

SELECT password FROM   dba_users WHERE  username = ‘SOLTANI’;

 

در نسخ جدید به دلیل رعایت مسئله امنیتی این روش خروجی نمی دهد و باید با پکیج زیر به کلمه عبور رسید.

select username,

dbms_metadata.get_ddl(‘USER’, username) || ‘/’ usercreate

from

dba_users

WHERE  username = ‘SOLTANI’;

درخروجی این دستور، دستور ساخت مجدد کاربر به همراه پسورد hash  شده آن ارائه می گردد :

 

CREATE USER “SOLTANI” IDENTIFIED BY VALUES ‘S:2EDEC51B3BAB77D7EED4806C0B678CBF00D6350BAB38B331C16172F80C52;980FCF48180A778B’

DEFAULT TABLESPACE “users”

TEMPORARY TABLESPACE “TEMP”/

  • در این مرحله کلمه عبور را به مقدار جدید تغییر می دهیم:

alter USER “SOLTANI” IDENTIFIED BY VALUES ‘123’;

  • بعد از انجام فعالیت های لازم کلمه عبور را به مقدار قبلی تغییر می دهیم :

alter USER “SOLTANI” IDENTIFIED BY VALUES ‘S:2EDEC51B3BAB77D7EED4806C0B678CBF00D6350BAB38B331C16172F80C52;980FCF48180A778B’;

 

توضیح راهکار دوم ( استفاده از proxy ) :

 

در این روش به کاربری که به جای کاربر SOLTANI می خواهد وارد شود باید دسترسی زیر را داد

ALTER USER SOLTANI GRANT CONNECT THROUGH EBRAHIMI;

از این به بعد هر وقت کاربر  EBRAHIMI بخواهد به جای SOLTANI وارد شود باید با فرمت زیر وارد شود .

SQL>CONN ebrahimi[soltani]/ebrahimipassword

در این حالت دیگر نیاز به تغییر کلمه عبور نمی باشد و کلیه فعالیتهایی که کاربر EBRAHIMI انجام میدهد به نام خود ایشان ثبت می گردد.

در صورتی که بخواهیم این دسترسی را از کاربر ابراهیمی بگیریم از دستور زیر باید استفاده گردد:

ALTER USER SOLTANI REVOKE CONNECT THROUGH EBRAHIMI;

دیدگاهتان را بنویسید