アクセス制御:基礎と実装

アクセス制御は情報セキュリティの基本的な柱の一つであり、誰がどのリソースに、いつ、どのような条件下でアクセスできるかを決定します。アクセス制御を適切に実装することで、機密情報を保護し、不正アクセスを防止し、法規制への準拠を確保します。

基本原則

アクセス制御は3つの主要な柱に基づいています:

  • 識別:ユーザーが誰であるかを特定する(ユーザー名、メール、証明書)
  • 認証:ユーザーが本人であることを検証する(パスワード、MFA、生体認証)
  • 認可:ユーザーが何をできるかを決定する(権限、ポリシー)

アクセス制御モデル

RBAC (Role-Based Access Control)

ロールベースのモデルでは、権限をユーザーに直接ではなく、組織のロールに割り当てます:

  • ユーザーにはロールが割り当てられます(Admin、Editor、Viewer)
  • ロールには定義された権限のセットがあります
  • 大規模な管理と監査を容易にします
  • 安定した組織構造に適しています

ABAC (Attribute-Based Access Control)

属性ベースの制御により、動的な意思決定が可能になります:

  • 複数の属性(ユーザー、リソース、コンテキスト、環境)を評価します
  • 複雑できめ細かなポリシー
  • 動的なシナリオに適応します
  • 例:「営業時間内のみ、企業のIPからのアクセスを許可する」

DAC (Discretionary Access Control)

リソースの所有者が権限を定義するモデル:

  • 柔軟だが安全性は低い
  • ファイルシステム(Windows、Linux)で一般的
  • 過剰な権限のリスク

MAC (Mandatory Access Control)

セキュリティ分類を伴う集中管理型の制御システム:

  • 軍事および政府機関の環境で使用される
  • 機密レベル(Top Secret、Secret、Confidential)に基づく
  • ポリシーはユーザーではなく中央で定義される

最小権限の原則

効果的なセキュリティの基本:

  • 厳密に必要な権限のみを付与する
  • 権限を定期的に見直し、調整する
  • 機密性の高い操作にはジャストインタイムアクセスを実装する
  • 不正防止のための職務分掌

IDおよびアクセス管理 (IAM)

IAMシステムはアクセス制御を一元化し、自動化します:

  • プロビジョニング:アカウントの作成と構成
  • デプロビジョニング:アクセス権の安全な削除
  • SSO (Single Sign-On):複数のシステムに対する単一認証
  • MFA (Multi-Factor Authentication):追加の検証レイヤー

クラウド環境におけるアクセス制御

クラウド特有の課題:

  • クラウドのIAMポリシー(AWS IAM、Azure AD、GCP IAM)
  • アプリケーション用のService accountsとロール
  • 複数のクラウド間でのIDフェデレーション
  • キーとシークレットの管理(AWS Secrets Manager、Azure Key Vault)

監査とモニタリング

不正の検出とコンプライアンスの確保に不可欠です:

  • 認証および認可のログ
  • 異常なアクセスに対するアラート
  • 定期的な権限の見直し
  • コンプライアンスレポート(SOC 2、ISO 27001)

よくある課題

  • Privilege Creep:時間の経過に伴う権限の蓄積
  • 孤立アカウント:無効化されていない退職者のアカウント
  • 過剰な権限:必要以上のアクセス権を持つユーザー
  • 可視性の欠如:誰が何にアクセスできるかが把握されていない

ベストプラクティス

  • 多要素認証(MFA)を普遍的に実装する
  • 最小権限の原則を厳格に適用する
  • プロビジョニングとデプロビジョニングを自動化する
  • 権限を四半期ごとに見直す
  • 環境を分離する(本番、開発、テスト)
  • セッション制御を実装する(タイムアウト、再認証)
  • 直接的な権限ではなくグループ/ロールを使用する
  • 権限マトリックスを明確に文書化する

ツールとソリューション

  • Okta、Auth0:クラウドネイティブのIAMプラットフォーム
  • Azure AD、AWS IAM:クラウドプロバイダーのソリューション
  • OpenLDAP、Active Directory:企業ディレクトリ
  • HashiCorp Vault:シークレットと認証情報の管理
  • SailPoint、Saviynt:IDガバナンス