【发布时间】:2018-05-13 15:15:53
【问题描述】:
我有以下代码连接到 COBOL 程序内的外部数据库:
MOVE 'I2SFG04' TO WK-USER
MOVE '12345' TO WK-PASS
EXEC SQL
CONNECT TO :WK-EXT-MACHINE
USER :WK-USER
USING :WK-PASS
END-EXEC.
但正如您猜到的,我不想硬编码用户并在 COBOL 程序中传递。那么是否有一种安全的方式来存储它们,以便有权查看 COBOL 程序的任何人都看不到凭据?
我的第一个方法是使用 SYSIN 内容创建一个文件(受 RACF 保护),这样 COBOL 程序可以加载它,但它不会显示在源代码中。像这样的:
//STEP001 EXEC PGM=IKJEFT01
//STEPLIB DD DSN=I2SJR04.SYS.DBRMLIB,DISP=SHR
//SYSIN DD DSN=EF35.PRIVATE.DB.LOGIN,DISP=SHR
//SYSOUT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(SSID)
RUN PROGRAM(MYCOBB) PLAN(PLANNAME) -
LIB('I2SJR04.SYS.LOADLIB')
END
/*
EF35.PRIVATE.DB.LOGIN 文件的内容:
I2SFG04
12345
有没有更好的方法来处理这种情况?
【问题讨论】:
标签: security passwords cobol mainframe jcl