FuelPHPには、マスター管理対象となるモデルの管理画面を自動生成するOilコマンド、Admin Scaffolding
がデフォルトで含まれています。

会社のモデルの管理画面を作成したときの手順です。

コードと名前だけをもつ会社マスター用のモデルを作成して、マイグレーションを実行

$ oil g admin company code:string name:string 
	Creating controller: /path/to/project/fuel/app/classes/controller/base.php
	Creating controller: /path/to/project/fuel/app/classes/controller/admin.php
	Creating views: /path/to/project/fuel/app/views/admin/template.php
	Creating views: /path/to/project/fuel/app/views/admin/dashboard.php
	Creating views: /path/to/project/fuel/app/views/admin/login.php
	Creating migration: /path/to/project/fuel/app/migrations/001_create_companies.php
	Creating model: /path/to/project/fuel/app/classes/model/company.php
	Creating controller: /path/to/project/fuel/app/classes/controller/admin/company.php
	Creating view: /path/to/project/fuel/app/views/admin/company/index.php
	Creating view: /path/to/project/fuel/app/views/admin/company/view.php
	Creating view: /path/to/project/fuel/app/views/admin/company/create.php
	Creating view: /path/to/project/fuel/app/views/admin/company/edit.php
	Creating view: /path/to/project/fuel/app/views/admin/company/_form.php
$ oil r migrate

管理画面にアクセス可能かどうかは Auth パッケージの User の所属グループによって判断されます。

Authパッケージを有効にします。

	'always_load'  => array(
		...
		'packages'  => array(
			'orm',
			'auth',
		),
		...
		'config'  => array('auth'),
		...
	),

Authドライバーは Ormauth を指定しました。

 $ cp fuel/packages/auth/config/auth.php fuel/app/config/
return array(
	'driver' => 'Ormauth',
	'verify_multiple_logins' => false,
	'salt' => 'xxxxxxx',
	'iterations' => 10000,
);

Authパッケージ用のテーブルをデータベースに追加します。

$ oil r migrate --packages=auth
Performed migrations for package:auth:
001_auth_create_usertables
002_auth_create_grouptables
003_auth_create_roletables
004_auth_create_permissiontables
005_auth_create_authdefaults
006_auth_add_authactions
007_auth_add_permissionsfilter
008_auth_create_providers
009_auth_create_oauth2tables
010_auth_fix_jointables

管理画面にアクセスするユーザは、”Super Admins”のAuth_Groupに所属している必要があります。
追加された Controller_Admin をみると before で管理者かどうかをチェックしているのがわかります。

class Controller_Admin extends Controller_Base
{
	...
	public function before()
	{
		parent::before();

		if (Request::active()->controller !== 'Controller_Admin' or ! in_array(Request::active()->action, array('login', 'logout')))
		{
			if (Auth::check())
			{
				$admin_group_id = Config::get('auth.driver', 'Simpleauth') == 'Ormauth' ? 6 : 100;
				if ( ! Auth::member($admin_group_id))
				{
					Session::set_flash('error', e('You don\'t have access to the admin panel'));
					Response::redirect('/');
				}
			}
			else
			{
				Response::redirect('admin/login');
			}
		}
	}

Ormoauthの場合は、id=6 のグループが管理者グループとしてデータベースに登録されています。
ユーザーにグループを設定する画面はないので、データベースを直に修正して管理者を設定します。

とりあえず、Authパッケージのマイグレーションで追加される admin@example.org / admin ユーザーでログインすると、/admin 以下に管理画面が作成されています。
admin_scaffolding

参考:
FuelPHP での「管理パネル」チュートリアル – A Day in Serenity @ kenjis
Build an Admin Panel with the Fuel PHP Framework – Tuts+ Code Tutorial