LoginSignup
0
0

OpenAMのDockerイメージをSSL化して永続化する

Posted at

はじめに

OpenAMの公式Dockerイメージである openidentityplatform/openam をSSL化し、かつ設定内容を永続化させるdocker-compose
※本設定は検証目的であり、この内容で実際のIdP構築を推奨するものではありません。

docker-compose.yaml等一式はこちら

準備

サーバー証明書作成

下記コマンドでサーバ証明書を作成する。コマンドは本リポジトリ直下(docker-compose.yamlファイルと同じ場所)で実行することを想定。

openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:2048 -subj /CN=idp.example.com -keyout openam/cert/server.key -out openam/cert/server.crt

OpenAM configフォルダ権限設定

Linux上でdocker起動する場合、下記コマンドでコンテナ側からバインドマウントしたフォルダにファイルを書き込めるようにする。コマンドは本リポジトリ直下(docker-compose.yamlファイルと同じ場所)で実行することを想定。
コンテナ上ではopenamユーザーがID:1001で作成されているため、フォルダの所有者を1001とする。ホスト上1001がopenamである必要はなく、IDが一致していればよい。また、1001ユーザーが存在していなくてもよい。

chmod 755 openam/config
chown 1001 openam/config

hostsファイル更新

hostsファイルにidp.example.comを追加し、ホストOSのIPアドレスを定義する。

起動

下記コマンドでコンテナを起動する。

docker-compose up

https://idp.example.com:8443/openam にアクセスし、初期設定を実施すると openam/config フォルダにOpenAMの諸情報が書き込まれる。

補足

SSL化

openidentityplatform/openam を起動した際の/usr/local/tomcat/conf/server.xmlを持ってきて下記を有効化したのみ。

server.xml
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="150" SSLEnabled="true"
               maxParameterCount="1000"
               >
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeyFile="conf/server.key"
                         certificateFile="conf/server.crt"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>
0
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
0
0