Rundeckでユーザの追加とプロジェクトへのアクセス権限の設定
Rundeckのデフォルトユーザはadmin
のみです。管理者が1人の場合はadmin
のみで十分ですが、複数人で管理する場合は適切な権限を付与するべきです。
そこで、特定のプロジェクトのみ閲覧・編集できるユーザを作成する場合は、設定ファイルを追加・編集することで対応できます。
この記事ではdeveloper
というユーザを作成し、SomeProject
とOtherProject
に対して全権限を設定する場合の手順を説明します。
動作環境
- Ubuntu 14.04 LTS
- Rundeck 2.6.2
ユーザの追加
develop
ユーザを追加し、ログインできるようにします。
$ sudo vi /etc/rundeck/realm.properties
# # This sets the default user accounts for the Rundeck app # admin:admin,user,admin,architect,deploy,build # 以下の行を追記 # ID: developer, PW: devpass の一般ユーザを作成 developer:devpass,user
上記設定ではパスワードが平文になっていますが、以下の手順でMD5のハッシュにすることも可能です。
$ sudo java -cp /var/lib/rundeck/bootstrap/jetty-all-7.6.0.v20120127.jar org.eclipse.jetty.util.security.Password developer devpass
devpass
OBF:1vn41vu91vo41xfj1vmy1vv11vny
MD5:dc067f8a150df19383bc33d7ac9032f7
CRYPT:de6e61/yPOdQg
$ sudo vi /etc/rundeck/realm.properties
# 平文ではなくハッシュ値のパスワードを登録
developer: MD5:dc067f8a150df19383bc33d7ac9032f7,user
特定プロジェクトへのアクセスを許可
Rundeckは/etc/rundeck/
以下の*.aclpolicy
ファイルを読んでいるので、今回はdeveloper
ユーザ用のaclpolicy
ファイルを追加します。
$ sudo vi /etc/rundeck/developer.aclpolicy
# developerユーザのプロジェクト毎のアクセス権限の設定 description: Project settings for developer user context: project: 'SomeProject|OtherProject' # SomeProjectとOtherProjectの2プロジェクトに対する権限の設定 # 上記プロジェクトに関する全権限を許可 for: resource: - allow: '*' adhoc: - allow: '*' job: - allow: '*' node: - allow: '*' by: username: developer --- # developerユーザのrundeck全般のアクセス権限 description: Rundeck settings for developer user context: application: 'rundeck' for: resource: - equals: kind: project deny: [create] # プロジェクトの作成は禁止 - equals: kind: system deny: [read] # システム情報の閲覧禁止 - equals: kind: user deny: [admin] # ユーザ情報の編集禁止 project: - match: name: 'SomeProject|OtherProject' # SomeProjectとOtherProjectの2プロジェクトのみ設定の閲覧可能 allow: [read] by: username: developer
ブラウザからdeveloper
ユーザでRundeckにログインし、SomeProject
とOtherProject
の2つが表示されたら成功です。