App ID の概要
アプリケーション・セキュリティーは複雑過ぎて手に負えなくなることがあります。 これはほとんどの開発者にとって、アプリ作成における難題の一つとなっています。 確実にユーザー情報を保護するにはどうすればよいでしょうか? アプリに IBM Cloud® App ID を統合することによって、セキュリティーに関する経験があまりなくても、リソースを保護し、認証を追加することができます。
App ID はどのような役に立つのでしょうか? 詳細は、次のビデオをご覧ください。
動画の文字起こし
このセクションには、別の形式や翻訳されたバージョンを必要とするユーザーのために、App ID の紹介ビデオのトランスクリプトを記載します。
地元のコーヒー・ショップのバリスタがあなたの名前とあなたがよく頼む飲み物を覚えていたら素晴らしいと思いませんか? アプリケーションを構築するときにも、そのような一人一人に合わせたエクスペリエンスをユーザーに提供して、特別感を与えたり、時間の節約を可能にしたりしたいはずです。 もちろん、アイデアがどれほど素晴らしくても、アプリが成功するかどうかは、ユーザーとの信頼を築けるかどうかにかかっています。つまりは、ユーザーのデータを保護し、アプリからアクセスするシステムを保護することが肝心です。 そのためには、誰がアプリを使用しているのかを把握することが鍵になります。 まずは、サインイン機能を追加します。 しかし、多くの開発者が知っているように、認証と許可をアプリに追加する作業は、リスクがあるだけでなく複雑な作業です。 これこそが、IBM が App ID を IBM Cloud に構築した理由です。App ID を使用すれば、開発者はモバイル・アプリや Web アプリに簡単に認証を追加できます。また、カスタム・アプリ・エクスペリエンスを構築するために開発者が利用できるユーザー・データをクラウドでホストすることもできます。
ユーザーが簡単にサインインできるように、App ID では、ユーザーにアプリから直接サインインさせ、その後に E メールとパスワードでサインインさせることができます。 また、ユーザーが既に所有している資格情報を使用して Facebook アカウントや Google アカウントでサインインさせることもできます。 ユーザーが認証されたら、アプリで使用するバックエンド・リソースに対するアクセスを許可できます。
App ID ではまた、さまざまな要素に基づいて、一人一人に合わせたエクスペリエンスをユーザーに提供することができます。 App ID では、ユーザーに関する情報を保管し、開発者がその情報をアプリのために使用できるようにすることができます。App ID は、iOS、Android、および Web で使用できます。 もちろん、OAuth 2.0 や OIDC などのオープン・スタンダードに基づいて構築されています。 利用を始めるには、App ID のカタログで IBM Cloud サービスを確認してください。
サービスを使用する理由
開発者は 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) の仕様にも準拠しています。