Informatica IDMC上にSharepoint Online接続を作成

<h1> はじめに

組織は Microsoft SharePoint を使用してウェブサイトを作成します。SharePoint は、安全な場所として、情報を保存、整理、共有、そして任意のデバイスからウェブブラウザーだけでアクセスすることが可能です。「SharePoint」という言葉は、以下を含む複数の SharePoint 製品や技術を指すことがあります：

### Microsoft 365 上の SharePoint  
Microsoft によってホストされるクラウドベースのサービスで、あらゆる規模のビジネス向けに提供されています。オンプレミスで SharePoint Server をインストール・展開する代わりに、Microsoft 365 プランまたはスタンドアロンの SharePoint Online サービスを購読することで利用可能です。ユーザーは、同僚、パートナー、顧客とドキュメントや情報を共有するためのサイトを作成できます。

### SharePoint Server  
組織は、オンプレミスまたは Office 365 Enterprise サブスクリプションを使用して SharePoint Server を展開・管理できます。これにより、最新機能を活用できます。また、モダンなサイトページ、ウェブパーツ、ライブラリ、リスト、検索機能、PowerApps、Power BI、MS Flow との統合、SharePoint ホームページなどの追加機能を提供します。

### SharePoint Designer 2013  
2013年に最後にリリースされた無料プログラムです。ワークフロー対応の強力なソリューションを構築したり、Business Connectivity Services に基づく外部データソリューション用の外部コンテンツタイプを編集するために使用されます。

### OneDrive 同期  
チームサイトや職場または学校用の OneDrive からドキュメントをコンピューターに同期し、オフラインで利用するためのデスクトッププログラムです。

<h1>IDMC上にSharepointの接続を作成する

IDMCの接続に必要となる情報は下図の通りです。それぞれの情報を準備しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/3bfde7ba-fe47-a69a-83cb-1ee2db61508a.png)

## アプリケーションを登録する
１．先ず、Azureのポータルにアプリケーションを登録しましょう。https://portal.azure.com/#home
左のメニューバーからMicrosoft Entra IDを選択してから、画面が変わって、また「App Registration」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/93a12138-dd9e-e195-0d01-d51febcfd428.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/b7f88a32-affb-0ae0-7ec5-d089aefc5d80.png)

２．「＋New Registration」ボタンをクリックして、アプリケーションの名前を適宜に入力します。
Account Typeはシングルテナントにします。
Redirect URIは必須ではないですが、ここには「https://localhost 」を設定します。
「Register」ボタンをクリックし、登録します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/d3fad317-e6f1-0423-79d8-8f943dd0cf90.png)

３．Client IDが生成されました。これをコピーして、後でIDMC上に接続の作成に使います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/3b549023-92c9-c8d4-6fa2-ae4b17a6dc0b.png)

４．左のメニューに「Certificates&secrets」→「＋New client secret」でシークレットIDを生成します。
Secret ValueとSecret IDをコピーして、noteに一時保存しましょう。後で使います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/94db5db2-1a5a-5c21-9495-e78f6981b70a.png)

５．左のメニューに「API Permissions」→「＋Add a permission」→「Sharepoint」を選択します。
Delegated Permissionにして、「AllSites.Manage」をチャックし、権限を追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/177c30ab-5daf-9d93-933d-260438fd108e.png)

ここまで、接続に必要な情報はRefresh Token以外のものが全部Getしました。これからRefresh Tokenを取得します。

## Refresh Tokenを取得する

### 認証コードを生成する
１．下記フォーマットのURLを準備してください。
`https://login.microsoftonline.com/< Single_Tenant_Id_value >/oauth2/v2.0/authorize?client_id=< client_id >&response_type=code&redirect_uri=< redirect_URI >&scope=<"sharepoint_url/delegated permission offline_access">&client_secret=< client_secret >`
こちらの属性をAzure上に生成された値を置き換えてください。
< Single_Tenant_Id_value >
< client_id >
< redirect_URI >
<"sharepoint_url/delegated permission offline_access">
< client_secret > ここはSecret IDのことを指しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/286cb4d6-3f72-19c4-9826-557d007ccabe.png)

具体的な例をご参照ください：
`
https://login.microsoftonline.com/2638f43e-f77d-4fc7-ab92-7b753b7876fd/oauth2/v2.0/authorize?client_id=3f19f8e4-e1f4-47a5-a75b-2af4b5cf5653&response_type=code&redirect_uri=https://localhost&scope=https://informaticates.sharepoint.com/AllSites.Manage&client_secret=0a906cc4-3904-4b8d-b272-04503acd62f7
`

２．上記のURLをコピーして、ブラウザ（新規Private Modeはお勧め）に貼り付けてアクセスしてみます。

３．プロンプトが表示された場合は、SharePoint Online のログイン情報を入力してください。同意画面で内容を確認し、「Accept（同意）」をクリックします。

４．リダイレクトURLのページには、認証コードがクエリ文字列として以下の形式で含まれます： `https://<redirect_url>/?code=<authcode>`  
認証コードをコピーし、Refresh Tokenを生成する際に使用するため保管してください。  

**注意:** ブラウザでURLに認証コードが表示されている場合でも、「can't reach this page」などのメッセージが表示されることがあります。これは問題ありません。URLをコピーすればOKです。
以下のスクリーンショットを参考にしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/ad30aeb4-5367-8b6b-966a-19b3f4be567b.png)

### Postmanを利用してTokenを生成する
１．Postmanに**POST**モードをして、このURLをアクセスします。
`https://login.microsoftonline.com/<Single_Tenant_Id_value>/oauth2/v2.0/token`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/d5ef2fb4-b10b-934d-8fb9-876d436d1996.png)

２．Headersに対して、下図のように設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/6d261c52-d142-0e34-a474-7eed04d10e47.png)
`Content-Type` `application/x-www-form-urlencoded`

３．BodyにRawを選択して、下記のフォーマットを入れてください。
`grant_type=authorization_code &client_id=<client_id>&client_secret=<client_secret_value>&scope=https://<tenant ID>.sharepoint.com/.default offline_access &code=<auth_code> &redirect_uri=<redirect_url>`

`<client ID>`と`<tenant ID>`は下図を参照：
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/89a23f7b-acf1-9325-4452-3d3c7935e30d.png)

`<client_secret_value>`は下図を参照：
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/271f20ae-b47b-34a6-e0d6-f4640ab76fc6.png)

`<auth_code>`はブラウザからコピーしたURLの中に、codeの部分です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/660d528c-6b31-1d17-2335-aa23f7d03dee.png)

４．Sendをクリックして、リクエストします。Refresh Tokenが生成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/487ff85f-50a3-cee4-040c-74edb3e5a928.png)

## IDMCに接続を作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/a543b36d-d1e8-4f0a-0561-25e3077a5a0a.png)
Connection Name：適宜に入力してください。
Type: Sharepoint Onlineを選択
Runtime Environment: Secure Agent環境
Authenticatoin: Microsoft EntraID
Account Types: Single Tenant
Single Tenant Id: Azureポータルを参照
Client_Id:　Azureポータルを参照
Client_Secret:　Azureポータルを参照。Secret IDではなく、**Secret Value**です。
Refresh_Token: Postmanに生成されたもの
URL:　Sharepointのアクセスサイト
Attachment_File_Path:　ファイルをダウンロードするためのSecure Agentサーバのフォルダーパス

最後、テストして、接続成功をご確認ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986164/13ff7b1b-3434-7b46-0d8b-2e58e256738e.png)