커스텀 액세스 수준을 만든 후에는 기본 액세스 수준과 동일한 방식으로 관리할 수 있습니다.
커스텀 액세스 수준의 Common Expression Language(CEL) 표현식을 만드는 방법에 대한 자세한 내용은 커스텀 액세스 수준 사양을 참조하세요.
콘솔
커스텀 액세스 수준을 만들려면 다음 단계를 따르세요.
- Google Cloud 콘솔에서 Access Context Manager 페이지를 엽니다. 
- 메시지가 표시되면 조직을 선택합니다. 
- Access Context Manager 페이지의 맨 위에 있는 새 항목을 누릅니다. 
- 새 액세스 수준 창에서 다음을 수행합니다. - 액세스 수준 제목 상자에 액세스 수준의 제목을 입력합니다. 제목은 최대 50자여야 하고, 문자로 시작해야 하며 숫자, 문자, 밑줄, 공백만 포함할 수 있습니다. 
- 조건 만들기에 따라 고급 모드를 선택합니다. 
- 조건 섹션에서 커스텀 액세스 수준의 표현식을 입력합니다. 조건은 단일 부울 값으로 평가해야 합니다. - Common Expression Language(CEL) 지원 및 커스텀 액세스 수준에 대한 예시와 자세한 내용은 커스텀 액세스 수준 사양을 참조하세요. 
- 저장을 클릭합니다. 
 
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 표현식을 포함하는 객체를 만듭니다. 전체 표현식은 부울 값으로 평가해야 합니다. title 및 description 필드는 선택사항입니다.
예
{
  "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 | 
 | ||||
| title | 
 | ||||
| description | 
 | ||||
| custom | 
 | ||||