Snowflake의 dbt 프로젝트에 대한 액세스 제어¶
다음 명령은 dbt 프로젝트 오브젝트에 대해 일반적으로 부여되는 권한을 보여줍니다.
작업 공간 내에서 배포하는 것을 포함하여 dbt 프로젝트 오브젝트를 생성할 수 있는 권한을 부여하려면:
dbt 프로젝트 오브젝트에 작업 공간을 연결하는 것을 포함하여 dbt 프로젝트 오브젝트를 변경하거나 삭제할 수 있는 권한을 부여하려면:
dbt 프로젝트 오브젝트를 실행하고 파일을 나열하거나 가져올 수 있는 권한을 부여하려면:
To view a dbt project object in Snowsight, you must use a role that has the MONITOR privilege on that dbt project object. Without this privilege, you can’t access the project details, run history, or monitoring information:
자세한 내용은 dbt 프로젝트 오브젝트 권한 섹션을 참조하십시오.
dbt 프로젝트 배포를 위한 역할 및 권한¶
Deploying a dbt project from Snowsight initially uses the role you select from Connect » Deploy dbt project. During compilation, the dbt project object uses the role specified in the target profile in the profiles.yml file, unless the object has the DEFAULT_TARGET attribute, which takes precedence.
마찬가지로, SQL 또는 CLI에서 dbt 프로젝트를 배포하는 경우 처음에는 워크시트 또는 :code:`connection.toml`에서 각각 역할을 사용한 다음, 명령에 지정된 역할을 사용합니다. 배포 중 실제 컴파일은 오브젝트에 우선적으로 적용되는 DEFAULT_TARGET 특성이 있는 경우를 제외하고, :code:`profiles.yml`의 대상 프로필 내에서 역할을 사용합니다.
dbt 프로젝트 실행을 위한 역할 및 권한¶
When you execute a dbt project object, the roles that perform execution and that materialize output when you specify the dbt run or build commands depend on the method of execution.
SQL 또는 CLI에서 실행¶
EXECUTE DBT PROJECT에 지정된 dbt 명령은 프로젝트 profiles.yml 파일의 outputs 블록에 지정된 role``의 권한으로 실행됩니다. 작업은 EXECUTE DBT PROJECT를 호출하는 Snowflake 사용자에게 부여된 권한으로만 추가로 제한됩니다. 지정된 사용자와 역할 모두 ``warehouse``를 사용하고, 프로젝트의 :file:`profiles.yml` 파일에 지정된 ``database 및 ``schema``에 대한 작업을 수행하고, dbt 모델이 지정하는 다른 Snowflake 오브젝트에 대한 작업을 수행하는 데 필요한 권한이 있어야 합니다.
작업 공간 내에서 실행¶
Choosing the dbt Run or Build command for a project from within a workspace materializes target output using the role defined in the project’s profiles.yml file. Both the user and the role specified must have the required privileges to use the warehouse, perform operations on the database and schema that are specified in the project’s profiles.yml file, and perform operations on any other Snowflake objects that the dbt model specifies.
작업 공간 내에서 예약된 실행¶
작업 공간 내에서 dbt 프로젝트 오브젝트 실행을 예약하면 사용자 관리 작업이 생성됩니다. 작업 공간 내에서 작업을 생성하려면 CREATE TASK 참조의 label-create_task_sql_access_control`에 설명된 권한을 가진 역할이 사용자에게 있어야 합니다. Snowflake는 작업 소유자의 권한으로 작업을 실행하지만 작업 실행은 사용자와 연결되지 않습니다. 자세한 내용은 :ref:`label-system_service 섹션을 참조하십시오.