IBM API Connect as a Service on AWS 試用版を使ってみる (開発者ポータルの有効化)

# はじめに
ここでは、IBM API Connect as a Service on AWSの試用版において、開発者ポータルを有効化して、外部の開発者からAPI仕様を確認できるようにします。

IBM API Connect as a Service on AWSの試用方法については、以下の記事を参照してください。
[IBM API Connect as a Service on AWS 試用版を使ってみる](https://qiita.com/myamane/items/39fe5940533fdbe76547 "IBM API Connect as a Service on AWS 試用版を使ってみる")

## カタログと開発者ポータル
API Connectでは、API定義を「カタログ」に公開することで、API呼び出しができるようになります。
「カタログ」に公開されたAPIの仕様を表示するために、開発者ポータルが提供されます。
API利用者は、公開されたAPI仕様を開発者ポータルで参照し、APIのリクエストアプリケーションを開発します。
開発者ポータルでは、APIキー（クライアントID、クライアントシークレット）の発行も可能です。

## 開発者ポータルサイトの有効化
開発者ポータルを利用するには、「カタログ」の設定で開発者ポータルを有効化する必要があります。
開発者ポータルの有効化、利用方法については、[製品のチュートリアル：Creating the Developer Portal](https://www.ibm.com/docs/en/api-connect/saas?topic=tutorials-tutorial-creating-developer-portal "Tutorial: Creating the Developer Portal")でもガイドされています。

開発者ポータルの有効化は、それぞれのカタログ単位で設定します。
API Managerのメニューで「管理」を選択すると、構成されているカタログが表示されます。
<img alt="sandbox1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193979/06941b73-04d2-ad63-b90d-edb7f698c088.png">
デフォルトでは、「サンドボックス」と呼ばれるカタログが一つ提供されています。新規にカタログを作成することもできます。
新規にカタログを作成する場合は、カタログ作成時に、カタログ所有者となるユーザーを選択し、任意のカタログ名を入力します。カタログ作成後に「カタログ設定」「ゲートウェイ・サービス」を選択し「編集」でゲートウェイサービスを有効化します。

::: note info
AWSで提供されている「サンドボックス」カタログは、AWSのAPI Connect管理者が所有者になっています。「サンドボックス」カタログのポータルを有効化する場合は、カタログ所有者を自分のアカウント（IBMID）に変更して、アクティベーション・メールを自分宛に送信できます。カタログ所有者の確認、変更は、「カタログ設定」「概要」「編集」で確認できます。
:::

開発者ポータルを有効にするため、カタログのメニューで「カタログ設定」「ポータル」を選択します。
<img alt="catalog_portal1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193979/0ef7096d-f043-54d4-a9dd-6f8a8f46a358.png">
「作成」をクリックして、「ポータルの作成」画面を表示します。
<img alt="catalog_portal2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193979/a77aa423-cf5b-a8da-15de-6ca42b878153.png">
「このカタログで使用するポータル・サービスの選択」でポータル・サービスを選択します。URLはデフォルト値が自動的にセットされます。
「作成」をクリックすると、ポータルを有効化するアクティベーション・リンクを含むメールが、カタログ所有者のメールアドレスに送信されます。（メール送信まで5〜10分程度かかります）
そのリンクをクリックすることで、開発者ポータル・サイトが有効化されます。この最初の有効化時のユーザーは、開発者ポータルサイトのadminユーザーです。

## コンシューマー組織の作成とAPI利用
APIを利用するユーザーは、最初にコンシューマー組織（コンシューマー組織所有者）を作成します。
コンシューマー組織の作成、アプリケーションの作成、APIのテスト呼び出し方法については、[製品のチュートリアル：Creating Accounts and Applications on the Developer Portal](https://www.ibm.com/docs/en/api-connect/10.0.5.x_lts?topic=tutorials-tutorial-creating-accounts-applications-developer-portal "Tutorial: Creating Accounts and Applications on the Developer Portal")でもガイドされています。

開発者ポータル上からは、「アカウントの作成」で作成できます。
<img alt="portal1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193979/32ecf7f9-95e1-4be1-d401-8916e2e5ac7c.png">
入力項目は、ユーザー名、メールアドレス、名、姓、コンシューマー組織名、パスワード、CAPTCHAです。
<img alt="portal2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193979/0a596820-7f07-99c6-a637-a38eb2b98ced.png">
コンシューマー組織作成時に、このメールアドレスにアクティベーション・リンクのメールが送信され、そのリンクをクリックしアカウントを有効化します。

::: note info
コンシューマー組織所有者を作成するためには、API Managerで利用したIDのメールアドレスとは別のメールアドレスが必要です。
:::

### API仕様の確認
API仕様は、開発者ポータルにアクセスすることで確認できます。
API公開時の設定によって、ログインしたユーザー全員や特定のコンシューマー組織にのみ表示する制御も可能です。

### アプリケーションの作成とサブスクライブ
コンシューマー組織の開発者は、開発者ポータル上で、アプリケーションの作成を行います（このとき、同時にAPIキー（クライアントID、クライアントシークレット）も発行されます）。
このアプリケーションと公開されているAPIをサブスクライブし関連づけることで、このAPIキーをパラメーターとして付与したAPI呼び出しが、許可されるようになります。流量もこのAPIキー（クライアントID）をもとに制御されます。

### APIテスト呼び出し
サブスクライブした後で、API仕様の画面の「試す」メニューから、APIのテスト呼び出しができます。

# その他
開発者ポータルは、画面のロゴ、背景、レイアウト等のカスタマイズが可能です。ポータルを有効化した際のadminユーザーでこれらのカスタマイズを行います。
チュートリアルが提供されていますので参考にしてください。
[IBM API Connect Developer Portal tutorials](https://www.ibm.com/docs/en/api-connect/saas?topic=apis-developer-portal-tutorials
 "Developer Portal tutorials")