액세스 제어

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

Dialogflow CX 콘솔(문서 보기, 콘솔 열기) 또는 ID 및 액세스 관리(IAM)로 Google Cloud Console(문서 보기, 콘솔 열기)을 사용하여 액세스를 구성할 수 있습니다. Cloud Console은 IAM 역할이 있는 구성원을 추가하는 데 사용되며 Dialogflow 콘솔은 Dialogflow 에이전트 역할이 있는 구성원을 추가하는 데 사용됩니다. Dialogflow 에이전트 역할은 한 에이전트에 대한 액세스를 제한하는 IAM 역할을 기반으로 한 편리한 역할입니다.

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

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

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

Dialogflow CX 콘솔로 액세스 제어

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

Dialogflow 에이전트 역할 요약 IAM 역할
관리 콘솔 또는 API에서 에이전트를 생성, 업데이트, 쿼리, 인텐트 인식, 삭제할 수 있는 전체 액세스 권한을 제공합니다. Dialogflow > Dialogflow API 관리자
리더 콘솔 또는 API에서 에이전트를 쿼리(인텐트 인식은 아님)할 수 있는 읽기 액세스 권한을 제공합니다. Dialogflow > Dialogflow API 리더

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

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

구성원 추가

  1. 새로운 사람 초대 아래에 사용자 또는 그룹의 이메일 주소를 입력합니다.
  2. 이메일 유형으로 사용자 또는 그룹을 선택합니다.
  3. 역할을 선택합니다.
  4. 추가를 클릭합니다.
  5. 저장을 클릭합니다.

구성원 역할 변경

  1. 목록에서 구성원을 찾습니다.
  2. 다른 역할을 선택합니다.
  3. 저장을 클릭합니다.

구성원 삭제

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

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/global/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/global/agents/AGENT_ID") 표현식을 추가하고 AGENT_ID를 에이전트 ID로, PROJECT_ID를 프로젝트 ID로 바꿉니다.
  8. 저장을 클릭합니다.

IAM 역할

다음 표에는 Dialogflow CX와 관련된 모든 IAM 역할이 나와 있습니다.

에이전트의 액세스 권한을 수정하거나 에이전트를 삭제하려면 '전체 액세스' 권한을 제공하는 IAM 프로젝트 소유자, IAM 프로젝트 편집자 또는 Dialogflow 에이전트 관리자 역할이 필요합니다.

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