サービスを使用してのパスチケットの生成

RACF® が、パスワードではなくパスチケットを使用するユーザーを認証できるようにするために、 認証を実行する非 RACF 機能が、保護サインオン・サービスを呼び出してパスチケットを作成します。

保護サインオン・サービスは、次のとおりです。
  • 呼び出し側によってブランチ入力されます。
  • 仮想記憶間モードでは、サポートされません。 アクセス・レジスター (AR) モードは、アドレス・スペース制御 (ASC) を使用する必要があります。
  • SRB モードでは、サポートされません。
  • 呼び出し側が、キー・ゼロにあることが必要です。

保護サインオン・サービスを呼び出す前に、アプリケーションは、そのサービスのアドレスを見つける必要があります。 このアドレスは、RACF コミュニケーション・ベクトル・テーブル (RCVT) の RCVTPTGN フィールド にあります。ICHPRCVT マクロは、RCVT をマップし、フィールド CVTRAC が、MVS™ コミュニケーション・ベクトル・テーブル (CVT) 内でその RCVT を指します。

保護サインオン・サービスの働き

このサービスは、次のとおりです。
  • 標準リンケージを使用します。
  • アルゴリズムの入力として、グリニッジ標準時 (GMT) で表される、 現行のシステム時刻を使用します。 1
  • パスチケットを、汎用レジスター 0 (左端の 4 文字) および 汎用レジスター 1 (右端の 4 文字) に入れて戻します。
  • 戻りコードを生成します。
    • パスチケットが作成されると、レジスター 15 には戻りコード 0 が入ります。
    • パスチケットが作成されない場合、レジスター 15 には戻りコード 8 が入ります。
注 :
  1. レジスター 13 は、標準保管域を示す必要があります。
  2. 保護サインオン・サービスは、呼び出し側プログラム内ですでに有効であるものを超える 追加リカバリー処理は提供しません。

保護サインオン・サービスの呼び出し

アセンブラー言語と共に使用できる、 サービスを呼び出すための汎用プログラミング手法の例を、次に示します。 構文的に正しいかどうかは、ここでは問題にしません。
L 15,RCVTPTGN
CALL (15),(userid,appname)
説明:
userid
パスチケットが認証するユーザーの RACF ユーザー ID。 このフィールドは、最大 9 バイトです。 最初のバイトには、それに続く userid フィールドの非ブランク部分の長さが入ります。2 バイト目から 9 バイト目までにはユーザー ID が入り、大文字を使って、 フィールド内で左寄せしなければなりません。
appname
パスチケット生成プログラム・アルゴリズムで使用される保護サインオン・キーを見つけるために、 保護サインオン機能が使用するアプリケーション名。 (アプリケーション名の判別については、z/OS Security Server RACF セキュリティー管理者のガイドを参照してください。) このフィールドは、最大 9 バイトです。 最初のバイトには、それに続く appname フィールドの非ブランク部分の長さが入ります。 2 バイト目から 9 バイト目までには、アプリケーション名が入り、大文字を使って、 フィールド内で左寄せしなければなりません。

保護サインオン・サービスの起動時には、保護サインオン・キーの検出に (userid または group ではなく) appname のみが使用されます。

1 GMT は、協定世界時 (UTC) とも呼ばれます。