25.5. Red Hat JBoss Data Grid の承認の設定
承認はキャッシュコンテナー (CacheManager) と単一キャッシュの 2 つのレベルで設定されます。
CacheManager
以下は、CacheManager レベルの承認の設定例です。
例25.3 CacheManager 承認 (宣言的な設定)
<cache-container name="local" default-cache="default">
<security>
<authorization>
<identity-role-mapper />
<role name="admin" permissions="ALL"/>
<role name="reader" permissions="READ"/>
<role name="writer" permissions="WRITE"/>
<role name="supervisor" permissions="ALL_READ ALL_WRITE"/>
</authorization>
</security>
</cache-container>
各キャッシュコンテナーは以下を決定します。
- 承認を使用するかどうか。
- プリンシプルをルールセットにマップするクラス。
- 名前付きロールのセットとそれらが表すパーミッション。
コンテナーレベルで定義されたロールのサブセットのみを使用することを選択できます。
ロール
ロールは、以下のようにキャッシュコンテナーのレベルで定義されたロールを使用して、キャッシュごとに適用できます。
例25.4 ロールの定義
<local-cache name="secured">
<security>
<authorization roles="admin reader writer supervisor"/>
</security>
</local-cache>
重要
認証が必要とされるキャッシュには、ロールの一覧が定義されている必要があります。そうでない場合、キャッシュの承認では no-anonymous (非匿名) ポリシーは定義されないため、認証は施行されません。
重要
REST プロトコルは、承認で使用するためにサポートされておらず、承認を有効にした状態でのキャッシュへのアクセスを試行すると
SecurityException が生じます。