OAuth에 대한 사용자 동의 관리하기¶
이 항목에서는 OAuth에 위임된 권한 부여, 즉 지정된 역할에 대해 Snowflake 통합에 연결된 1개 이상의 클라이언트에 지정된 사용자 동의를 관리하는 방법을 설명합니다.
이 항목의 내용:
위임된 권한 부여 추가하기¶
사용자에게 위임된 권한 부여를 추가하면 특정 통합에 지정된 역할을 사용하여 세션을 시작하기 위한 동의를 사전에 승인할 수 있습니다. 위임된 권한 부여가 없는 경우 사용자는 인증 후에 반드시 역할에 대한 동의를 승인해야 합니다. 위임된 권한 부여는 지정된 역할에 대한 권한 부여 단계만 우회하며, 인증 코드를 요청하려면 사용자가 항상 인증을 받아야 한다는 점에 유의하십시오.
위임된 권한 부여를 추가하는 기능은 사용자 지정 클라이언트로 제한됩니다. 공용 클라이언트(즉, Tableau Server 또는 Desktop)의 경우 Snowflake는 항상 지정된 역할에 대한 확인 대화 상자를 표시합니다.
ADD DELEGATED AUTHORIZATION 키워드가 포함된 ALTER USER 를 사용하여 역할에 사용자 동의 추가:
ALTER USER <username> ADD DELEGATED AUTHORIZATION
OF ROLE <role_name>
TO SECURITY INTEGRATION <integration_name>;
여기서:
username
동의를 추가할 사용자를 지정합니다.
role_name
액세스 토큰과 연결된 역할을 지정합니다.
integration_name
특정 클라이언트에 대한 액세스 토큰과 연결된 통합을 지정합니다.
참고
보안 관리자(즉, SECURITYADMIN 역할의 사용자) 이상만 이 SQL 명령을 실행할 수 있습니다.
예를 들어, MYINT 통합을 위해 JANE.SMITH 사용자에게 CUSTOM1 역할에 대한 사용자 동의를 추가합니다.
ALTER USER jane.smith ADD DELEGATED AUTHORIZATION
OF ROLE custom1
TO SECURITY INTEGRATION myint;
위임된 권한 부여 보기¶
SHOW DELEGATED AUTHORIZATIONS 를 사용하여 액세스 권한이 있는 유효한 위임된 권한 부여를 나열합니다.
SHOW DELEGATED AUTHORIZATIONS;
+-------------------------------+-----------+-----------+-------------------+--------------------+
| created_on | user_name | role_name | integration_name | integration_status |
+-------------------------------+-----------+-----------+-------------------+--------------------+
| 2018-11-27 07:43:10.914 -0800 | JSMITH | PUBLIC | MY_OAUTH_INT | ENABLED |
+-------------------------------+-----------+-----------+-------------------+--------------------+
지정된 사용자에 대해 위임된 활성 권한 부여를 나열합니다. 사용자는 본인의 위임된 권한을 나열할 수 있지만, 그렇지 않은 경우 이 명령 베리언트에는 사용자에 대한 OWNERSHIP 권한이 필요합니다.
SHOW DELEGATED AUTHORIZATIONS
BY USER <username>;
지정된 통합에 대해 위임된 활성 권한 부여를 나열합니다. 이 명령 베리언트에는 통합에 대한 OWNERSHIP 권한(즉, ACCOUNTADMIN 역할)이 필요합니다.
SHOW DELEGATED AUTHORIZATIONS
TO SECURITY INTEGRATION <integration_name>;
위임된 권한 부여 취소하기¶
사용자는 지정된 통합에서 동의를 취소할 수 있습니다. 이는 통합과 관련된 액세스 토큰을 모두 취소하는 효과가 있습니다.
지정된 통합에 대한 사용자 동의를 취소하려면 ALTER USER … REMOVE DELEGATED AUTHORIZATIONS 명령을 실행합니다.
참고
보안 관리자(즉, SECURITYADMIN 역할의 사용자) 이상만 이 SQL 명령을 실행할 수 있습니다.
ALTER USER <username>
REMOVE DELEGATED AUTHORIZATIONS
FROM SECURITY INTEGRATION <integration_name>
특정 역할과 연결된 사용자 동의를 취소하려면 문에 OF ROLE role_name
을 포함합니다.
ALTER USER <username>
REMOVE DELEGATED AUTHORIZATION OF ROLE <role_name>
FROM SECURITY INTEGRATION <integration_name>
여기서:
username
동의를 취소할 사용자를 지정합니다.
role_name
액세스 토큰과 연결된 역할을 지정합니다.
integration_name
특정 클라이언트에 대한 액세스 토큰과 연결된 통합을 지정합니다.
예를 들어, MYINT 통합의 JANE.SMITH 사용자에서 CUSTOM1 역할에 대한 사용자 동의를 제거합니다.
ALTER USER jane.smith
REMOVE DELEGATED AUTHORIZATION OF ROLE custom1
FROM SECURITY INTEGRATION myint;