FIWAREでは、アプリケーションとバックエンド・サービスの認証(authentication)と認可(authorization)を管理するためのサービスとツールを提供しています。独自のメカニズムを開発せずにアプリケーションでIDを管理する場合は、FIWAREアカウントを使用してアプリにログインすることができます。
これは、FIWAREのIdentity Managerコンポーネントである、OAuth2プロトコルとKeyrockによるものです。TwitterやFacebookのアカウントを使用していくつかのサービスにログインするのと同じように、ユーザは自分のサービスにアクセスするためにFIWAREアカウントを使用します。しかし、これは最初のステップにすぎません。これは、FIWAREアカウントを使用してバックエンドを保護することもできるからです。サービスまたはGEにインターネットからアクセスできるREST APIがある場合は、おそらくリソースへのアクセスを管理したいと考えています。たとえば、FIWAREアカウントを持つユーザのみにアクセスを許可することができます。
さらに、ロールに基づいてユーザ権限を区別したい場合は、FIWAREのアクセス制御コンポーネントのおかげで、ロール階層を使用してさまざまなロールを定義し、ロールごとに特定の権限を定義することができます。この方法で、どのタイプのユーザがバックエンドの特定のリソースにアクセスできるかを判断できます。また、Identity Managerユーザ・インターフェースを介して基本的なロールのアクセス許可を管理することもできます。これらのアクセス許可は、アクセス制御コンポーネントに自動的にプッシュされます。ユーザロールを他のユーザ属性、リソース属性(URL以外)、環境属性(時間制約など)と組み合わせるなど、より高度な役割のアクセス許可を得るには、アクセスコントロール・インターフェースを直接使用します。いずれの場合も、Identity Managerインターフェースを使用してユーザにロールを割り当てることができます。
したがって、サービスでアクセス制御を管理するために知っておく必要がある2つのコンポーネントは次のとおりです:
Identity Managerは、ネットワーク、サービス、アプリケーションへのユーザのアクセスを含み、ユーザからデバイスへの安全かつ個人的な認証、ネットワークとサービス、認可&信頼管理、ユーザプロファイル管理、プライバシー保護のための個人データの処分、サービスドメインへのシングルサインオン(SSO)、アプリケーションに対するIDフェデレーションなどの多くの側面をカバーしています。 Identity Managerは、接続レベルとアプリケーションレベルのIdMシステム間のブリッジを提供する中心的なコンポーネントです。
このGEのおかげで、FIWAREでユーザと組織を作成できます。上記のOAuth2プロトコルを使用し、その中のロールと権限を管理するために、新しいアプリケーションを登録することもできます。
Access Control GEは、XACML標準に準拠した認可サービスを提供しています。OASIS XACML(eXtensible Access Control Markup Language)標準[1]は、執筆時点で、XMLで書かれた唯一の既存の標準アクセス制御言語です。OASIS XACML FAQによれば、” 意思決定の基礎としてあらゆる種類の情報を使用できるアクセス制御を表現するための非常に柔軟な言語を提供します。 パーミッション、ACL、RBACなど、他のよく知られているアクセス制御スキームの機能上のスーパーセットです。特に、リソースが分散され、ポリシー管理がフェデレーションされた大規模環境をサポートするように設計されています。”
つまり、このコンポーネントは、動的属性ベースのアクセス制御が重要な場合、すなわち、要求者(サブジェクト)の属性、要求されたアクション、要求されたリソース、および場合によっては環境属性のような、アクセス要求のコンテキスト内で属性が属性に依存する場合に有用であることがわかります。このコンポーネントは、ユースケースプロジェクトから開発者が導入した他のFIWARE GEやアプリケーションなどの重要なリソースへのアクセスを制御するさまざまな方法で使用できます。 ABAC(Attribute-Based Access Control)および/またはRBAC(Role-Based Access Control)ポリシーを管理し、これらのポリシーの認可決定を取得するためのAPIを開発者または一般的なセキュリティポリシーの作成者に提供します。それは、PEP(Policy Enforcement Point)の役割を果たすFIWARE Security Proxyと組み合わせることができます。
FIWAREでアクセス制御を処理する方法の詳細については、次を参照してください:
- FIWAREでアイデンティティ情報を作成する方法
- アプリケーションにOAuth2を実装する方法
- FIWARE GEにリクエストを送信する方法
- バックエンド・サービスを保護する方法
- FIWAREでアクセス制御を管理する方法
実験を開始し、実践的な作業を開始したい場合は、次を参照してください: