AEM Permission Tool の ユーザー情報 抽出機能の紹介

AEM Permission Tool の 「ユーザー情報抽出」 機能について、紹介します。

目的

この機能により、AEM管理者は、AEMの「新規ユーザーを作成」画面の「詳細」および「グループ」タブに入力された「電子メール」、「姓」、「名」、「所属するグループ」などのユーザー情報を抽出し、プレビュー、CSVダウンロードすることができます。

画面表示

「ユーザー情報」画面を表示するには、http://SERVER:PORT/aem/start.html の「AEMスタート ページ」に移動し、「Home」⇒「AEMツール」⇒「Permission Tool」⇒「ユーザー情報」をクリックし、「ユーザー情報 」ページに移動します。

検索項目

AEM Permission Tool User Info

各検索項目を入力しない場合は、システムユーザーを除くすべてのAEMユーザーが検索されます。

項目名 必須/任意 説明
パス 任意 デフォルトでは、/home/users 配下を検索対象にします。
システムユーザーも抽出 任意 チェック入れる場合、システムユーザーも検索対象にします。
作成日 任意 作成日が指定した範囲内にあるユーザーを検索します。
更新日 任意 更新日が指定した範囲内にあるユーザーを検索します。
公開日 任意 公開日が指定した範囲内にあるユーザーを検索します。
並べ替え順 任意 検索結果を、指定した項目で昇順または降順に並べ替えて表示します。
ページの行数 任意 1ページに表示する行数を指定します。デフォルト値:10

※作成日、更新日、公開日のみ、OR検索とします。

プレビューの表示

検索結果のプレビューを表示するには、「Preview」ボタンをクリックします。

CSV形式でダウンロード

検索結果をカンマ区切りの値のファイル(CSV)としてダウンロードするには、「Download」ボタンをクリックします。これにより、すべての結果を含むCSVファイルがダウンロードされます。

抽出項目一覧

項目名 リンク 備考
パス AEMの「ユーザー設定を編集」画面へ ユーザーノードのパス
ID (同上) 属性 rep:principalName の値
- profile 属性 givenName の値
- profile 属性 familyName の値
バージョン情報 - profile 属性 aboutMe の値
誕生日 - profile 属性 birthday の値
市区町村 - profile 属性 city の値
国 / 地域 - profile 属性 country の値
電子メール - profile 属性 email の値
性別 - profile 属性 gender の値
役職 - profile 属性 jobTitle の値
電話番号 - profile 属性 phoneNumber の値
郵便番号 - profile 属性 postalCode の値
番地 - profile 属性 street の値
タイトル - profile 属性 title の値
作成日 - 属性 jcr:created の値
更新日 - 属性 cq:lastModified の値
公開日 - 属性 cq:lastReplicated の値
すべてのグループ AEMの「グループ設定を編集」画面へ ユーザーが所属している直接、間接的なグループを全て表示します
直接的なグループ (同上) ユーザーが所属している直接的なグループを表示します

※AEMの「ユーザー設定を編集」画面に入力がある項目のみ表示します。

www0532.hatenablog.com

www0532.hatenablog.com

www0532.hatenablog.com

www0532.hatenablog.com

www0532.hatenablog.com

www0532.hatenablog.com

AEM Permission Tool の機能紹介

今回は、AEM Permission Tool について、紹介します。

AEM Permission Tool

概要

AEM Permission Tool は、AEMのユーザー、グループ及び権限情報などを抽出するツールです。抽出した情報のプレビュー機能、また、CSVダウンロード機能が提供され、Excelに簡単にインポートすることができます。

前提条件

AEM Permission Tool は、AEM 6.5.0 以上でのみ動作します。また、AEM の administrators グループに所属するユーザー、つまりAEM管理者であることが必要です。

AEMの一般ユーザーの場合、AEM Permission Tool のメニュー項目が非表示になり、本ツールを利用することができません。

インストール方法

機能紹介の前にインストール方法を簡単に。

  • permissiontool.all-1.0.0.zip、repACLLucene-oak-index-1.0.0.zip、repCUGLucene-oak-index-1.0.0.zip をダウンロードします。

  • AEMのPackage Managerでインストールします。

機能紹介

# 機能名 概要
1 AEM ユーザー情報抽出 AEMで管理するユーザーのID、メールアドレスなど情報を抽出します。
2 AEM グループ情報抽出 AEMで管理するグループのID、ネームなど情報を抽出します。
3 AEM グループメンバー情報抽出 AEMのグループの所属グループ、所属ユーザーの情報を抽出します。
4 AEM ACL 情報抽出 AEMのコンテンツフォルダの権限情報を抽出します。
5 AEM CUG 情報抽出 AEMのコンテンツ及びDAMに設定されるCUG情報を抽出します。

www0532.hatenablog.com

www0532.hatenablog.com

www0532.hatenablog.com

www0532.hatenablog.com

www0532.hatenablog.com

www0532.hatenablog.com

CentOS7のSELinuxを恒久的に無効化する

SElinux(Security-Enhanced-Linux)を無効化する手順

現在のSELinuxの状態を確認する

$ getenforce

恒久的にSELinuxを無効化する

$ vi /etc/selinux/config

SELINUX=enforcing」の行頭に「#」を挿入して無効化し、 その下行に「SELINUX=disabled」を追加します。

#SELINUX=enforcing
SELINUX=disabled

「:wq」保存、システムを再起動します。

 shutdown -r now

参考サイト:CentOS7でSELinuxを無効化する

CentOS 7 でGUIとCUIを切り替える

CentOS 7 でGUIとCUIを切り替える

CUIに変更する

# 一時的な変更
$ systemctl isolate multi-user.target
# 永続的な変更
$ systemctl set-default multi-user.target

GUIに変更する

# 一時的な変更
$ systemctl isolate graphical.target
# 永続的な変更
$ systemctl set-default graphical.target

もしもエラーになったら

CentOS 7.2を使用しているとバグによって、以下のようなエラーが出るかもしれません。 既にバグは修正済みですので、yum updateしちゃえば解決します。

$ systemctl isolate graphical.target
PolicyKit daemon disconnected from the bus.
We are no longer a registered authentication agent.

現在のsystemdのターゲットの確認

$ systemctl get-default

ターゲットの種類

ターゲット名 概要
graphical.target グラフィカル、マルチユーザシステムを設定
multi-user.target 非グラフィカル、マルチユーザシステムを設定
rescure.target レスキューシェル(シングルユーザ)を設定
emergency.target エマージェンシーシェルを設定

CentOS 7 のタイムゾーンを変更する

現在のタイムゾーンの確認
$ timedatectl
      Local time: Sun 2021-09-26 18:18:03 PDT
  Universal time: Mon 2021-09-27 01:18:03 UTC
        RTC time: Mon 2021-09-27 01:18:03
       Time zone: America/Los_Angeles (PDT, -0700)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sun 2021-03-14 01:59:59 PST
                  Sun 2021-03-14 03:00:00 PDT
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2021-11-07 01:59:59 PDT
                  Sun 2021-11-07 01:00:00 PST
タイムゾーンの変更

タイムゾーンの設定も timedatectl コマンドで行います。 timedatectl set-timezone タイムゾーン名 というコマンドで設定します。 日本のタイムゾーンに変更するには次のようにコマンドを実行します。

$ timedatectl set-timezone Asia/Tokyo
変更後の確認

現在の設定は引数無しの timedatectl コマンドで確認することができます。

$ timedatectl
      Local time: Mon 2021-09-27 10:18:24 JST
  Universal time: Mon 2021-09-27 01:18:24 UTC
        RTC time: Mon 2021-09-27 01:18:24
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

参照サイト:CentOS 7 のタイムゾーンを変更する手順

CentOS7にAEMのServiceを登録し、自動起動にする方法

CentOS7のサービスを手動で登録する場合は、/etc/systemd/systemに、(サービス名).serviceという名前の設定ファイルを作成します。

例えば、AEMのServiceを手動で登録する場合 aem.service という名前の設定ファイルを作成します。

$ vi /etc/systemd/system/aem.service

中身は、下記のように入力します。

[Unit]
Description=Adobe Experience Manager
After=network.target

[Service]
Type=simple
User=aem-service-user
ExecStart=/home/aem/crx-quickstart/bin/start
ExecStop=/home/aem/crx-quickstart/bin/stop
RemainAfterExit=yes
KillSignal=SIGINT

[Install]
WantedBy=multi-user.target
  • User:AEM起動ユーザーID(※事前が必要です)
  • ExecStart:AEM起動スクリプトのパス
  • ExecStop:AEM停止スクリプトのパス

サービスの起動

$ sudo systemctl start aem.service

サービスのステータス確認

$ sudo systemctl status aem.service

サービスの停止

$ sudo systemctl stop aem.service

サービスの自動起動を有効にしますと、CentOSが起動される際に、AEMサービスも自動的に起動されます。

$ sudo systemctl enable aem.service
Created symlink from /etc/systemd/system/multi-user.target.wants/aem.service to /etc/systemd/system/aem.service.

サービスの自動起動設定を確認します。

$ sudo systemctl is-enabled aem.service
enabled

仮に、サービスの自動起動を無効に設定する場合、下記のコマンドを実行します。

$ sudo systemctl disable aem.service
Removed symlink /etc/systemd/system/multi-user.target.wants/aem.service.

サービス設定ファイルの再読込を忘れないでください。

$ sudo systemctl daemon-reload

これより、CentOSが起動される際に、AEMサービスも自動的に起動されます。

参照サイト

Systemd入門(4) - serviceタイプUnitの設定ファイル

AEM サイト一覧画面に View as Published アイコンの追加

やりたいこと

AEMのページ編集画面では、 Page Infomation メニューの View as Published 「公開済みとして表示」項目があります。

f:id:www0532:20210819215956p:plain

クリックすると、ページは 「wcmmode=disabled」との URL パラメーターが追加され、新しいタブで開かれます。

f:id:www0532:20210819220356p:plain

「wcmmode=disabled」 を使用したページの表示は、 Javascriptなどのクライアントライブラリをロードされ、Author サーバーで公開済みのページの様子を確認できるため、デバッグ/開発に便利です。

これから、AEM サイト一覧画面をカスタマイズし、 View as Published アイコンを追加する方法を紹介します。

実装方法

AEMのCRXDE Lite画面を開きます。

/libs/wcm/core/content/sites/jcr:content/actions/selection

上記パスを入力し、「Overlay Node」ボタンを押下します。

f:id:www0532:20210820120825p:plain

ダイアログの入力値をそのままに、「OK」ボタンをクリックします。

f:id:www0532:20210820121111p:plain

それで、以下のノードがapps配下にコピーされます。

/apps/wcm/core/content/sites/jcr:content/actions/selection

f:id:www0532:20210820121354p:plain

右クリックし、メニューから「Create Node」をクリックします。

f:id:www0532:20210820121855p:plain

selectionの配下に、下記のノードを作成します。

+ view
  - sling:resourceType = "granite/ui/components/coral/foundation/collection/action"
  - jcr:primaryType = "nt:unstructured"
  - granite:rel = "cq-siteadmin-admin-actions-edit-activator"
  - action = "cq.wcm.open"
  - activeSelectionCount = "single"
  - icon = "browse"
  - target = ".cq-siteadmin-admin-childpages"
  - text = "View as Published"
  - variant = "actionBar"
    + data
        - jcr:primaryType = "nt:unstructured"
        - href.uritemplate.abs = "\{+item}.html?wcmmode=disabled"

作成したノードは下記のようです。

f:id:www0532:20210820123018p:plain

最後に

カスタマイズした効果を見るために、AEM サイト一覧画面を開きます。任意のページを選択しますと、 View as Published アイコンが表示されます。

f:id:www0532:20210820123400p:plain

View as Published アイコンをクリックしますと、該当するページは 「wcmmode=disabled」との URL パラメーターが追加され、新しいタブで開かれます。

f:id:www0532:20210820125128p:plain

ちなみに、ここで表示する望遠鏡のようなアイコンですが、icon = "browse"で指定されるものです。AEMで利用できるアイコンは下記にご参照してください。

helpx.adobe.com

参照サイト

参照サイト

パケージダウンロード

興味がある方は、下記のパッケージをダウンロード頂き、試してみてください。

drive.google.com