JumpCloudを試してみた

OpenLDAPをベースとしたクラウドLDAPサービスの[JumpCloud](https://jumpcloud.com/)を試してみました。この記事は備忘録です。


# FreeアカウントのSign-up
[サイト](https://jumpcloud.com/)にアクセスして右上の"Try For Free"をクリックします。
<img src="https://i.imgur.com/OFSF9JZ.jpg" width=50%>

Emailアドレス他必要な情報を入力します。入力が完了するとEmailでActivation Codeが送られてきます。Codeを入力するとSign-up完了です。
<img src="https://i.imgur.com/8v8aN2e.jpg" width=50%>


# ユーザの作成
ダッシュボードにログインして左ペインの"Users"をクリック、+ボタンをクリックします。
<img src="https://i.imgur.com/6v0SL9C.jpg" width=50%>

必要な情報を入力します。下の方にある"Enable as LDAP Bind DN"にチェックします。これをチェックすると管理者として認識されます。
<img src="https://i.imgur.com/4ZNRKUN.jpg" width=50%>

同様の手順で一般ユーザを作成します。"Enable as LDAP Bind DN"はチェックしません。


# LDAPインスタンスの作成
左ペインの"LDAP"をクリック、+ボタンをクリックします。"User Groups"や"Users"タブから作成したユーザをこのLDAPインスタンスに紐付けます。
<img src="https://i.imgur.com/LjIsM0Y.jpg" width=50%>


# 動作確認
MacBookから検索してみます。"-b"で指定しているDistinguished Nameはダッシュボードの"LDAP"から確認できます。

```console
$ $ ldapsearch -H ldap://ldap.jumpcloud.com:389 -ZZ -x -b "ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,dc=com" -D "uid=minamiyamaguchi,ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,dc=com" -W
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# Users, 602cb7b49760ce4323948d1e, jumpcloud.com
dn: ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,dc=com
ou: Users
objectClass: organizationalUnit
objectClass: top

# minamiyamaguchi, Users, 602cb7b49760ce4323948d1e, jumpcloud.com
dn: uid=minamiyamaguchi,ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,dc=co
m
userPassword:: e0NSWVBUfSQ2JEVPdnVtV2h4aHhxdHU4c1ckaUlVQnRXRXFtSjl4Q0UxZDdlV3A
0ZElYVUl1Q2RLc3ZsVW5kT0w3dGFNNXZmMEpmeVB4WU5oMEQ2WnpUVk1VTlJxODhEM0x3NFVLbExC
d3BkTDMuZTA=
gidNumber: 5002
loginShell: /bin/bash
sn: Yamaguchi
givenName: Minami
cn: Minami Yamaguchi
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: shadowAccount
objectClass: posixAccount
objectClass: jumpcloudUser
uid: minamiyamaguchi
uidNumber: 5002
homeDirectory: /home/minamiyamaguchi
mail: xxxx@gmail.com
jcLdapAdmin: TRUE
memberOf: cn=All Users,ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,dc=com

# All Users, Users, 602cb7b49760ce4323948d1e, jumpcloud.com
dn: cn=All Users,ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,dc=com
cn: All Users
ou: All Users
objectClass: top
objectClass: groupOfNames
description: tagGroup
member: uid=minamiyamaguchi,ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,d
c=com
member: uid=hisashiyamaguchi,ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,
dc=com
member: uid=mokoyamaguchi,ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,dc=
com

# hisashiyamaguchi, Users, 602cb7b49760ce4323948d1e, jumpcloud.com
dn: uid=hisashiyamaguchi,ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,dc=c
om
gidNumber: 5003
loginShell: /bin/bash
cn: Hisashi Yamaguchi
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: shadowAccount
objectClass: posixAccount
objectClass: jumpcloudUser
uid: hisashiyamaguchi
uidNumber: 5003
givenName: Hisashi
sn: Yamaguchi
homeDirectory: /home/hisashiyamaguchi
mail: xxxx@gmail.com
memberOf: cn=All Users,ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,dc=com

# mokoyamaguchi, Users, 602cb7b49760ce4323948d1e, jumpcloud.com
dn: uid=mokoyamaguchi,ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,dc=com
sn: Yamaguchi
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: shadowAccount
objectClass: posixAccount
objectClass: jumpcloudUser
mail: xxxx@gmail.com
uidNumber: 5004
gidNumber: 5004
loginShell: /bin/bash
homeDirectory: /home/mokoyamaguchi
givenName: Moko
cn: Moko Yamaguchi
uid: mokoyamaguchi
memberOf: cn=All Users,ou=Users,o=602cb7b49760ce4323948d1e,dc=jumpcloud,dc=com

# search result
search: 3
result: 0 Success

# numResponses: 6
# numEntries: 5
```

<br>
おわりです。