収入UPの転職を目指す方へ

ユーザーのアクセス権はNeed to know!

  • 2015/06/16
ユーザーのアクセス権はNeed to know!

今回は前々回そして前回のブログに引き続き、AAAテクノロジーにおける認可とその種類についてご紹介したいと思います。

IT業界まるわかりガイドは、日本初Web専門スクールのインターネット・アカデミーが運営する業界情報メディアです。最新の業界情報を、初心者にも分かりやすくご紹介しています。

目次

認可とは

認可とは、IDとパスワード等を使って認証されたユーザーが、 情報システムやネットワークの中でのアクセスができる範囲や、 実行できるアクションの内容を決定する、アクセス権付与のフェーズです。

これは裏を返すと、ユーザーのアクセスやアクションに対し、 不可侵の要件を決定するという、「拒否の範囲を決定」するプロセスでもあります。

認可はAAAのプロセスの中でも最も重要な要素であり、 個々のユーザーの信用のレベルに応じ、またはユーザーが必要とするレベルに応じて、 適切な範囲でアクセス権を付与することが求められます。

日常生活で例えるならば 訪問者がベルを鳴らして「近所の田中です」と名乗るのは『識別』、 家の者が声や容姿から「間違いなく近所の田中さんだ」と確認するのは『認証』、 そして親しさや必要性に応じて、家の人が田中さんが家に入る程度を決定するのは『認可』といえます。

ただの顔見知りなら玄関先で応じるだけかもしれません。 親しい友人であれば居間まで入れることもあるでしょう。 また、田中さんが工務店の人で、家の人が風呂場の補修を依頼していたのであれば、 風呂場に入る許可を与える必要があります。

ただの顔見知りなのに風呂場に入る許可を与えたり、 補修を依頼した工務店の人なのに玄関より先には入らせなかったりするならば、 適切な認可がなされたということはできません。

Need to knowの原則

ユーザーのアクセス権の範囲を決定する際には、 当該ユーザーがアクセスしても良いデータに対してのみ、アクセスを許可するように設定します。

情報は知る必要がある者に対してのみ与え、 知る必要のない者には与えないという原則を、Need to knowの原則といいます。

また、アクセス権は必要最小限の範囲でのみ認められるべきです。 これを「Least Privilege(最小特権)の原則」といいます。

アクセス権が適切に設定されていないと、 本来そのユーザーには禁止されるべき行為を許してしまったり、 逆に許されるべき行為に制限をかけてしまうことになります。

このため、アクセス権の設定は慎重に行い、 設定後に適切であったか検証することも大切です。

また、全てのアクセス制御はアクセスがない状態から考え、 その上に構築していきます。この概念を「規定値ゼロ」といいます。

アクセス基準とその種類

認可のためのアクセス基準としては、以下のものが考えられます。

役割による基準

業務内容に応じて、ユーザーに必要な権限を割り当てます。

グループによる基準

複数のユーザーを一つのグループとしてまとめて、 そのグループに対しては一定の権限とアクセス許可を割り当てる方式です。 個々のユーザーはそのグループの一員として登録されることになります。

グループには、前述した役割によるグループ分けや部署によるグループ分けが考えられます。 大規模な組織やシステム、ネットワークになると、全ユーザーに個別にアクセス権を設定することは、管理の増大を招きます。 グループ単位でのアクセス権付与はシステムの効率的な運用を可能にします。

場所による制限

ネットワークのアドレス制限を行い、特定の場所からのアクセスのみ許可するよう設定します。 権限のない個人ユーザーがサーバーにリモートで入り、再設定を行うことができないようにします。

時間による制限

特定の処理やサービスに対し、アクセス可能な時間帯を制限します。

取引形態による制限

特定の機能におけるデータへのアクセスやコマンドの実行を制限します。

シングルサインオン

現代社会においては、企業を巡る環境は瞬く間に変化し、 ユーザーは様々なシステムを使いこなしての業務が求められています。

異なるシステムにアクセスするために、 異なるIDとパスワードをその都度記憶しなければならないのでは、 忘却や情報漏洩の危険が増大します。

この問題への対応として、一つのIDとパスワードで当該ユーザーがアクセス可能な全てのアプリケーションへのアクセスを可能にする、 シングルサインオン(SSO)と呼ばれるアクセス制御方法があります。

一度認証が行われれば、複数のシステムにアクセス可能なため、非常に便利な方法です。 その一方、いったんパスワードが流出すると、そのユーザーがアクセスできる全てのシステムが脅威にさらされるというリスクもありますので、 バランスを考えてセキュリティシステムを構築する必要があります。