액세스 제어

에이전트를 빌드하기 위해 여러 팀 구성원이 공동작업하는 경우가 많습니다. 역할을 사용하여 팀 구성원에게 부여되는 액세스와 권한을 제어할 수 있습니다.

Dialogflow CX 콘솔(문서 보기, 콘솔 열기) 또는 ID 및 액세스 관리(IAM)로 Google Cloud Console(문서 보기, 콘솔 열기)을 사용하여 액세스를 구성할 수 있습니다. Cloud Console은 IAM 역할을 주 구성원에 부여하는 데 사용되며 Dialogflow 콘솔은 주 구성원에게 Dialogflow 에이전트 역할을 부여하는 데 사용됩니다. Dialogflow 에이전트 역할은 Dialogflow에서 정의한 편리한 사전 정의된 역할로, 특정 에이전트 또는 특정 에이전트의 하위 리소스에 대한 액세스를 제한합니다.

Google Cloud Console을 사용해야 하는 경우는 다음과 같습니다.

  • IAM 프로젝트 소유자 역할은 기본적으로 에이전트를 소유한 프로젝트를 만든 사용자에게 부여됩니다. 이 소유자는 프로젝트의 모든 에이전트에 대한 전체 액세스 권한을 가집니다. 프로젝트 소유자를 변경하려면 Cloud Console을 사용해야 합니다.
  • 에이전트 수준 액세스는 Dialogflow CX 콘솔을 통해서만 구성할 수 있습니다. 프로젝트 수준 액세스를 구성하려면 Cloud Console을 사용해야 합니다.
  • IAM 역할의 하위 집합에 해당하는 Dialogflow 에이전트 역할이 있습니다. Dialogflow CX 콘솔에 없는 프로젝트 수준 또는 에이전트 수준의 역할을 부여하려면 Cloud Console을 사용해야 합니다.

API를 사용하는 경우 에이전트에 요청을 보내는 하나 이상의 애플리케이션이 있을 수 있습니다. 이 경우 서비스 계정으로 액세스를 제어할 수 있습니다.

Dialogflow CX 콘솔로 액세스 제어

Dialogflow CX 콘솔을 사용하면 에이전트 수준 공유용으로 구성된 편리한 에이전트 역할을 부여할 수 있습니다. 이러한 역할은 특정 에이전트 또는 에이전트의 하위 리소스 하위 집합에 대한 액세스를 제한하는 IAM 조건이 있는 IAM 역할과 관련이 있습니다.

Dialogflow CX 콘솔에서 에이전트 역할 구성에 액세스하려면 연결된 프로젝트의 프로젝트 IAM 관리자 역할을 부여받아야 합니다. 이 역할은 Google Cloud Console에서 부여됩니다.

Dialogflow 에이전트 역할 요약 IAM 역할
관리 콘솔 또는 API에서 에이전트를 생성, 업데이트, 쿼리, 인텐트 인식, 삭제할 수 있는 전체 액세스 권한을 제공합니다. Dialogflow > Dialogflow API 관리자
리더 콘솔 또는 API에서 에이전트를 쿼리(인텐트 인식은 아님)할 수 있는 읽기 액세스 권한을 제공합니다. Dialogflow > Dialogflow API 리더
클라이언트 콘솔 또는 API에서 인텐트를 인식할 수 있는 액세스 권한을 제공합니다. Dialogflow > Dialogflow API 클라이언트
인텐트 관리자 콘솔 또는 API에서 에이전트의 인텐트를 생성, 업데이트, 삭제, 쿼리할 수 있는 액세스 권한을 제공합니다. Dialogflow > Dialogflow 인텐트 관리자
항목 유형 관리자 콘솔 또는 API에서 에이전트의 항목 유형을 생성, 업데이트, 삭제, 쿼리할 수 있는 액세스 권한을 제공합니다. Dialogflow > Dialogflow 항목 유형 관리자
웹훅 관리자 콘솔 또는 API에서 에이전트의 웹훅을 생성, 업데이트, 삭제, 쿼리할 수 있는 액세스 권한을 제공합니다. Dialogflow > Dialogflow 웹훅 관리자
테스트 사례 관리자 콘솔 또는 API에서 에이전트의 테스트 사례를 생성, 업데이트, 삭제, 쿼리할 수 있는 액세스 권한을 제공합니다. Dialogflow > Dialogflow 테스트 사례 관리자
흐름 편집기 콘솔 또는 API에서 특정 흐름을 업데이트, 쿼리하고 해당 흐름 리소스(페이지, 경로 그룹 및 버전)를 생성, 업데이트, 삭제 또는 쿼리할 수 있는 액세스 권한을 제공합니다. Dialogflow > Dialogflow 흐름 편집기
환경 편집기 콘솔 또는 API에서 특정 환경을 업데이트, 쿼리하고 환경 리소스(실험)를 생성, 업데이트, 삭제, 쿼리할 수 있는 액세스 권한을 제공합니다. Dialogflow > Dialogflow 환경 편집기

에이전트의 설정에 공유 옵션이 있습니다. 에이전트 공유 설정을 열려면 다음 안내를 따르세요.

  1. Dialogflow CX 콘솔을 엽니다.
  2. GCP 프로젝트를 선택합니다.
  3. 에이전트를 선택합니다.
  4. 에이전트 설정을 클릭합니다.
  5. 공유 탭을 클릭합니다.

주 구성원 추가

  1. Add(추가)를 클릭합니다.
  2. 사용자, 그룹 또는 서비스 계정의 이메일 주소를 입력합니다.
  3. 이메일 유형으로 사용자, 그룹 또는 서비스 계정을 선택합니다.
  4. 사용자가 Dialogflow CX 콘솔에 액세스하는 데 필요한 Dialogflow 리더 역할이 기본적으로 추가됩니다.
  5. 역할 할당에서 역할 추가를 클릭합니다.
  6. 유형에서 역할 유형을 선택합니다.
  7. 흐름 편집기환경 편집기 역할의 경우 특정 흐름 또는 환경을 선택하거나 기본값인 모두 옵션을 유지합니다.
  8. 원하는 경우 역할의 만료일을 설정합니다.
  9. 저장을 클릭합니다.

주 구성원 역할 변경

  1. 목록에서 주 구성원을 클릭합니다.
  2. 팝업에서 이 주 구성원의 역할을 업데이트합니다.
  3. 저장을 클릭합니다.

주 구성원 삭제

  1. 목록에서 주 구성원을 찾습니다.
  2. 주 구성원의 삭제 버튼을 클릭합니다.
  3. OK를 클릭합니다.

Cloud Console을 사용하여 액세스 제어

IAM 설정으로 액세스를 제어할 수 있습니다. 권한의 추가, 편집, 제거에 대한 자세한 지침은 IAM 빠른 시작을 참조하세요.

아래 설정에 액세스하려면 Cloud Console에서 IAM 페이지를 엽니다.

프로젝트에 사용자 또는 서비스 계정 추가

사용자 또는 서비스 계정에 Cloud 프로젝트에 대한 역할을 부여하여 권한을 제공할 수 있습니다. 사용자는 이메일 주소를 제공하여 추가됩니다. 서비스 계정도 연결된 이메일 주소를 제공하여 추가됩니다. 여러 프로젝트에 하나의 서비스 계정을 사용하려면 서비스 계정을 추가해야 합니다. 서비스 계정과 연결된 이메일 주소를 찾으려면 Cloud Console에서 IAM 서비스 계정 페이지를 참조하세요.

주 구성원을 추가하려면 다음 안내를 따르세요.

  1. 페이지 상단의 추가 버튼을 클릭합니다.
  2. 주 구성원의 이메일 주소를 입력합니다.
  3. 역할을 선택합니다.
  4. 저장을 클릭합니다.

권한 변경

  1. 주 구성원의 수정 버튼을 클릭합니다.
  2. 다른 역할을 선택합니다.
  3. 저장을 클릭합니다.

주 구성원 삭제

  1. 주 구성원의 삭제 버튼을 클릭합니다.

하나의 에이전트에 대한 액세스를 제한하는 조건 추가

주 구성원을 추가하거나 수정할 때 하나의 에이전트에 대한 액세스를 제한하는 IAM 조건을 만들 수 있습니다.

예를 들면 다음과 같습니다.

{
    "expression": "resource.name.startsWith(\"projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID\")",
    "title": "For Dialogflow Agent AGENT_ID"
}

이 조건은 특정 에이전트에 대한 기본 액세스 권한을 부여합니다. 예를 들어 이 조건의 서비스 계정은 Dialogflow API를 호출하여 프로젝트 조건에 지정된 에이전트에만 액세스할 수 있을 뿐 프로젝트의 다른 에이전트에는 액세스할 수 없습니다.

주 구성원에게 부여된 역할에 이 조건을 추가하려면 다음 안내를 따르세요.

  1. 주 구성원을 선택합니다.
  2. 주 구성원의 수정 버튼을 클릭합니다.
  3. 조건 추가를 클릭합니다.
  4. 제목 필드에 For Dialogflow Agent AGENT_ID를 입력하고 AGENT_ID를 에이전트 ID로 바꿉니다.
  5. 설명을 추가할 수 있습니다.
  6. 조건 편집기를 선택하여 조건을 만듭니다.
  7. resource.name.startsWith("projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID") 표현식을 추가하고 AGENT_ID를 에이전트 ID로, PROJECT_ID를 프로젝트 ID로 바꿉니다.
  8. 저장을 클릭합니다.

IAM 역할

다음 표에는 Dialogflow CX와 관련된 모든 IAM 역할이 나와 있습니다. 표의 권한 요약에는 다음 용어가 사용됩니다.

  • 전체 액세스 권한: 액세스를 수정하고 리소스를 생성, 삭제, 수정, 읽을 수 있는 권한입니다.
  • 수정 액세스 권한: 리소스를 생성, 삭제, 수정, 읽을 수 있는 권한입니다.
  • 읽기 액세스 권한: 리소스를 읽을 수 있는 권한입니다.
IAM 역할 권한 요약 권한 세부정보
프로젝트 >
소유자
모든 Google Cloud 및 Dialogflow 리소스에 대한 전체 액세스 권한이 필요한 프로젝트 소유자에게 부여합니다.
  • 모든 Google Cloud 프로젝트 리소스에 대한 전체 액세스(Cloud Console 또는 API 사용)
  • Dialogflow 콘솔을 사용하는 에이전트에 대한 전체 액세스 권한입니다.
  • API를 사용하여 인텐트를 감지할 수 있음
IAM 기본 역할 정의를 참조하세요.
프로젝트 >
편집자
모든 Google Cloud 및 Dialogflow 리소스에 대한 수정 액세스 권한이 필요한 프로젝트 편집자에게 부여합니다.
  • 모든 Cloud 프로젝트 리소스에 대한 수정 액세스(Cloud Console 또는 API 사용)
  • Dialogflow 콘솔을 사용하는 에이전트에 대한 수정 액세스 권한입니다.
  • API를 사용하여 인텐트를 감지할 수 있음
IAM 기본 역할 정의를 참조하세요.
프로젝트 >
뷰어
모든 Google Cloud 및 Dialogflow 리소스에 대한 읽기 액세스 권한이 필요한 프로젝트 뷰어에게 부여합니다.
  • 모든 Cloud 프로젝트 리소스에 대한 읽기 액세스(Cloud Console 또는 API 사용)
  • Dialogflow 콘솔을 사용하는 에이전트에 대한 읽기 액세스 권한입니다.
  • API를 사용하여 인텐트를 감지할 수 없음
IAM 기본 역할 정의를 참조하세요.
프로젝트 >
IAM 관리자
Dialogflow 에이전트 역할 구성에 대한 수정 액세스 권한이 필요한 프로젝트 IAM 관리자에게 부여합니다. IAM 리소스 관리자 역할 정의를 참조하세요.
프로젝트 >
브라우저
폴더, 조직, IAM 정책을 비롯한 프로젝트의 계층 구조를 탐색할 수 있는 읽기 액세스가 필요한 프로젝트 브라우저에 부여합니다.
  • Cloud 프로젝트 계층 구조에 대한 읽기 액세스 권한
  • Dialogflow 콘솔을 사용하는 에이전트에 대한 액세스 권한이 없습니다.
  • API를 사용하여 인텐트를 감지할 수 없음
IAM 프로젝트 역할 정의를 참조하세요.
Dialogflow >
Dialogflow API 관리자
Dialogflow 관련 리소스에 대한 전체 액세스 권한이 필요한 Dialogflow API 관리자에게 부여합니다.
  • Cloud Console 또는 API를 사용하는 모든 Dialogflow 리소스에 대한 전체 액세스 권한입니다.
  • Dialogflow 콘솔을 사용하는 에이전트에 대한 전체 액세스 권한입니다.
  • API를 사용하여 인텐트를 감지할 수 있음
Dialogflow IAM 역할 정의를 참조하세요.
Dialogflow >
Dialogflow API 클라이언트
Dialogflow API 클라이언트에 Dialogflow 관련 수정을 수행하고 API를 사용하여 인텐트 호출을 감지하는 권한을 부여합니다.
  • Dialogflow CX 콘솔에 액세스할 수 없음
  • API를 사용하여 인텐트를 감지할 수 있음
Dialogflow IAM 역할 정의를 참조하세요.
대화 상자 >
Dialogflow 콘솔 에이전트 편집기
기존 에이전트를 수정하는 Dialogflow CX 콘솔 편집자에게 부여합니다.
  • Cloud Console를 사용하는 모든 Dialogflow 리소스에 대한 전체 액세스 권한입니다.
  • Dialogflow 콘솔을 사용하는 대부분의 에이전트 데이터에 대한 수정 액세스 권한입니다.
  • API를 사용하여 인텐트를 감지할 수 있음
Dialogflow IAM 역할 정의를 참조하세요.
Dialogflow >
Dialogflow API 리더
API를 사용하여 Dialogflow 관련 읽기 전용 호출을 수행하는 Dialogflow API 클라이언트에 부여합니다.
  • Cloud Console 또는 API를 사용하는 모든 Dialogflow 리소스에 대한 읽기 액세스 권한입니다.
  • Dialogflow 콘솔을 사용하는 에이전트에 대한 읽기 액세스 권한입니다.
  • API를 사용하여 인텐트를 감지할 수 없음
Dialogflow IAM 역할 정의를 참조하세요.