【Entra ID ハンズオン】無料でできるEntra IDによるSSO手順 (3/3)

# 1.はじめに
本記事は、以下記事の続編となっています。前回の記事では、Salesforce Developer EditionとEntra IDとのSAML連携を取り上げましたので、今回は、DocuSign Developer EditionとEntra IDとのSAML連携とJITプロビジョニングに関して記載します。

https://qiita.com/mokonacl/items/74c2d70b479139ef6763

# 2.DocuSignのDeveloper環境作成

まずは、DocuSingのDeveloper環境を作ってみましょう。以下URLにアクセスしてください。
右上にある「Developer Account > Coreate account」を選択します。

https://developers.docusign.com  

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/a1e5cd95-16e4-5594-b42d-13a9364ae74b.png)
<br>

以下図のように、アカウント情報を入力するフォームに遷移しますので、Emailなどを入力します。入力後、メールボックスにアカウントのアクティベーションメールが届きます。今回登録用のメールアドレスは、outlook.comを利用しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/88157d19-5446-8ef4-4fa5-8d13ff8fb27d.png)
<br>

受信したメールの中央に、「ACTIVATE」というボタンがあるのでクリックします。すると、パスワード入力画面に遷移するので、パスワードを登録しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/f49149b5-08f1-d980-5179-9eb509c7be93.png)
<br>

これでログインができるようになりましたので、docusing developerサイトに戻り、右上から「Login」を選択してログインします。
ログイン後、「My Apps & Keys」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/a5b2dd0f-6727-9a3e-18ed-461a4e44b39b.png)
<br>

下記画面が管理コンソール画面です。
画面中央右側に、「Account Base URI」がありますので、こちらのURLをブラウザに、コピー＆ペーストして移動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/2bd33c01-9202-ed44-ffd0-687bcce3d32b.png)
<br>

移動するとDocusignのサイトに移動することができます。日本語に変更することができるので、右上の「Manage Profile」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/e8bc0f11-659f-15c8-1119-c937f4648d86.png)
<br>

言語と地域のところから、言語を日本語に、地域を日本に変更します。お好みで、マイプロフィールから、アバターも変更することができます。これで環境払い出し完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/c46f7dc4-fd21-f9af-db36-9176bec3107a.png)
<br>

# 3.DocuSignとEntra IDのSAML設定

この章では、DocuSignとDNS登録の設定をしていきます。
各企業で固有のドメインを保有していると思いますが、そのドメインを本当に所有しているかの確認をDNSレコードに、CNAMEレコードやTXTレコードを登録して確認するというものとなります。Salesforceのときは、Salesforce側がホスティングしているドメインのサブドメインを利用していましたが、DocuSignの場合は利用ドメインを確認するというプロセスが必要となります。

### 3-1.DocuSingにおける組織設定とドメイン登録

DocuSignの管理コンソールに移動します。初期テナントでは、「概要」のページの右上に「開始」のボタンがありますので、こちらをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/70b792b0-379a-abe7-4d36-9c5718949696.png)
<br>

ここで任意の組織名を入力し、「Create」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/a404b6e9-27af-c338-a7be-d5dd2c4ffabf.png)
<br>

組織名の入力が終わると、ドメインのページに移動し、右上の「ドメインの追加」をクリックできます。クリックするとドメインの入力が可能となるため、ドメインを入力します。このとき入力するドメインは、インターネット上で名前解決可能で、皆様が保有しているドメインの必要があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/b85e9f3b-bd7a-bb86-49df-103719c43567.png)
<br>

ドメイン検証用のCNAMEレコードとTXTレコードが表示されますので、保有しているDNSに登録します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/ec136b0d-0b65-d9ea-1e9b-074f4b7309a7.png)
<br>

DNSの登録が無事完了しましたら、ドメインのステータスが緑色のアクティブになります。
nslookupなどで確認してみてもよいと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/bd9dc857-6be7-54ec-132f-ac8bcf8fdcb8.png)
<br>

### 3-2.Entra IDへのDocusignの登録と設定

Entra管理センターに移動し、「アプリケーション > エンタープライズアプリケーション > 新しいアプリケーション」を選択します。そして、任意の名前を登録します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/b4309324-0c20-6bc3-a6d2-b5d6f6034f6e.png)
<br>

そして、「シングルサインオン」に移動し、シングルサインオン方式の選択では、「SAML」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/d639a6c0-05dc-9d13-17d5-08af6f47cf72.png)

次に、再度DocuSignの管理コンソールに移動し、「IDプロバイダー」から「IDプロバイダーの追加」を選択し、カスタム名を登録します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/db9c3930-332f-4451-bd4a-15bcabd3ea2e.png)
<br>

DocuSignのIDプロバイダーの設定画面では、Entra管理センターの「シングルサインオン」の中の「Docusignのセットアップ」にある情報を以下のように入力します。

<table>
  <thead>
    <tr>
      <th>DocuSign</th> <th>Entra ID</th>
    </tr>
  </thead>
  <tr>
    <td> IDプロバイダーの発行者 </td> <td>Microsoft Entra 識別子</td>
  </tr>
  <tr>
    <td> IDプロバイダーのログインURL </td> <td>ログインURL</td>
  </tr>
    <tr>
    <td> IDプロバイダーのログアウトURL </td> <td>ログアウトURL</td>
  </tr>
</table>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/8a411de7-de34-20a2-d0c8-e08c3864fa88.png)
<br>

シングルサインオン（SSO）設定の編集では、「シングルログアウトを有効にする」にチェックし、IDプロバイダーのログアウトURLに、Entra管理センターにあったログアウトURLを入力します。
そして、認証要求の送信は、「POST」にし、ログアウト要求の送信は「GET」にします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/55a446cb-78ac-01e9-a28e-69e20052e9a9.png)
<br>

上記が完了すると、IDプロバイダーのエントリーが１つ追加されます。しかし、証明書のステータスが「証明書が見つかりません」となっているので、右側の「アクション」から「エンドポイント」をクリックし、表示された情報をEntra管理センター側に入力していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/b8c51c62-bd6b-e0a8-faa8-086365d060f3.png)
<br>

「シングルサインオン > 基本的なSAML構成 > 編集」をクリックし、エンティティID、応答URL、サインオンURLを入力していきます。DocuSign側に表示された情報とEntra ID側の対応関係は以下ようになります。

<table>
  <thead>
    <tr>
      <th>DocuSign</th> <th>Entra ID</th>
    </tr>
  </thead>
  <tr>
    <td>サービスプロバイダーの発行元URL </td> <td>識別子（エンティティID）</td>
  </tr>
  <tr>
    <td> IDプロバイダーのログインURL </td> <td>サインオンURL</td>
  </tr>
    <tr>
    <td>サービスプロバイダーのアサーションコンシューマーサービスのURL</td> <td>応答URL</td>
  </tr>
</table>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/612c15f2-93d1-85ba-f1ec-b321221ff79d.png)
<br>

そして、DocuSign側にEntra管理センターの「SAML証明書 > 証明書(Base64) > ダウンロード」を選択して、証明書ファイルをダウンロードします。ダウンロードした証明書をDocuSignの「証明書の追加」より、アップロードし、「保存」します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/ea53bb2c-0907-edc8-5f65-293de7b62b72.png)
<br>

これでようやくDocuSign側の「証明書のステータス」が有効になり、DocuSignにSSOをすることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/1a8417a7-875f-e822-7dec-9a4fbc3b7172.png)
<br>

今回は、JITプロビジョニングを有効にしていますので、Entra管理センター側の「ユーザーとグループ」にDocuSignを利用するユーザを登録だけしておけば、DocuSignにSSOすることができます。
それでは、対象となるユーザを登録しておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/1cff0e4b-0f28-13ab-5285-4ab69ee8a638.png)
<br>

では、下記URLにアクセスして、対象のユーザでログインしてみましょう。
アプリダッシュボードに、DocuSignがあるので選択します。

https://myapps.microsoft.com/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/cdc47f3a-b582-fce5-2bcc-b17f5e7289be.png)
<br>

DocuSignのページに移動することができれば成功です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/54f87f6b-e250-9b2e-91ca-60d364a02bf6.png)
<br>

:::note warn
注意点
Entra側のユーザ情報に、user.givenname と user.surname がないとSAML認証が失敗します。これは、以下画像のようにDocuSign側のSAMLの仕様のためとなります。Entra IDとしては、必須のプロパティではないため、登録していないこともあるかもしれません。電子署名という性質上、このプロパティは必須にしているのかもしれません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/969d3a0f-9702-0d56-1d91-53028a35c902.png)

引用元URL
https://support.docusign.com/s/document-item?language=ja&bundleId=rrf1583359212854&topicId=jrv1583359144203.html&_LANG=jajp

:::

# 4.おわりに

今回は、DocuSign側のSAML設定に関して、記載してみました。SAMLレスポンスの内容に、user.givenname と user.surnameが必須である点や、ドメイン認証など、細かいハマりどころがあると思われたかもしれませんが、何かのお役に立ちましたら幸いです。

次回は、IDaaSとして有名なoktaをSP(サービスプロバイダー）にした設定をトライしてみようと思います。

https://qiita.com/mokonacl/items/2a11cd825ac2db90711a