認可とは?認可とは?認可とは、リソースにアクセスする能力を与えるプロセスのことです。この定義は曖昧に聞こえるかもしれません。実生活のあらゆる状況に当てはめてみると、認可とは何かを説明しやすくなります。住宅の所有権が良い例です。オーナーは、資産(リソース)への完全なアクセス権を持っていますが、他の人に資産へのアクセス権を付与することもできます。このシンプルな例を使って、認可に関するいくつかの概念を説明することができます。家にアクセスすることは、許可です。リソースについて実行できるアクションです。家に関する他のアクセス許可には、家具を備えつけること、清掃すること、修理をすることなどがあります。許可は、それが誰かに割り当てられると特権(または権利)となります。そのため、あなたが内装業者に家具を入れる許可を割り当てると、内装業者にその権限を与えることになります。一方で、内装業者があなたの家に家具を入れる許可をたずねる場合もあります。この場合には、リクエストされた許可は、スコープです。内装業者があなたの家で実行したい「行動」ということになります。飛行機に搭乗するプロセスを考えてください。あなたは、その便を利用することが認められていることがわかる搭乗券を持っています。空港のゲート係員にとっては、搭乗券だけではあなたを搭乗させるわけにはいきません。証明するパスポートも必要です。この場合、空港のゲート係員は、パスポートの名前と搭乗券の名前を比較し、適合していればあなたを通過させます。他の属性は、年齢、言語、クレジットカード、特定のシナリオに関連するあらゆるものです。パスポートに記載されているあなたの名前は、クレームです。その属性を取得していることを記載した宣言書です。パスポートの名前を読む人は、パスポートを発行した国を信頼しているため、あなたの名前について確信します。搭乗券は、フライトに乗るためのアクセス権限を付与する、「アクセストークン」のようなものです。前述のシナリオでは、認可するという行為は、他のエンティティが完了させることができないタスクを、エンティティが実行できるようにすることでした。認可を使うコンピューターシステムは、似たような方法で機能します。おいて認証・認可は、誰がシステムのリソースにアクセスするのか、クライアント権限を設定するのかを、システム管理者が制御するのに役立ちます。システムが認可サービスを扱う方法は、実生活のアクセス制御プロセスとよく似ています。ようなコラボレーションツールについて考えてみましょう。アプリケーションでは、文書を作成したり、共有したりすることができます。他のアクセス許可では、文書への更新、削除、コメントをすることができます。文書の所有者である場合には、誰か他の人とそれを共有して、1つまたは複数のポリシーを定義することができます。コメントだけを残させるようにして、あなたの文書を他の誰かと共有することができます。次の図表では、リソースのアクセスに対する認可を示しています。:認可戦略による認可の定義アプリケーションのデプロイ中、コンピュータシステムは、複数の異なる認可戦略を利用します。有名なものは、役割ベースのアクセス制御(RBAC)属性ベースのアクセス制御(ABAC)です。関係性ベースのアクセス制御(ReBAC)に関する調査と解決に取り組んでいます。これらの各戦略は、アプリケーション開発者が、異なる認可要件と認可サービスを取り扱う際に役立ちます。使う場合、コンピュータシステムは、ユーザーが、ユーザーに関連づけられた特性(属性またはクレーム)に基づき、アクションを実行するだけの十分なアクセス権限を持つかどうかを定義します。この認可プロセスのユースケースの例は、アルコール飲料を販売するオンラインストアです。オンラインストアのユーザーは、自身の年齢の証明書の登録や提供が必要です。認可においては、この場合、次のように説明することができます:オンラインストアは、リソースオーナーですアルコール飲料は、リソースです登録プロセス中に認証された消費者の年齢はクレーム、つまり、ユーザー年齢という属性の証明書です年齢の証明を提示することで、オンラインストアは、アルコールを購入するアクセスリクエストを処理することができます。この場合、リソースへのアクセスを許可する判断は、ユーザーの属性に基づいて行われます。認可を役割に関連づけられた許可として扱い、直接ユーザーと関連づけません。役割**は、許可の集合にすぎません。一組織の部長として働いていると想像してみてください。このような場合、たとえば、休暇申請や経費申請の承認、タスクの割り当てなど、部長には部長の役割に見合った権限が与えられているはずです。した許可を与えるためにシステム管理者は、まず、「管理者」(または類似した役割)と呼ばれる役割を作成します。続けて、これらの許可をこの役割に割り当て、それが「管理者」の役割と関連付けられます。同じ許可セットを必要とする他のユーザーもその役割に関連付けることができます。使うメリットは、システム管理者がユーザーおよび許可を、個々に処理する必要がなく、まとめて処理できるため、より簡単に認可の特権を管理できることです。関係性ベースのアクセス制御では、認可について次の質問を問うことになります。関係性は、ユーザー属性から発生します。オブジェクトに関連する役割グループの一員である、または直接関係がある、或いは文書で共有されているなどです。時として、グループグラフ、役割、組織、オブジェクトをトラバースするには、多数のノードを探索し、ユーザーとユーザーがしようとしていることとの関係性を確立しなければなりません。システムの実装次第です。製品のための開発者コミュニティプレビューをリリースしました。Authorization)についてのより詳しい情報は、当社の開発者プレビューをご覧ください。とアクセスの管理に関するトピックをご覧ください。使ってどのように認可に関する問題を解決したのか、このウェビナーでご覧ください。