セキュリティファイル再作成と既存セキュリティファイルからのコピー手順
search cancel

セキュリティファイル再作成と既存セキュリティファイルからのコピー手順

book

Article ID: 274614

calendar_today

Updated On:

Products

Top Secret

Issue/Introduction

セキュリティファイルがフルになったときやセキュリティファイルの高いレベルのパスワード暗号化の実施時等、
セキュリティファイルを再作成してTSSXTENDによる既存セキュリティファイルからのコピーする際の手順を教えてください。

 

Environment

Release : 16.0

Resolution

セキュリティファイル再作成と既存セキュリティファイルからのコピー手順は以下の通りとなります。

(1) TSSFARを実行し、現在のセキュリティファイルの状況を確認。
(2) TSSFARの出力結果を参考にTSSMAINDを実行し、TSSMAINSの「BLOCKS」値を指定。
(3) VSAMDEF3にて新VSAMセキュリティファイルを作成。
(4) TSSMAINSにてTSSMAINDで確認した「BLOCKS」値を指定し新セキュリティファイルを作成。
(5) VSAMDEF6にて新VSAMセキュリティバックアップファイルを作成。
(6) TSSMAINBにて新セキュリティバックアップファイルを作成。
(7) 現行バックアップファイルを最新の状態に更新。
(8) TSSXTENDにて最新の現行バックアップファイルを入力に指定し新セキュリティファイルへコピーを実施。
(9) 新セキュリティファイル指定でTSSFARを実行し、新セキュリティファイルの状況を確認。
(10) Top Secretの起動プロシジャJCLを修正し新ファイル名に変更しTSSを再起動。
(11) Top Secret起動後、バックアップファイルを取得。

以下それぞれの手順詳細となります。

(1) TSSFAR 「SFSTATS」を実行し、セキュリティファイル統計を取得します。 

セキュリティファイル統計を使用すると、セキュリティファイルに割り当てる ACIDの数、ボリューム、RES ブロック、PIEブロック、および SDT ブロックの指定に役立ちます。

//Jobname JOB ...                                  
//   EXEC  PGM=TSSFAR                                       
//SECFILE  DD  DISP=SHR,DSN=security file dsn.backup               
//SYSPRINT DD  SYSOUT=*                                     
//INPUT    DD  *                                            
KEY=KKKKKKKKKKKKKKKK
SFSTATS                                                     

出力例と出力内容説明

*** Security File Statistics Begins ***                                         
                                                                                
Acid index entries allocated:      6,143  Acid index entries defined:        193
Next available acid number:          382  Last available acid number:      6,143
Acid blocks allocated:               751  Acid blocks used:                   86
                                                                              
Volume entries allocated:          1,024  % Used 000       % Deleted 000        
RES Blocks allocated:                 20  % Used 000       % Deleted 000      
PIE Blocks allocated:                 53  % Used 000       % Deleted 000      
MLS Blocks allocated:                 54  % Used 000         Records:          0
SDT Blocks allocated:                  2  % Used 004                          
「Acid index entries allocated」: 現在アロケートされているACIDエントリー数
「Next available acid number」 : 最小ACIDエントリー数。TSSMAIND/TSSMAINSで指定可能な最小値。
「Volume entries allocated」 : 現在アロケートされているVolumeエントリー数

*ここで出力の値を参考にTSSMAINDのSECDUMMYに指定します。

(2) TSSMAIND を実行して、TSSMAINS に指定するブロック数を決定します。  

//JOBNAME  JOB                                                                  
//TSSMAINT     PROC     PRINT='*',     /* SYSOUT O/P DESTINATION     */        
//             CAI='PRODHLQ',          /* HIGH LEVEL QUALIFIER       */         
//             SYSDA=SYSDA,            /* LOCAL DASD DEVICE          */         
//             VOLSER=??????           /* DASD VOLSER FOR NEW FILE   */         
//*                                                                             
//TSSMAIND     EXEC     PGM=TSSMAINT                                            
//STEPLIB      DD       DSN=&CAI..CAKOLINK,DISP=SHR                     
//MAINTOUT     DD       SYSOUT=&PRINT                                           
//SECFILE      DD       UNIT=&SYSDA,VOL=SER=&VOLSER,                            
//             DSN=&&TEMP,SPACE=(TRK,(1)),DCB=KEYLEN=17,                        
//             DISP=(,DELETE,DELETE)                                            
//MAINTIN      DD       DDNAME=TSSIN                                            
//             PEND                                                             
//*                                                                             
//DUMMYRUN     EXEC     TSSMAINT                                                
//TSSIN        DD  DSN=&CAI..CAKOJCL0(SECDUMMY),DISP=SHR                         

&CAI.CAKOJCL0(SECDUMMY)の内容と説明

CREATE SECURITY                              
ACCESSORS=?????      <---- ACID最大数。デフォルト5000。                    
VOLUMES=?????        <---- Top Secretに定義されるボリュームおよびプレフィツクス数。デフォルト1000。                      
BLOCKSIZE=8192                               
RESBLOCKS=?????      <----OPTIONAL システムで割り当てられる一般リソースのブロック数。デフォルト10。   
SDTBLOCKS=?????      <----OPTIONAL システムで割り当てられるSDTブロック数。デフォルト2。        
PIEBLOCKS=?????      <----OPTIONAL ACCESSORSで指定の各ACIDに対してデフォルトで2つのPIEエントリ。          
SCA=MSCA/PASSWORD                            
ID=DUMMY                                     

*それぞれの値は、既存セキュリティファイル設定の値を指定し
    TSSFARの結果で、「RES」「PIE」「MLS」「SDT」各ブロックが100%に近いまたは超えている場合は、指定値を増やします。

*既存の指定値が不明な場合、「ACCESSORS」値は、TSSFARの「Acid index entries allocated:」を参照して値を指定し
 「RES」「PIE」「MLS」「SDT」各ブロックは、それぞれのデフォルト値を指定してください。

出力結果

  SECURITY FILE REQUIRES 000000849 BLOCKS OF BLOCK LENGTH 000008192        

*ここで「SECURITY FILE REQUIRES nnnnnnnnnnnn BLOCKS 」出力された値を参考にTSSMAINSの「BLOCKS」値を指定します。

* TSSMAINDの実行は「SD37」または「U1520」で終了しますが、これは正常な稼働となります。

*「ACCESSORS」で実際に割り当てられるACID数は、以下の計算式で算出されます。

(((指定したACCESSORS数 * 16) / ブロック サイズ(商のみ、余りは無視)) + 1) * (ブロックサイズ / 16))

例:5000を指定

(((5000 x 16) / 8192) +1) x (8192 / 16)) 
≒ ((80000 / 8192) +1) x 512
≒ (9 + 1) x 512
≒ 5119 --> 実際に割り当てられるACID数

 

(3) VSAMDEF3にて新VSAMセキュリティファイルを作成します。

//VSAMDEF3 JOB                                                       
//STEP1 EXEC PGM=IDCAMS                                              
//SYSPRINT  DD SYSOUT=*                                              
//SYSIN     DD *                                                     
 DELETE security file dsn.VSAMFILE                                      
    DEFINE CLUSTER -                                                 
     (NAME(security file dsn.VSAMFILE) -                                
        SHR(3,3) -                                                   
        RECORDSIZE(256 24576) -                                      
        CYLINDERS(1,1) -                                             
        SPANNED -                                                    
        KEYS(64,0) -                                                 
        VOL(XXXXXX)) -                                               
    DATA -                                                           
     (NAME(security file dsn.VSAMFILE.DATA) -                             
        CISZ(4096)) -                                                
    INDEX -                                                          
     (NAME(security file dsn.INDEX) -                          
        CISZ(4096)) -                                                
  CATALOG(icf catalog name)                                            
/*                                                                   

 

(4) TSSMAINSにて、TSSMAINDで確認した「BLOCKS」値を指定し新セキュリティファイルを作成します。

//TSSMAINT     PROC     PRINT='*',     /* SYSOUT O/P DESTINATION     */         
//             HL='SECFHLQ',           /* SECFILE HLQ                */         
//             CAI='PRODHLQ',          /* TOP SECRET HLQ             */         
//             SYSDA=SYSDA,            /* LOCAL DASD DEVICE          */         
//             BLKSIZE=8192,           /* SECFILE BLOCKSIZE          */         
//*            CYLS=????,              /* SECFILE ALLOCATION         */         
//             BLOCKS=????,            /* NUMBER OF CYLINDERS        */   <- TSSMAINDの実行結果からの値を指定      
//             VOLSER=??????           /* DASD VOLSER FOR NEW FILE   */         
//*                                                                             
//TSSMAINS     EXEC     PGM=TSSMAINT                                            
//STEPLIB      DD       DSN=&CAI..CAKOLINK,DISP=SHR                  
//MAINTOUT     DD       SYSOUT=&PRINT                                           
//SECFILE      DD       DSN=&HL..SECFILE,                                       
//             SPACE=(&BLKSIZE,(&BLOCKS),RLSE,CONTIG),                          
//*            SPACE=(CYL,(&CYLS),RLSE,CONTIG),                                 
//             UNIT=&SYSDA,DISP=(,CATLG,DELETE),VOL=SER=&VOLSER,                
//             DCB=(KEYLEN=17,BLKSIZE=&BLKSIZE)                                 
//MAINTIN      DD       DISP=SHR,DSN=&CAI..CAKOJCL0(SECPARMS)                  
//             DD       DISP=SHR,DSN=&CAI..CAKOJCL0(SECPRIM)                    
//VSAMFILE    DD       DSN=&HL..VSAMFILE,DISP=SHR                              
//             PEND                                                             
//*                                                                             
//PRIMARY      EXEC     TSSMAINT                                                
/*                                                                            

*VSAMDEF3で作成のVSAMファイルをDD VSAMFILEに指定します。

*TSSMAINS内「STEP2」はセキュリティファイルを複数システム間で共有している場合のみ実行します。

&CAI.CAKOJCL0(SECPARMS)の内容と説明

CREATE SECURITY                     
ACCESSORS=?????     <---- ACID最大数。デフォルト5000。                
VOLUMES=?????       <---- Top Secretに定義されるボリュームおよびプレフィツクス数。デフォルト「1000」。              
BLOCKSIZE=8192                      
RESBLOCKS=?????     <----OPTIONAL システムで割り当てられる一般リソースのブロック数。デフォルト「10」。 
SDTBLOCKS=?????     <----OPTIONAL システムで割り当てられるSDTブロック数。デフォルト「2」。      
PIEBLOCKS=?????     <----OPTIONAL ACCESSORSで指定の各ACIDに対してデフォルトで「2」つのPIEエントリ。    
*MLSBLOCKS=?????   <----OPTIONAL
*MAXACIDSIZE=????   <----OPTIONAL
*INITVSAM=????      <----OPTIONAL
AES256ENCRYPT       <----セキュリティファイルを「AES 256」で暗号化します。      
SCA=MSCA/PASSWORD                           

*「AES 256」による暗号化実施時は「AESCACHE」制御オプションを「ON」に設定します。当設定にて「AES 256」によるログオンパスワード検証時パフォーマンスを改善できます。なお、「AESCACHE」制御オプション有効化には、PTF SO05264の適用が必要です。

 SO05264 AES ENCRYPTED PASSWORD CACHING OPTION 

(5) VSAMDEF6にて新VSAMバックアップファイルを作成します。

//VSAMDEF6 JOB                                                        
//STEP1 EXEC PGM=IDCAMS                                          
//SYSPRINT  DD SYSOUT=*                                          
//SYSIN     DD *                                                 
  DELETE security file dsn.VSAMBKUP                                  
    DEFINE CLUSTER -                                             
     (NAME(security file dsn.VSAMBKUP) -                            
        SHR(3,3) -                                               
        RECORDSIZE(256 24576) -                                  
        CYLINDERS(1,1) -                                         
        SPANNED -                                                
        REUSE -                                                  
        KEYS(64,0) -                                             
        VOL(XXXXXX)) -                                           
    DATA -                                                       
     (NAME(security file dsn.VSAMBKUP.DATA) -                        
        CISZ(4096)) -                                            
    INDEX -                                                      
     (NAME(security file dsn.INDEX) -                      
        CISZ(4096)) -                                            
  CATALOG(icf catalog name)                                        
/*                                                               
//                                                                    

 

(6) TSSMAINBにて新セキュリティバックアップファイルを作成します。

//JOBNAME  JOB                                                          
//TSSMAINT     PROC     PRINT='*',     /* SYSOUT O/P DESTINATION     */ 
//             HL='BCKUHLQ,            /* HIGH LEVEL QUALIFIER       */ 
//             CAI='PRODHLQ',          /* HIGH LEVEL QUALIFIER       */ 
//             SYSDA=SYSDA,            /* LOCAL DASD DEVICE          */ 
//             BLKSIZE=8192,           /* BACKUP FILE BLOCKSIZE      */ 
//*            CYLS=????,              /* BACKUP FILE ALLOCATION     */ 
//             BLOCKS=????,            /* NUMBER OF CYLINDERS        */ <- TSSMAINSと同様の値を指定    
//             VOLSER=??????           /* DASD VOLSER FOR NEW FILE   */ 
//*                                                                     
//TSSMAINB     EXEC     PGM=TSSMAINT                                    
//STEPLIB      DD       DSN=&CAI..CAKOLINK,DISP=SHR                     
//MAINTOUT     DD       SYSOUT=&PRINT                                   
//SECFILE      DD       DSN=&HL..BACKUP,                                
//             SPACE=(&BLKSIZE,(&BLOCKS),RLSE,CONTIG),                  
//*            SPACE=(CYL,(&CYLS),RLSE,CONTIG),                         
//             UNIT=&SYSDA,DISP=(,CATLG,DELETE),VOL=SER=&VOLSER,        
//             DCB=(KEYLEN=17,BLKSIZE=&BLKSIZE)                         
//MAINTIN      DD       DISP=SHR,DSN=&CAI..CAKOJCL0(SECPARMS)            
//             DD       DISP=SHR,DSN=&CAI..CAKOJCL0(SECBACK)             
//VSAMFILE    DD       DSN=&HL..VSAMBKUP,DISP=SHR                      
//             PEND                                                     
//*                                                                     
//BACKUP       EXEC     TSSMAINT                                        
/*                                                                    

*TSSMAINSで新セキュリティファイルを作成したのと同じSECPARMSを使用します。

*VSAMDEF6で作成のVSAMバックアップファイルをDD VSAMFILEに指定します。

 

(7) 後続処理の入力ファイルとして現行バックアップファイルを最新の状態に更新します。

コンソールより

F TSS,BACKUP  

もしくは、

TSS MODIFY(BACKUP)

にてバックアップを取得します。

 

(8) TSSXTENDにて最新の現行バックアップファイルを指定し新セキュリティファイルにコピーを実施。

//JOBNAME  JOB ...                                 
//UTL     EXEC  PGM=TSSXTEND,REGION=4M,TIME=1440   
//SYSABEND DD SYSOUT=*                             
//MAINTOUT DD SYSOUT=*                             
//SECFNEW  DD DSN=new security file dsn,DISP=SHR   
//SECNVSM  DD DSN=new vsam file dsn,DISP=SHR       
//SECFOLD  DD DSN=old security file BACKUP,DISP=SHR
//SECOVSM  DD DSN=old security file VSAMBKUP,DISP=SHR    
//MAINTIN  DD *                                    
COPY SECURITY                                      
OLDKEY=KKKKKKKKKKKKKKKK                            
NEWKEY=KKKKKKKKKKKKKKKK                            
/*                                                   

 

(9) 新セキュリティファイルを指定してTSSFAR「SFSTATS」を実行し、既存セキュリティファイルの内容が新セキュリティファイルにコピーされていることを確認します。 

//Jobname JOB ...                                  
//   EXEC  PGM=TSSFAR                                       
//SECFILE  DD  DISP=SHR,DSN=new security file dsn          
//SYSPRINT DD  SYSOUT=*                                     
//INPUT    DD  *                                            
KEY=KKKKKKKKKKKKKKKK
SFSTATS

 

(10) Top Secretの起動プロシジャJCLを修正し新ファイル名に変更。その後TSSを再起動。

*Top Secretの起動プロシジャJCLを修正し新ファイル名に変更します。

*Top Secretの起動プロシジャJCLの他、以下起動プロシジャを修正し新ファイル名に変更します。

  リカバリー時起動プロシージャ(TSSB)
リカバリープロシージャ(TSSRCVR1、TSSRCVR2)

*その後、IPLまたはTop Secretを再起動します。

*Top Secret再起動の場合、「P TSS」でTop Secretを停止後、テンポラリーシャットダウンを実施し、「S tssproc,,,REINTI」で再起動します。

停止

P TSS    

TSS9072I ** SELECT TYPE OF SHUTDOWN ** <I> TO IGNORE      
TSS9072I   <Z> END OF DAY; ** RE-IPL ** WILL BE REQUIRED  
nn TSS9072A <T> TEMPORARY;  MAY IMPACT THROUGHPUT        

起動

S tssproc,,,REINIT

 

(11) Top Secret起動後、新バックアップファイルを最新の状態に更新します。

コンソールより

F TSS,BACKUP  

もしくは、

TSS MODIFY(BACKUP)