OSS編~オーケストレーションツール Consul 07 ACLs編~

Pocket

前回は『OSS編~オーケストレーションツール Consul 06 WEB UI編~』と題して、オーケストレーションのConsulでWEB UIを試してみました。

今回は『OSS編~オーケストレーションツール Consul 07 ACLs編~』と題して、オーケストレーションのConsulでACLsを試してみたいと思います。

ACLsとは

Access Control List (ACL) systemはConsulでデータ及びAPIへのアクセス制御機能です。
ConsulのACLsはトークンを利用したCapability-based system でAWSのIAMと類似しています。

試してみる

1.AClsで起動
ConsulのコンフィグでACLsの項目を指定して起動してみます。
項目は以下になります。

・acl_datacenter
・acl_default_policy
・acl_down_policy
・acl_master_token
・acl_token
・acl_ttl

コンフィグファイルを準備します。

コンフィグを指定して起動します。

ACLのAPIから取得してみます。
「master_token」を使用すると取得出来る事がわかります。

2.ACLのRuleを登録してみる
ACLを登録して挙動を確認してみます。
ACLのRuleのポリシーのフォーマットはHashiCorp Configuration Language (HCL)かjsonを利用して記述します。

HTTP APIから登録します。

ACL APIから確認してみます。

3.作成したトークンで確認
作成したトークンで確認してみます。
read権限の「key ””」でデータを登録してみるとPermissionのエラーが出力されます。

次にwrite権限の「key “foo/”」でデータを登録してみるとtrueとなっております。

最後にdenyの「key “foo/private/”」 でデータを登録してみるとPermissionのエラーが出力されます。

続いてデータの取得をしてみます。
確認の為にマスタートークンでデータを登録しておきます。

取得してみます。
read権限の「key ””」ではデータを取得出来ます。

次にwrite権限の「key “foo/”」でもデータを取得出来ます。

最後にdenyの「key “foo/private/”」 でデータを取得してみると取得出来ないのがわかります。

いかがでしたでしょうか?
次回もお楽しみに!!!