emails属性に複数のメールアドレスを割り当てる

IIJ IDユーザのemails属性に複数のメールアドレスを割り当てるサンプルです。

【参考】

設定ファイルは参考例です。

実際の作業においては、お客様の環境に合わせて設定してください。

対応方法

1. config.ymlのiid.scim.attribue.user.ad_bind.emailsにAD属性を以下のように複数設定します。

iid:
  scim:
    attribute:
      user:
        ad_bind:
          emails:
                                 - value:        proxyAddresses # ※1 ※2
                                 - value:        mail
                                 - value:        mailnicknam

※1 proxyAddressesに複数のメールアドレスを登録している場合、「SMTP:」(すべて大文字)プレフィックスがついたメールアドレスがIIJ IDでのプライマリのメールアドレスとして設定されます。詳しくは「config.yml」をご覧ください。
※2 proxyAddressesに複数のメールアドレスが登録されている場合、設定によってはIIJ IDのemails属性に登録できる最大数を超過する可能性があります。超過した場合、プライマリを除いたメールアドレスの中で、アルファベット順で5つ目以降のメールアドレスがIIJ IDに同期されません。


2. config.ymlのiid.scim.attribue.user.default.emailsにて、以下のようにproxyAdressesがプライマリのメールアドレスになるように設定します。

iid:
  scim:
    attribute:
      user:
        ad_bind:
          emails:
                                 - value:        proxyAddresses # ※1 ※2
                                 - value:        mail
                                 - value:        mailnicknam
config.ymlサンプル
log:
  loglevel:                      info

ad:
  ldap:
    cache_disabled:              true
    server:
      addresses:
                                 - 192.168.0.100
                                 - 192.168.0.101
      user:                      'CN=iid_proxyadmin,CN=Users,DC=example,DC=local'
      encryption:                none
    base_dn:                     'DC=example,DC=local'
    filter:
      user:                      'memberOf:1.2.840.113556.1.4.1941:=CN=IID_IDaaS利用者グループ,OU=IID_Groups,DC=example,DC=local'
      group:                     'memberOf:1.2.840.113556.1.4.1941:=CN=IID_IDaaS利用者グループ,OU=IID_Groups,DC=example,DC=local'

iid:
  scim:
    http:
      proxy:
        use:                     false
        address:                 192.168.0.10
        port:                    8080
    attribute:
      user:
        default:
          emails:
            - primary:           true
            - primary:           false
            - primary:           false
        ad_bind:
          externalId:            userPrincipalName
          userName:              sAMAccountName
          name:
            familyName:          sn
            givenName:           givenName
          active:
                                 - userAccountControl
                                 - accountExpires
          emails:
                                 - value:        proxyAddresses
                                 - value:        mail
                                 - value:        mailnickname
      group:
        ad_bind:
          externalId:            objectGUID
          displayName:           name
          email:                 mail