
z/OS DFSMS データ・セット暗号化をセットアップするためのサンプル・プロシージャー
z/OS DFSMS データセット暗号化を使用して暗号化する場合 Db2 データ、統合暗号化サービス機能 (ICSF) および Resource Access Control Facility ( RACF® )、または同等のセキュリティ製品を構成し、暗号化キーとキー ラベルを設定する必要があります。
プロシージャー
次のサンプル手順は、 z/OS DFSMS データセット暗号化を使用して、暗号化のために ICSF と RACF を設定する方法を示しています:
- ICSF を使用して、暗号鍵を定義します。
セキュア AES 鍵は、ICSF 暗号鍵データ・セット (CKDS) または公開鍵データ・セット (PKDS) に定義することができます。
- 必要な権限を RACF または同等のセキュリティー製品で定義します。 この例では、RACF を使用します。
鍵ラベルが Db2 で指定されているときにシステムが暗号化されたデータ・セットを作成できるようにするには、Db2 アドレス・スペース ID またはユーティリティー・ユーザーが、FACILITY クラス内の以下のリソースに対して少なくとも READ 権限を持っている必要があります。STGADMIN.SMS.ALLOW.DATASET.ENCRYPT
データセットが最初に割り当てられた際に、拡張フォーマットのリニア、シーケンシャル、またはベーシックまたはラージフォーマットのシーケンシャルとして定義されている場合のみ、 RACF にこのリソースの権限があるかどうかがシステムによって確認されます。 基本およびラージ・フォーマット順次データ・セットの場合は、z/OS DFSMS APAR OA56622 を適用する必要があります。例外 : RACF データセットプロファイルのDFPセグメントでキーラベルが指定されている場合。 システムは、このリソースへの権限をユーザーが持っていることを必要としません。
FACILITY クラスのリソース STGADMIN.SMS.FAIL.INVALID.DSNTYPE.ENC に UACC (NONE) が指定されていて、拡張フォーマット線形、拡張フォーマット順次、基本フォーマット順次、またはラージ・フォーマット順次ではないデータ・セットに暗号鍵ラベルが指定されている場合、鍵ラベルは無視され、非暗号化データセットとして正常に生成されます。
SETR CLASSACT(CSFKEYS CSFSERV CRYPTOZ) REFRESH SETR GENERIC(CSFKEYS CSFSERV CRYPTOZ) REFRESH SETR RACLIST(CSFKEYS CSFSERV CRYPTOZ) RDEFINE CSFKEYS * UACC(NONE) ICSF(SYMCPACFWRAP(YES) SYMCPACFRET(YES))
少なくとも STGADMIN.SMS.FAIL.INVALID.DSNTYPE.ENC に対する READ 権限がある場合、割り振りは失敗します。
鍵ラベルがアプリケーションによってアクセスされるとき、SYSDSP DB2 アドレス・スペース ID によって DB2SYS.KEY02 および STG01KLABEL 鍵ラベルが使用されるようにします。 DB2USR.KEY01 鍵ラベルを UTILUSR Db2 ユーティリティー・ユーザーが使用できるようにするには、鍵ラベルが z/OS DFSMS によってアクセスされるときにのみ使用します。 次の例は、それらの許可を定義する方法を示しています。
PERMIT DB2SYS.KEY02 CLASS(CSFKEYS) ID(SYSDSP) ACCESS(READ) PERMIT STG01KLABEL CLASS(CSFKEYS) ID(SYSDSP) ACCESS(READ) PERMIT DB2USR.KEY01 CLASS(CSFKEYS) ID(UTILUSR) ACCESS(READ) WHEN(CRITERIA(SMS(DSENCRYPTION))) SETR RACLIST(CSFKEYS CSFSERV CRYPTOZ) REFRESH
ICSF の接頭部付きプロファイル・フィーチャーが CSFKEYS リソース・クラスに対して有効になっている場合は、追加の RACF セットアップが必要です。 リソース CSF.PREFIX.CSFKEYS.ENABLE は、XFACILIT クラス内で定義する必要があります。 以下の例は、RACF セットアップを示しています。

SETR CLASSACT(RACFVARS) RACLIST(RACFVARS) RDEFINE RACFVARS &TESTSYS ADDMEM(TEST1) SETR RACLIST(RACFVARS) REFRESH
ここで、 TEST1 システム名です。

RDEFINE CSFKEYS &TESTSYS.DB2SYS.KEY01 UACC(NONE) ICSF(SYMCPACFWRAP(YES) SYMCPACFRET(YES)) PERMIT &TESTSYS.DB2SYS.KEY01 ID(SYSDSP) ACC(READ) CLASS(CSFKEYS) SETR RACLIST(CSFKEYS) REFRESH
詳細については、「 CSFKEYS 一般リソース・クラスでのプロファイルの設定 」を参照してください。 また、保護された鍵については、 CPACFを悪用する呼び出し可能なサービスにおいて、 暗号化された鍵の使用を可能にするを参照のこと。
FL 502 次のいずれかの方法を使用して、データ セットにキー ラベルを定義します。- Db2 オブジェクト上に鍵ラベルを定義します。 例えば、鍵ラベル STG01KLABEL を持つストレージ・グループを作成します。
CREATE STOGROUP DSNCG100 VOLUMES (ABC001,DEF003) VCAT DSNCAT KEY LABEL STG01KLABEL;ストレージ・グループ DSNCG100 の鍵ラベルが定義された後、ストレージ・グループ DSNCG100 を使用して割り振られる表スペースまたは索引スペースは、暗号化のために鍵ラベル STG01KLABEL を使用します。
- RACF データセットプロファイルレベルでキーラベルを定義します。 例えば、 RACF のデータセットプロファイルを変更して、キーラベルを定義することができます。 RACF のデータセットプロファイルのキーラベルは、指定されたキーラベルよりも優先されます。
以下の例は、DB2 カタログ (DSNDB06) データベースのデータ・セット・プロファイルを変更して、鍵ラベル DB2SYS.KEY02 を追加する方法を示しています。
ALTDSD 'DSNCC10.DSNDBC.DSNDB06.*' DFP(DATAKEY(DB2SYS.KEY02))

- Db2 オブジェクト上に鍵ラベルを定義します。 例えば、鍵ラベル STG01KLABEL を持つストレージ・グループを作成します。
- JCL を使用して、データ・セットを暗号化します。
次の例は、REORG ユーティリティーによって使用されるデータ・セットを暗号化するときに使用できる JCL を示しています。
SYSUT1 DD DSN=DB2SMS.N035UN02.REORGW.SYSUT1, DATACLAS=DB2SMS10,DSKEYLBL=DB2SG.KEY01, DISP=(MOD,DELETE,CATLG),UNIT=SYSDA, SPACE=(8000,(200,20),,,ROUND)
