entitlements属性を設定する

IIJ IDユーザのentitlements属性を設定するサンプルです。

【参考】

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

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

記載例1. ADの各ユーザ属性の属性値をentitlementsに設定する
項目内容
実現することADユーザの「carLicense」属性にAmazon Web ServicesのID値を格納する
これをSAML Attribute名「https://aws.amazon.com/SAML/Attributes/RoleSessionName」の値としてAmazon Web Servicesに渡す
対応方針

ADのcarLincense属性をマッピングさせる

なお、SAML連携において利用しやすくするため、IIJ IDユーザのentitlements属性のタイプ名を「aws_id」とする

対応方法

1.iid.scim.attribute.user.defaultにentitlementsの属性を以下のように設定します。

iid:
  scim:
    attribute:
      user:
        default:
          entitlements:
            - primary:           false
              type:              aws_id

2.iid.scim.attribute.user.ad_bindにentitlementsの属性を以下のように設定します。

iid:
  scim:
    attribute:
      user:
        ad_bind:
          entitlements:
            - value:             carLicense
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
          entitlements:
            - primary:           false
              type:              aws_id
        ad_bind:
          externalId:            userPrincipalName
          userName:              sAMAccountName
          name:
            familyName:          sn
            givenName:           givenName
          active:
                                 - userAccountControl
                                 - accountExpires
          emails:
            - value:             mail
          entitlements:
            - value:             carLicense
      group:
        ad_bind:
          externalId:            objectGUID
          displayName:           name
          email:                 mail
記載例2. ADの各ユーザ属性に存在しない固定値をentitlementsに設定する
項目内容
実現することADの各ユーザ属性値として存在しない「arn:aws:iam::0123456789012:saml-provider/IIJID,arn:aws:iam::0123456789012:role/IIJID_SAML_SSO_Role」という固定値をSAML Attribute名「https://aws.amazon.com/SAML/Attributes/Role」の値としてAmazon Web Servicesに渡す
対応方針

ADの各ユーザ属性を関連付けず、該当値を固定値としてマッピングさせる。

なお、SAML連携において利用しやすいようにするため、IIJ IDユーザのentitlements属性のタイプ名を「aws_role」として設定する

対応方法

1.iid.scim.attribute.user.defaultにentitlementsの属性を以下のように設定します。

iid:
  scim:
    attribute:
      user:
        default:
          entitlements:
            - primary:           false
              value:             arn:aws:iam::0123456789012:saml-provider/IIJID,arn:aws:iam::0123456789012:role/IIJID_SAML_SSO_Role
              type:              aws_role

2.iid.scim.attribute.user.ad_bindにentitlementsの属性を以下のように設定します。

iid:
  scim:
    attribute:
      user:
        ad_bind:
          entitlements:
            - value:
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
          entitlements:
            - primary:           false
              value:             arn:aws:iam::0123456789012:saml-provider/IIJID,arn:aws:iam::0123456789012:role/IIJID_SAML_SSO_Role
              type:              aws_role
        ad_bind:
          externalId:            userPrincipalName
          userName:              sAMAccountName
          name:
            familyName:          sn
            givenName:           givenName
          active:
                                 - userAccountControl
                                 - accountExpires
          emails:
            - value:             mail
          entitlements:
            - value:
      group:
        ad_bind:
          externalId:            objectGUID
          displayName:           name
          email:                 mail
記載例3. ADの属性値とADの各ユーザ属性に存在しない固定値をentitlementsに設定する
項目内容
実現すること(1)ADユーザの「carLicense」属性にAmazon Web ServicesのID値を格納する
これをSAML Attribute名「https://aws.amazon.com/SAML/Attributes/RoleSessionName」の値としてAmazon Web Servicesに渡す

(2)ADの各ユーザ属性値として存在しない「arn:aws:iam::0123456789012:saml-provider/IIJID,arn:aws:iam::0123456789012:role/IIJID_SAML_SSO_Role」という固定値をSAML Attribute名「https://aws.amazon.com/SAML/Attributes/Role」の値としてAmazon Web Servicesに渡す
対応方針

(1)ADのcarLincense属性をマッピングさせる

なお、SAML連携において利用しやすいようにするため、IIJ IDユーザのentitlements属性のタイプ名を「aws_id」とする

(2)ADの各ユーザ属性を関連付けず、該当値を固定値としてマッピングさせる。

なお、SAML連携において利用しやすいようにするため、IIJ IDユーザのentitlements属性のタイプ名を「aws_role」として設定する

対応方法

1.iid.scim.attribute.user.defaultにentitlementsの属性を以下のように設定します。

iid:
  scim:
    attribute:
      user:
        default:
          entitlements:
            - primary:           false
              type:              aws_id
            - primary:           false
              value:             arn:aws:iam::0123456789012:saml-provider/IIJID,arn:aws:iam::0123456789012:role/IIJID_SAML_SSO_Role
              type:              aws_role

2.iid.scim.attribute.user.ad_bindにentitlementsの属性を以下のように設定します。

iid:
  scim:
    attribute:
      user:
        ad_bind:
          entitlements:
            - value:             carLicense
            - value:
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
          entitlements:
            - primary:           false
              type:              aws_id
            - primary:           false
              value:             arn:aws:iam::0123456789012:saml-provider/IIJID,arn:aws:iam::0123456789012:role/IIJID_SAML_SSO_Role
              type:              aws_role
        ad_bind:
          externalId:            userPrincipalName
          userName:              sAMAccountName
          name:
            familyName:          sn
            givenName:           givenName
          active:
                                 - userAccountControl
                                 - accountExpires
          emails:
            - value:             mail
          entitlements:
            - value:             carLicense
            - value:
      group:
        ad_bind:
          externalId:            objectGUID
          displayName:           name
          email:                 mail