Tableau OAuth 관리자 설정
OAuth를 사용하면 사용자가 토큰을 직접 입력하는 대신 브라우저에서 Foundry에 로그인합니다. Foundry 관리자 권한이 필요하며 Server에 적용하려면 Tableau 관리자 권한과 Server 재시작도 필요합니다.
Desktop의 OAuth 애플리케이션 활성화
- Foundry Control Panel의
Third-party applications를 엽니다. Tableau Desktop을 찾고Actions > Enablement settings를 선택합니다.- 애플리케이션 활성화 토글을 켭니다.
개별 사용자의 Foundry 권한을 적용합니다. 앱의 Project access 또는 Marking restrictions를 설정했다면 그 제한도 사용자 권한 위에 함께 적용됩니다. 앱 활성화가 개인의 데이터 접근 권한을 넓히는 것은 아닙니다.
사용자는 Tableau 연결의 Foundry OAuth로 로그인할 수 있습니다.
Server의 OAuth 클라이언트 등록
같은 Third-party applications에서 New application을 선택합니다.
- Details에 조직명을 포함한 Tableau Server 애플리케이션 이름을 지정합니다.
- Client type은 Confidential client로 선택합니다.
- Authorization grant type은 Authorization code grant로 선택합니다.
- Redirect URL에 아래 주소를 등록합니다. 호스트는 Foundry가 아닌 Tableau Server입니다.
https://<YOUR_TABLEAU_SERVER>/auth/add_oauth_token
앱을 만든 뒤 Client ID와 Client Secret을 안전하게 보관합니다. 이 설정은 사용자 승인 기반 OAuth용이며 서비스 사용자로 연결하는 Client credentials grant 구성과 구분합니다.
TSM 구성
oauth.config.clients에는 OAuth 클라이언트들의 JSON 배열을 지정합니다. 기존에 다른 클라이언트 항목이 있으면 그 항목을 유지한 전체 배열을 구성합니다. 아래 단일 Foundry 항목 예시로 기존 배열을 덮어쓰지 않습니다.
다음은 Foundry 항목만 필요한 초기 구성을 위한 Bash 및 Python 3 예시입니다. 등록한 실제 값을 환경 변수 FOUNDRY_CLIENT_ID, FOUNDRY_CLIENT_SECRET, TABLEAU_REDIRECT_URI로 전달합니다. 리다이렉트 URI는 앞 단계의 등록값과 같아야 합니다. JSON 생성에 실패하면 설정 명령을 실행하지 않습니다.
OAUTH_CLIENTS_JSON="$(python3 -c 'import json, os; print(json.dumps([{
"oauth.config.id": "FoundryJdbc",
"oauth.config.client_id": os.environ["FOUNDRY_CLIENT_ID"],
"oauth.config.client_secret": os.environ["FOUNDRY_CLIENT_SECRET"],
"oauth.config.redirect_uri": os.environ["TABLEAU_REDIRECT_URI"]
}]))')" &&
tsm configuration set -k oauth.config.clients -v "$OAUTH_CLIENTS_JSON" --force-keys
JSON 값에 포함된 시크릿을 이력이나 로그에 노출하지 않도록 관리합니다. 기존 항목을 포함해야 하는 서버에서는 관리자가 검토한 전체 JSON 배열을 전달합니다.
설정 명령이 성공했는지와 적용 대기 중인 변경 범위를 확인한 뒤 다음 명령으로 보류된 설정을 적용합니다. 재시작이 필요한 변경은 Server 재시작 절차를 따릅니다.
tsm pending-changes apply
게시와 뷰어 권한
Desktop에서 Foundry OAuth로 보고서를 작성합니다. Server 게시 시 인증 옵션을 Prompt로 선택하면 보고서를 여는 뷰어에게 OAuth 로그인을 요청하고 Live 연결은 그 뷰어의 자격 증명으로 새로 고침합니다.
OAuth를 선택했다는 사실만으로 모든 게시 방식이 뷰어별 조회가 되는 것은 아닙니다. 자격 증명 포함 방식과 Extract를 사용하는 경우에는 저장 및 새로 고침에 사용하는 자격 증명 범위를 구분합니다. 자격 증명 포함 게시를 준비할 때는 연결 가이드의 Saved Credentials 절차를 적용합니다.