ユース・ケース: アプリケーションの追加
アイデンティティ・ドメインにカスタム・アプリケーションを追加する方法を理解するには、このユース・ケースを参照してください。
このユース・ケースでは、ユーザーは、顧客見積りの信頼できるアプリケーションにアクセスします。この信頼できるアプリケーションは、abccorp.com
リソース・サーバー・アプリケーションへのREST APIコールを行うクライアント・アプリケーションです。リソース・サーバー・アプリケーションは、信頼できるアプリケーションがユーザーのかわりに消費できるサービスを提供するサードパーティ・アプリケーションです。
この例では、abccorp.com
リソース・サーバー・アプリケーションは、見積りの作成(/quote
)、見積りのリクエスト(/rfq
)、またはユーザーに関する情報の取得(/user
)に使用できるREST APIが格納された財務アプリケーションです。
ユーザーが顧客見積りの信頼できるアプリケーションにアクセスすると、アプリケーションは、ユーザーのかわりにabccorp.com
リソース・サーバー・アプリケーションへのREST APIコールを実行します。この例では、ユーザーがabccorp.com
アプリケーションと直接通信することはありません。
顧客見積りアプリケーションがユーザーのかわりにアクションを実行するため、このアプリケーションには、abccorp.com
アプリケーションで使用可能な/quote
、/rfq
および/user
REST APIへのアクセス権が必要です。これらのREST APIコールを実行するために、顧客見積りアプリケーションは、ユーザーの承諾を求めることがあります。この承諾は、顧客見積りアプリケーションがabccorp.com
アプリケーションのこれらのREST APIをコールするあらゆる時点で発生する可能性があります。
ユーザーは、クラウドでアイデンティティをフェデレートする方法であるOAuth 2.0およびOpenID Connectを使用して、シングル・サインオンを介してIAMにログインし、顧客見積りアプリケーションにアクセスします。abccorp.com
アプリケーションへの/quote
、/rfq
および/user
REST APIコールを実行するために、顧客見積りアプリケーションがユーザーのかわりに認可されるため、ユーザーは、顧客見積りアプリケーションを使用して、見積りの作成、見積りのリクエスト、およびユーザーに関する情報の取得を実行できます。ユーザーが顧客見積りアプリケーションを介して実行しようとする追加のアクションは、許可されません。
-
abccorp.com
リソース・サーバー・アプリケーション。このアプリケーションには、顧客見積りアプリケーションなどの他のアプリケーションがアクセスできるREST API (リソース)があります。この例では、ユーザーは、リソース・サーバー・アプリケーションに直接アクセスしませんが、顧客見積りアプリケーションを介して間接的にアクセスします。abccorp.com
リソース・サーバー・アプリケーションのリソースを登録します。アプリケーション・リソースは、IAMによって認可されたAPIコールです。この例では、/quote
、/rfq
および/user
REST APIがアプリケーション・リソースです。セキュリティおよび監査の目的で、これらのリソースにアクセスするための承諾をユーザーが付与する必要があるかどうかを指定できます。 -
顧客見積りの信頼できるアプリケーション。ユーザーは、このアプリケーションを使用して、
abccorp.com
アプリケーションのREST APIにアクセスします。このカスタム・アプリケーションを作成する場合、ユーザーがIAMにログインするときに、ユーザーの認可コードを生成します。その後、認可コードは、アクセス・トークンを取得するために顧客見積りアプリケーションに送信されます。アクセス・トークンには、ユーザーがリソース・サーバー・アプリケーションにアクセスするためのすべての権限が含まれます。この例では、見積りの作成、見積りのリクエスト、およびユーザーに関する情報の取得がこれらの権限に含まれます。
アクセス・トークンの存続期間は短いため、リフレッシュ・トークンを生成できます。リフレッシュ・トークンは、現在のアクセス・トークンの期限が切れるときに新しいアクセス・トークンを取得するためのセキュアなメカニズムです。この方法により、顧客見積りアプリケーションは、ユーザーの承諾を再度求めることなく
abccorp.com
アプリケーションのAPIにアクセスできます。
IAMでカスタム・アプリケーションを作成およびアクティブ化する方法の詳細は、アプリケーションの追加、アプリケーションのアクティブ化およびアプリケーションの非アクティブ化を参照してください。