JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11 セキュリティーサービス開発ガイド     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris の開発者向けセキュリティー機能 (概要)

2.  特権付きアプリケーションの開発

特権付きアプリケーション

特権について

管理者が特権を割り当てる方法

特権の実装方法

許可された特権セット

継承可能な特権セット

制限特権セット

実効特権セット

スーパーユーザーモデルと特権モデルの互換性

特権の種類

特権を使用したプログラミング

特権のデータ型

特権インタフェース

setppriv(): 特権設定用

priv_str_to_set(): 特権マッピング用

特権のコーディング例

スーパーユーザーモデルでの特権の囲い込み

最小特権モデルでの特権の囲い込み

特権付きアプリケーション開発のガイドライン

承認について

3.  PAM アプリケーションおよび PAM サービスの記述

4.  GSS-API を使用するアプリケーションの記述

5.  GSS-API クライアント例

6.  GSS-API サーバー例

7.  SASL を使用するアプリケーションの記述

8.  Oracle Solaris 暗号化フレームワークの紹介

9.  ユーザーレベルの暗号化アプリケーションの記述

10.  Oracle Solaris 鍵管理フレームワークの紹介

A.  開発者のためのセキュアコーディングガイドライン

B.  C ベース の GSS-API プログラム例

C.  GSS-API リファレンス

D.  OID の指定

E.  SASL ソースコード例

F.  SASL リファレンス

用語集

索引

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

承認について

承認は、/etc/security/auth_attr ファイル内に格納されます。承認を使用するアプリケーションを開発するには、次の手順に従います。

  1. 次のように getent コマンドを使用して、auth_attr データベース内のエントリをスキャンします。

    % getent auth_attr | sort | more

    getent コマンドは auth_attr データベース内の承認の一覧を取得し、類似した名前の承認をまとめてソートします。承認は、構成された順序で取得されます。getent コマンドの使用については、getent(1M) のマニュアルページを参照してください。

  2. プログラム開始時に、chkauthattr(3C) 関数を使って必要な承認の有無を検査します。

    chkauthattr() 関数は、次の場所で順に承認を検索します。

    • policy.conf(4) データベース内の AUTHS_GRANTED キー – AUTHS_GRANTED は、デフォルトで割り当てられた承認を示します。

    • policy.conf(4) データベース内の PROFS_GRANTED キー – PROFS_GRANTED は、デフォルトで割り当てられた権利プロファイルを示します。chkauthattr() は、これらの権利プロファイルに指定された承認が含まれているかどうかを検査します。

    • user_attr(4) データベース – このデータベースには、ユーザーに割り当てられたセキュリティー属性が格納されています。

    • prof_attr(4) データベース – このデータベースには、ユーザーに割り当てられた権利プロファイルが格納されています。

    chkauthattr() 実行時に正しい承認がこれらのどの場所にも見つからなかった場合、そのユーザーはプログラムへのアクセスを拒否されます。chkauthattr() 関数が Stop プロファイルを検出した場合、AUTHS_GRANTED、PROFS_GRANTED、および /etc/security/policy.conf から検出される承認およびプロファイルは無視されます。したがって、Stop プロファイルは /etc/security/policy.conf ファイル内の PROFS_GRANTED および AUTHS_GRANTED キーを使用して一覧表示されるプロファイルをオーバーライドするために使用できます。

提供されたセキュリティー属性を使用する方法、新しいセキュリティー属性を追加する方法、およびセキュリティー属性をユーザーおよびプロセスに割り当てる方法については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の第 9 章「役割に基づくアクセス制御の使用 (タスク)」を参照してください。


注 - ユーザーは auth_attr()exec_attr()、および prof_attr() データベースにエントリを追加できます。ただし、Oracle Solaris 承認はこれらのデータベース内に保管されません。


例 2-3 承認の検査

次のコードは、chkauthattr() 関数を使ってあるユーザーの承認を検査する方法を示したものです。この場合、プログラムは solaris.job.admin 承認の有無を検査しています。このユーザーがこの承認を持っている場合、このユーザーはほかのユーザーのファイルを読み書きできます。この承認がない場合、このユーザーが操作できるのは、自身が所有するファイルだけになります。

/* Define override privileges */
priv_set_t *override_privs = priv_allocset();

/* Clear privilege set before adding privileges. */
priv_set(PRIV_OFF, PRIV_EFFECTIVE, PRIV_FILE_DAC_READ,
            priv_FILE_DAC_WRITE, NULL);

priv_addset(override_privs, PRIV_FILE_DAC_READ);
priv_addset(override_privs, PRIV_FILE_DAC_WRITE);

if (!chkauthattr("solaris.jobs.admin", username)) {
    /* turn off privileges */
    setppriv(PRIV_OFF, PRIV_EFFECTIVE, override_privs);
}
/* Authorized users continue to run with privileges */
/* Other users can read or write to their own files only */