1. In Materialize, create a dedicated service account `fdw_svc_account` as an **Organization Member**. For details on setting up a service account, see [Create a service account](https://materialize.com/docs/manage/users-service-accounts/create-service-accounts/) {{< tip >}} Per the linked instructions, be sure you connect at least once with the new service account to finish creating the new account. You will also need the connection details (host, port, password) when setting up the foreign server and user mappings in PostgreSQL. {{}} 1. After you have connected at least once with the new service account to finish the new account creation, modify the `fdw_svc_account` role: 1. Set the default cluster to the name of your serving cluster: ```mzsql ALTER ROLE fdw_svc_account SET CLUSTER = ; ``` 1. [Grant `USAGE` privileges](/sql/grant-privilege/) on the serving cluster, and the database and schema of your views and materialized views. ```mzsql GRANT USAGE ON CLUSTER TO fdw_svc_account; GRANT USAGE ON DATABASE TO fdw_svc_account; GRANT USAGE ON SCHEMA TO fdw_svc_account; ``` 1. [Grant `SELECT` privileges](/sql/grant-privilege/) to the various view(s)/materialized view(s): ```mzsql GRANT SELECT ON , <...> TO fdw_svc_account; ```