ansible/jenkins

jenkins/ansible

...
・事前準備したキーファイルや設定ファイルの存在
・ibdファイルは残るけど、Dockerのこいつら消えるんだよなー
・商用落とさないならば、ベタがきでおkかな?

技術要素
・透過的暗号化とは、
・外からdbのibdファイルを見ても見れない感じになる技術
・技術を支えるのは「二重の暗号化」
・一層は、テーブル自体に暗号化。二層は、テーブル暗号化鍵の暗号化。
・ユーザーは二層目の暗号化鍵の複合鍵を管理して、アクセスできるようになる。
・具体的な手順としては、pluginのインストールと設定ファイルを編集することで実現

商用適用の懸念点
・永続性ファイルにキーファイル・プラグインを設定する手順
・現状はdbは永続的だが、プラグインとkeyfileは永続的ではない。
・キーファイルが永続的でないと、暗号と複合ができない。
・ただし、Dockerを落とさないことを検討すればそこは大丈夫。

どうする
・永続化ではなく消えても大丈夫にするには?
・コンテナ側ではなくホスト側に状態を持たせて、必要に応じてkeyfile・設定値を渡す
・そのためにはdockerfile,docker-compose.yml,ansibleの構成管理をいじる
----
11/15
・自分はansibleコマンドとかmariadbをいじるセッティングについて
運用管理...immutable infrastracture...docker
構成管理...ansible
DockerfileではなくAnsibleからコンテナの更生管理をしたい要望や、常時稼働するコンテナからオペレーションを行いたいという要望は少なからず存在する。そういった従来型のサーバ管理方法に近いコンテナ管理を行うために、Ansibleではコンテナ専用の接続機能が用意されています。
そもそもDockerコンテナの特徴は、コンテナ上でのプロセスをユーザー空間で隔離することが目的であり、不要なパッケージインストールを避けるため、ssgdプロセスを起動してコンソール作業を行いません。したがって、通常のansibleの接続方法のように、sshを経由したコンテナ接続は推奨されません。したがってDocker Connetctionプラグインです。
このようにAnsibleを利用することで、コンテナのプロビジョニングだけでなく、Dockerfileよりも複雑なコンテナの公正管理を行うことができます。ただし、複雑なコンテナの構成管理はImmutable Infrastractureの概念から離れることを理解しておきましょう。
  • dockerb cp で実行ファイルを転送して、
  • docker exec でスクリプトを実行させること
で実行する。

操作内容は、以下のようなことを実現したい。
- name: Add uims-db plugin settings
db:
command : apt-get update &&
apt-get install vim &&
apt-get install binutils &&
cp my.cnf /etc/mysql/my.cnf &&
mkdir /rtc/mysql/encryption/ &&
touch /etc/mysql/encryption/keyfile &&
openssl rand -hex 32 >> /etc/mysql/encryption/keyfile &&
openssl rand -hex 32 >> /etc/mysql/encryption/keyfile &&
openssl rand -hex 32 >> /etc/mysql/encryption/keyfile &&
vi /etc/mysql/encryption/keyfile &&
openssl rand -hex 128 > /etc/mysql/encryption/keyfile.key &&
openssl enc -aes-256-cbc -md sha1 \
-pass file:/etc/mysql/encryption/keyfile.key \
-in /etc/mysql/encryption/keyfile \
-out /etc/mysql/encryption/keyfile.enc &&
--構成管理内容のタスクは4,5
技術的にこれでいいのか?
実装のあたりはどうするのか?

二つのやり方が存在する
  1. docker connectionでdockerfileをゴリゴリとかく
  2. docker containerを暗号化反映したものをimagesに登録して反映する
dockerのimageを更新して暗号化適用を完成させる。
docker commit で更新

Next Post Previous Post
No Comment
Add Comment
comment url