커스텀 액세스 수준 만들기

커스텀 액세스 수준을 만든 후에는 기본 액세스 수준과 동일한 방식으로 관리할 수 있습니다.

커스텀 액세스 수준의 Common Expression Language(CEL) 표현식을 만드는 방법에 대한 자세한 내용은 커스텀 액세스 수준 사양을 참조하세요.

콘솔

커스텀 액세스 수준을 만들려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Access Context Manager 페이지를 엽니다.

    Access Context Manager 페이지 열기

  2. 메시지가 표시되면 조직을 선택합니다.

  3. Access Context Manager 페이지의 맨 위에 있는 새 항목을 누릅니다.

  4. 새 액세스 수준 창에서 다음을 수행합니다.

    1. 액세스 수준 제목 상자에 액세스 수준의 제목을 입력합니다. 제목은 최대 50자여야 하고, 문자로 시작해야 하며 숫자, 문자, 밑줄, 공백만 포함할 수 있습니다.

    2. 조건 만들기에 따라 고급 모드를 선택합니다.

    3. 조건 섹션에서 커스텀 액세스 수준의 표현식을 입력합니다. 조건은 단일 부울 값으로 평가해야 합니다.

      Common Expression Language(CEL) 지원 및 커스텀 액세스 수준에 대한 예시와 자세한 내용은 커스텀 액세스 수준 사양을 참조하세요.

    4. 저장을 클릭합니다.

gcloud

시작하기 전에

gcloud 명령줄 도구를 사용하여 커스텀 액세스 수준을 만들려면 gcloud access-context-manager levels create 명령어를 사용합니다.

gcloud access-context-manager levels create LEVEL_NAME \
  --title=TITLE \
  --custom-level-spec=FILE \
  --description=DESCRIPTION \
  --policy=POLICY_NAME

각 항목의 의미는 다음과 같습니다.

  • LEVEL_NAME은 액세스 수준의 고유한 이름입니다. 이 이름은 문자로 시작해야 하며 문자, 숫자, 밑줄만 포함할 수 있습니다. 이름은 최대 50자입니다.

  • TITLE은 짧고 사람이 읽을 수 있는 액세스 수준의 제목입니다.

  • FILE는 단일 키-값 쌍 expression: "CEL_EXPRESSION"으로 형식이 지정된 CEL 표현식을 포함하는 .yaml 파일입니다.

    Common Expression Language(CEL) 지원 및 커스텀 액세스 수준에 대한 예시와 자세한 내용은 커스텀 액세스 수준 사양을 참조하세요.

  • DESCRIPTION(선택사항)은 사람이 읽을 수 있는 액세스 수준의 설명입니다.

  • POLICY_NAME은 조직의 액세스 정책의 숫자 이름입니다.

필요한 경우 gcloud 전역 플래그를 포함할 수 있습니다.

custom-level-spec YAML 파일

gcloud 명령줄 도구를 사용하여 커스텀 액세스 수준을 만드는 경우 custom-level-spec 옵션에 .yaml 파일을 제공해야 합니다. .yaml 파일은 단일 부울 값으로 평가되는 CEL 표현식을 정의합니다. .yaml 파일은 expression: "CEL_EXPRESSION" 형식의 단일 키-값 쌍을 포함해야 합니다. expression의 값은 문자열이어야 합니다.

YAML 파일 예시

expression: "device.encryption_status == DeviceEncryptionStatus.ENCRYPTED && (origin.region_code in ['US'] || device.is_admin_approved_device)"

명령어 예

gcloud access-context-manager levels create Custom_Trust \
    --custom-level-spec=customspec.yaml \
    --description="Custom access level for corp." \
    --title="Custom Trust Level" \
    --policy=1521580097614100

REST

시작하기 전에

커스텀 액세스 수준을 만들려면 accessPolicies.accessLevels.create 메서드를 사용합니다.

요청 본문

호출의 요청 본문에 AccessLevel 객체의 인스턴스를 포함합니다.

{
  "name": string,
  "title": string,
  "description": string,
  "custom": {
    "expr": {
      "expression": string,
      "title": string,
      "description": string
    }
  }
}

custom 필드에 커스텀 액세스 수준의 CEL 표현식을 포함하는 객체를 만듭니다. 전체 표현식은 부울 값으로 평가해야 합니다. titledescription 필드는 선택사항입니다.

{
  "name": "example_custom_level",
  "title": "Example custom level",
  "description": "An example custom access level.",
  "custom":  {
    "expr": {
      "expression": "device.is_corp_owned == true || (device.os_type != OsType.OS_UNSPECIFIED && device.is_admin_approved_device == true)",
      "title": "Check for known devices",
      "description": "Permits requests from corp-owned devices and admin-approved devices with a known OS."
    }
  }
}

RPC

시작하기 전에

커스텀 액세스 수준을 만들려면 CreateAccessLevel를 호출합니다.

access_level 필드에 AccessLevel의 인스턴스를 포함합니다.

필드
name
유형 문자열
설명

필수.

액세스 수준의 리소스 이름입니다. POLICY_ID은 조직의 액세스 정책의 숫자 이름입니다. SHORT_NAME는 문자로 시작해야 하며 문자, 숫자, 밑줄만 포함할 수 있습니다.

형식:

                accessPolicies/policy_id/accessLevels/short_name
                

title
유형 문자열
설명

사람이 읽을 수 있는 액세스 수준 라벨입니다. 액세스 수준에는 고유한 이름이 있어야 합니다.

description
유형 문자열
설명

액세스 수준에 대한 설명입니다.

custom
유형 문자열
설명

커스텀 액세스 수준의 CEL 표현식입니다. 전체 표현식은 부울 값으로 평가해야 합니다.