secure specific tables in Data Warehouse I'm newbie in this domain, I have a project that aim to create java application (Desktop Application) to manage roles based on users profile in a data warehouse.

The thing that I'm not able to imagine is : How can I give some permissions to a specific table (eg. Fact table), and other permissions to others (eg. Dimension table)

Generally, how can we protect a spesific table in a data warehouse ?
You might be asking too broad of a question but if you wanted to have a user only have access to a table in SQL Server you could simply do a:

--Create Server Level User
USE [master]
GO
CREATE LOGIN [(UserName)] WITH PASSWORD=N'PutPasswordHere' DEFAULT_DATABASE=[DatabaseName]
GO

--Create DB Level Uesr
use [DatabaseName]
GO
CREATE USER (username) FOR LOGIN (username)

--Grant Select
GRANT SELECT ON DatabaseName.EDWTableName TO username


As your app matures you'll probably move to securing access through stored procedure and granting execute at some time but this answers your immediate question.  As far as how to secure SQL Server I'd recommend Microsoft's docs:
Securing SQL Server