LoginSignup
1
0

More than 5 years have passed since last update.

OpenAMのデータストアをOpenDJで構築し連携させる設定

Posted at

OpenDJの環境構築

前回、OpenAMのSAML認証でAWSへログインするまでの設定でOpenAMを構築しましたが、とりあえずOpenAM内にデータストアをもつように定義しました。

今回は、データストアを外に出す場合の設定変更についてです。

データストアはOpenDJを利用します。OpenDJを構築するためのCloudFormationのテンプレートはOpenAMに同じです。

CloudFormationで構築するための前提は、

  • aws-cli がインストールされ、プロファイルの設定がされていること
  • HostedZoneに ドメイン が登録されていること
  • 対象のRegionに キーペア が作成されていること
  • 実行するIAMユーザに十分な権限があること
  • OpenDJは事前にForgeRockからダウンロードします(要アカウント登録)
    • CloudFormation でrpmファイルをダウンロードするため、ダウンロード可能な場所に配置して下さい
    • パブリックなS3は前回のOpenAMの構築手順からの続きになります。
# バケット名を取得
BUCKET_NAME=$(aws cloudformation describe-stacks \
  --stack-name public-bucket \
  --query 'Stacks[].Outputs[?OutputKey==`BucketName`].OutputValue' \
  --output text)
echo ${BUCKET_NAME}
  #

# OpenAMのwarファイルをS3にアップロード
aws s3 cp opendj-3.0.0-1.noarch.rpm s3://${BUCKET_NAME}/

# アップロードしたRPMファイルのURIを取得
DONWLOD_URI=$(aws cloudformation describe-stacks \
  --stack-name public-bucket \
  --query 'Stacks[].Outputs[?OutputKey==`DownloadUri`].OutputValue' \
  --output text)
echo ${DONWLOD_URI}
  #

RPMをダウンロード可能な場所に配置したら、環境変数を設定します。

# 例)
KEY_NAME=openam-key
HOSTED_ZONE_NAME=example.com.
OPENDJ_RPM_URI=${DONWLOD_URI}/opendj-3.0.0-1.noarch.rpm
ROOT_PW=secret
BASE_DN=dc=example\\\,dc=com

それでは、以下のコマンドでOpenDJの環境構築を行います。

aws cloudformation create-stack \
  --stack-name opendj \
  --capabilities CAPABILITY_IAM \
  --parameters ParameterKey=KeyName,ParameterValue=${KEY_NAME} \
               ParameterKey=HostedZoneName,ParameterValue=${HOSTED_ZONE_NAME} \
               ParameterKey=OpendjRpmUri,ParameterValue=${OPENDJ_RPM_URI} \
               ParameterKey=RootPw,ParameterValue="${ROOT_PW}" \
               ParameterKey=BaseDn,ParameterValue="${BASE_DN}" \
  --template-body file://opendj-template.yml

OpenAMのデータストアの設定変更

データストアの更新

  • Administratorユーザ(amAdmin)でログイン
  • Top Level Realm > Data Stores

image.png

  • 新規をクリック

データストアのタイプを選択

image.png

  • 名前: OpenDJ(任意)
  • タイプ: OpenDJ
  • 次へ をクリック

新規データストア

image.png

  • LDAPサーバー: (例: example.com:389)
  • LDAPバインドDN: (例: cn=Directory Manager)
  • LDAPバインドパスワード(LDAPバインドパスワード(確認)): (例: password)
  • LDAP組織DN: (例: dc=example,dc=com)
  • デフォルトで設定されている localhost:50389 は削除してください。
  • 他の設定はデフォルトのままで。
  • 終了 をクリック

※上記手順でOpenDJを構築した場合、設定値は以下から取得できます。

LDAPサーバー

aws cloudformation describe-stacks \
  --stack-name opendj \
  --query 'Stacks[].Outputs[?OutputKey==`LDAPServer`].OutputValue' \
  --output text

LDAPバインドDN

aws cloudformation describe-stacks \
  --stack-name opendj \
  --query 'Stacks[].Outputs[?OutputKey==`LDAPBindDN`].OutputValue' \
  --output text

LDAPバインドパスワード

aws cloudformation describe-stacks \
  --stack-name opendj \
  --query 'Stacks[].Outputs[?OutputKey==`LDAPBindPW`].OutputValue' \
  --output text

LDAP組織DN

aws cloudformation describe-stacks \
  --stack-name opendj \
  --query 'Stacks[].Outputs[?OutputKey==`LDAPBaseDN`].OutputValue' \
  --output text

ローカルのデータストアを削除

image.png

  • embedded のチェックボックスをチェックし、削除 をクリック

設定は以上です。
ユーザを作成できたら、OpenDJのサーバへログインし以下のコマンドでユーザがLDAPに作成できていることを確認できます。

/opt/opendj/bin/ldapsearch \
  -D "<LDAPバインドDN>" \
  -w <LDAPバインドパスワード> \
  -b "ou=people,<LDAP組織DN>" "objectclass=*"

以上

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0