App ID の概要
近所のコーヒーショップのバリスタが、あなたの名前といつもの注文を覚えていてくれるなんて最高じゃない? アプリケーションを作るとき、ユーザーに特別感を与えたり、時間を節約したりするために、そのようなテーラーメイドの体験を盛り込みたいと思うかもしれない。 しかし、どんなにカスタマイズされたエクスペリエンスであっても、アプリの成功はユーザーとの信頼関係を構築できるかどうかにかかっている。 誰があなたのアプリを使用しているかを知ることは重要な部分であり、サインイン機能を追加することから始まります。 しかし、多くの開発者が知っているように、認証と許可をアプリに追加する作業は、リスクがあるだけでなく複雑な作業です。 IBM Cloud® App ID、アプリケーションに認証を簡単に追加し、ユーザー体験をカスタマイズするために使用できるユーザーデータをクラウドにホストすることができます。
アプリケーション用に App ID を設定すると、ユーザーは電子メールまたはパスワードを使用してアプリケーションから直接サインインできます。 あるいは、ソーシャルメディア・アカウントの使用を許可し、彼らがすでに使い慣れている認証情報を使用できるようにすることもできる。 ユーザーが認証された後、アプリが使用するバックエンドリソースへのアクセスを許可して、ユーザーの体験を調整することができます。 App ID では、ユーザーに関する情報を保存し、開発者がアプリを開発する際にその情報を使用することができます。
サービスを使用する理由
開発者は App ID を利用すると、少ない行数のコードで Web アプリやモバイル・アプリに認証を簡単に追加し、IBM Cloud 上のクラウド・ネイティブのアプリケーションとサービスを保護することができます。 ユーザーにアプリへのサインインを要求することにより、アプリの設定や公開されているソーシャル・プロファイルからの情報などのユーザー・データを保管し、そのデータを活用してアプリ内の操作環境をユーザーごとにカスタマイズできます。App ID ではログイン・フレームワークが提供されていますが、独自のブランド画面が付いた画面を Cloud Directory で使用することもできます。
| シナリオ | ソリューション |
|---|---|
| モバイル・アプリや Web アプリに許可と認証を追加する必要があるが、セキュリティーに関する背景知識がない。 | App ID を使用すれば、アプリに認証ステップを簡単に追加できます。 API、SDK、事前構築された UI、または独自のブランドの UI を使用して E メールまたはユーザー名によるサインイン、ソーシャル・サインイン、またはエンタープライズ・サインインをアプリに追加することができます。 |
| アプリケーションやバックエンド・リソースへのアクセスを制限したい。 | App ID によって提供される標準ベースの認証を使用すれば、アプリ、バックエンド・リソース、API を簡単に保護できます。 |
| ユーザーのために個人別設定の可能なアプリケーション操作環境を構築したい。 | App ID を使用すれば、アプリの設定や公開されているソーシャル・プロファイル情報などのユーザー・データを保管し、そのデータを利用してアプリの操作環境を個別にカスタマイズできます。 |
| スケーラブルな方法でユーザーを管理したい。 | App ID では、Cloud Directory を作成できます。これにより、ユーザー登録とサインインをアプリに追加できます。 Cloud Directory は、ユーザー・ベースに合わせて拡張可能なユーザー・レジストリーを維持するためのフレームワークを提供します。 事前構築されたセルフサービスの機能 (E メールの検証やパスワードの再設定など) を利用して、アプリのユーザー認証を安全に行うことができます。 |
仕組みについて
App ID を使用すれば、ユーザーにサインインを要求することによって、アプリのセキュリティー・レベルを強化できます。 さらに Server SDK または API を使用してバックエンド・リソースを保護することも可能です。
- アプリケーション
- Server SDK: Server SDK を使用して、IBM Cloud でホストされているバックエンド・リソースや、Web アプリを保護できます。 Server SDK は、要求からアクセス・トークンを抽出し、App ID で検証します。 Client SDK: Android または iOS の Client SDK を使用して、モバイル・アプリを保護できます。 Client SDK は、許可チャレンジを検出すると、クラウド・リソースと通信して認証プロセスを開始します。
- IBM Cloud
- App ID: 認証が成功すると、App ID からアクセス・トークンと識別トークンがアプリに返されます。 Cloud Directory: ユーザーは自分の E メールとパスワードを使用してサービスに登録できます。 その後、コンソールからリストビューでユーザーを管理することができます。 Cloud Directory を使用すれば、App ID は ID プロバイダーとして機能します。
- 外部 (サード・パーティー)
- ソーシャル ID プロバイダーとエンタープライズ ID プロバイダー: App ID は、Facebook、Google+、SAML 2.0 フェデレーションを ID プロバイダー・オプションとしてサポートしています。 このサービスは、ID プロバイダーへのリダイレクトを調整し、返された認証トークンを検証します。 トークンが有効な場合、サービスはアプリへのアクセス権限を付与します。
統合
App ID を他の IBM Cloud オファリングと一緒に使用することができます。
- Kubernetes Service
- 標準クラスター内に Ingress を構成して、クラスター・レベルでアプリを保護できます。 まずは App ID 認証 Ingress アノテーションを チェックしよう。
- API Connect
- APIを API Connect でAPIを作成すると、アプリケーションのコードではなくゲートウェイでアプリケーションを保護することができる。
標準および認定
App ID は、いくつもの認定、監査、および標準に合格しています。
App ID は、企業向けアプリケーションと消費者向けアプリケーションの両方で広く使用されている周知の業界標準プロトコルと仕様である OAuth 2.0 Authorization Framework および Open ID Connect に基づいています。 OAuth 2.0 は、保護リソースにアクセスするための許可の取得と検証のために使用されています。 また、Open ID Connect により、認証と ID 保護のレイヤーがアプリケーションに追加されます。
認証の完全なリストは、 App ID ソフトウェア製品互換性レポートのセクション 5.4 を参照してください。 認定に加えて、App ID は、OAuth 2.0、OpenID Connect、JSON Web Token (JWT)、JSON Web Signature (JWS)、System for Cross-domain Identity Management (SCIM) の仕様にも準拠しています。