액세스 수준 관리

이 페이지에서는 기존 액세스 수준을 관리하는 방법을 설명합니다. 여기서 다음과 같은 작업이 가능합니다.

시작하기 전에

  • gcloud 명령줄 도구를 사용하기 위한 기본 액세스 정책을 설정합니다.

    -또는-

    정책 이름을 가져옵니다. 정책 이름에는 gcloud 명령줄 도구를 사용하고 API를 호출하는 명령어가 필요합니다. 기본 액세스 정책을 설정하는 경우 gcloud 명령줄 도구에 정책을 지정할 필요가 없습니다.

  • 조직 수준에서 액세스 수준을 관리할 수 있게 해주는 Identity and Access Management(IAM) 역할이 있는지 확인합니다. 관리자에게 다음 역할 중 하나 또는 동일한 권한을 갖는 커스텀 역할을 부여하도록 요청합니다.

액세스 수준 나열

콘솔

모든 액세스 수준을 나열하려면 Google Cloud 콘솔에서 Access Context Manager 페이지를 열고 메시지가 표시되면 조직을 선택합니다. 조직의 액세스 수준이 각 액세스 수준의 구성 세부정보와 함께 페이지의 그리드에 표시됩니다.

Access Context Manager 페이지 열기

gcloud

list 명령어를 사용하여 모든 액세스 수준을 나열할 수 있습니다.

gcloud access-context-manager levels list \
  [--policy=POLICY_NAME]

여기에서

  • POLICY_NAME은 조직의 액세스 정책 이름입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

출력은 다음과 같습니다.

NAME             TITLE                  LEVEL_TYPE
Device_Trust     Device_Trust Extended  Basic
Service_Group_A  Service_Group_A        Basic

API

정책의 모든 액세스 수준을 나열하려면 accessLevels.list를 호출합니다.

GET https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels

여기에서

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

요청 본문

요청 본문은 비어 있어야 합니다.

선택적 매개변수

선택적으로 다음 쿼리 매개변수 중 하나 이상을 포함합니다.

매개변수
pageSize

number

기본적으로 accessLevels.list에서 반환하는 액세스 수준 목록은 페이지로 나눠집니다. 각 페이지는 최대 100개의 액세스 수준으로 제한됩니다.

이 매개변수를 사용하면 페이지별로 반환되는 액세스 수준의 수를 수정할 수 있습니다.

pageToken

string

호출로 반환된 액세스 수준의 수가 페이지 크기를 초과하면 응답 본문에 페이지 토큰이 포함됩니다.

후속 호출에서 이 매개변수를 사용하면 결과의 다음 페이지를 가져올 수 있습니다.

accessLevelFormat

enum(LevelFormat)

일반적으로 액세스 수준은 BasicLevel 또는 CustomLevel 중 하나로 정의된 대로 반환됩니다.

이 매개변수 값을 CEL로 지정하면 Cloud Common Expression Language에서 BasicLevelsCustomLevels로 반환할 수 있습니다.

응답 본문

호출이 성공하면 호출의 응답 본문에 액세스 수준을 나열하는 AccessLevels 객체와 nextPageToken 문자열이 포함됩니다. nextPageToken은 반환된 액세스 수준 수가 페이지 크기를 초과한 경우에만 값을 갖습니다. 그렇지 않으면 nextPageToken은 빈 문자열로 반환됩니다.

액세스 수준 나열(형식 지정됨)

gcloud 명령줄 도구를 사용하여 YAML 또는 JSON 형식의 액세스 수준 목록을 가져올 수 있습니다.

형식이 지정된 액세스 수준 목록을 가져오려면 list 명령어를 사용합니다.

gcloud access-context-manager levels list \
  --format=FORMAT \
  [--policy=POLICY_NAME]

여기에서

  • FORMAT는 다음 값 중 하나입니다.

    • list(YAML 형식)

    • json(JSON 형식)

  • POLICY_NAME은 조직의 액세스 정책 이름입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

YAML 출력은 다음과 같습니다.

- basic: {'conditions': [{'ipSubnetworks': ['8.8.0/24']}]}
  description: Level for corp access.
  name: accessPolicies/165717541651/accessLevels/corp_level
  title: Corp Level
- basic: {'combiningFunction': 'OR', 'conditions': [{'ipSubnetworks': ['8.8.0/24']}]}
  description: Level for net access.
  name: accessPolicies/165717541651/accessLevels/net_level
  title: Net Level

JSON 출력은 다음과 같습니다.

[
  {
    "basic": {
      "conditions": [
        {
          "ipSubnetworks": [
            "8.8.0/24"
          ]
        }
      ]
    },
    "description": "Level for corp access.",
    "name": "accessPolicies/165717541651/accessLevels/corp_level",
    "title": "Corp Level"
  },
  {
    "basic": {
      "combiningFunction": "OR",
      "conditions": [
        {
          "ipSubnetworks": [
            "8.8.0/24"
          ]
        }
      ]
    },
    "description": "Level for net access.",
    "name": "accessPolicies/165717541651/accessLevels/net_level",
    "title": "Net Level"
  }
]

액세스 수준 설명

콘솔

Google Cloud 콘솔을 사용하여 액세스 수준을 나열하는 단계를 참조하세요. 액세스 수준을 나열하면 나타나는 그리드에서 세부정보가 제공됩니다.

gcloud

액세스 수준을 나열하면 해당 이름, 제목, 수준 유형만 제공됩니다. 특정 수준의 기능이 무엇인지 자세히 알아보려면 describe 명령어를 사용합니다.

gcloud access-context-manager levels describe LEVEL_NAME \
    [--policy=POLICY_NAME]

여기에서

  • LEVEL_NAME은 설명하려는 액세스 수준의 이름입니다.

  • POLICY_NAME은 조직의 액세스 정책 이름입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

이 명령어를 실행하면 수준에 대한 정보가 YAML 형식으로 인쇄됩니다. 예를 들어 해당 수준에서 액세스를 특정 운영체제 버전으로 제한하면 출력이 다음과 같을 수 있습니다.

basic:
  conditions:
  - devicePolicy:
      allowedEncryptionStatuses:
      - ENCRYPTED
      osConstraints:
      - minimumVersion: 10.13.6
        osType: DESKTOP_MAC
      - minimumVersion: 10.0.18219
        osType: DESKTOP_WINDOWS
      - minimumVersion: 68.0.3440
        osType: DESKTOP_CHROME_OS
      requireScreenlock: true
name: accessPolicies/330193482019/accessLevels/Device_Trust
title: Device_Trust Extended

API

액세스 수준을 나열하면 수준의 이름, 제목, 유형만 제공됩니다. 액세스 수준에 대해 자세히 알아보려면 accessLevels.get을 호출합니다.

GET https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME

여기에서

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

  • LEVEL_NAME은 설명하려는 액세스 수준의 이름입니다.

요청 본문

요청 본문은 비어 있어야 합니다.

선택적 매개변수

원하는 경우 accessLevelFormat 쿼리 매개변수를 포함합니다. 일반적으로 액세스 수준은 BasicLevel 또는 CustomLevel 중 하나로 정의된 대로 반환됩니다.

이 매개변수 값을 CEL로 지정하면 Cloud Common Expression Language에서 BasicLevelsCustomLevels로 반환할 수 있습니다.

응답 본문

호출이 성공하면 호출의 응답 본문에 액세스 수준의 기능, 마지막으로 수준이 업데이트된 시간 등에 대한 세부정보가 있는 AccessLevel 리소스가 포함됩니다.

액세스 수준 업데이트

이 섹션에서는 개별 액세스 수준을 업데이트하는 방법을 설명합니다. 한 번의 작업으로 모든 조직의 액세스 수준을 업데이트하려면 액세스 수준 일괄 변경을 참조하세요.

콘솔

액세스 수준을 업데이트하려면 다음 단계를 따르세요.

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

    Access Context Manager 페이지 열기

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

  3. 그리드에서 업데이트할 액세스 수준 이름을 클릭합니다.

  4. 액세스 수준 편집 창에서 액세스 수준을 변경합니다.

    추가 또는 수정할 수 있는 속성의 전체 목록은 액세스 수준 속성을 참조하세요.

  5. 저장을 클릭합니다.

    기존 조건 업데이트 또는 수정 이외에도 새 조건을 추가하고 기존 조건에 새 속성을 추가할 수 있습니다.

gcloud

update 명령어를 사용하여 액세스 수준을 업데이트할 수 있습니다.

기본 액세스 수준:

gcloud access-context-manager levels update LEVEL_NAME \
    --basic-level-spec=FILE \
    [--policy=POLICY_NAME]

커스텀 액세스 수준:

gcloud access-context-manager levels update LEVEL_NAME \
    --custom-level-spec=FILE \
    [--policy=POLICY_NAME]

여기에서

  • LEVEL_NAME은 업데이트하려는 액세스 수준의 이름입니다.

  • FILE액세스 수준 조건(기본 액세스 수준의 경우) 또는 단일 부울 값(커스텀 액세스 수준의 경우)으로 평가되는 CEL 표현식을 정의하는 .yaml 파일의 이름입니다.

    기본 액세스 수준 조건에서 사용할 수 있는 속성의 전체 목록은 액세스 수준 속성을 참조하세요.

  • POLICY_NAME은 조직의 액세스 정책 이름입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

  • 다음 옵션 중 하나 이상을 포함할 수 있습니다.

    옵션
    combine-function

    이 옵션은 기본 액세스 수준에만 사용됩니다.

    조건 결합 방법을 지정합니다.

    유효한 값: AND, OR

    description

    긴 형식으로 된 액세스 수준의 설명입니다.

    title

    짧은 형식으로 된 액세스 수준 제목입니다. 액세스 수준 제목이 Google Cloud 콘솔에 표시됩니다.

    gcloud-wide 플래그를 포함할 수 있습니다.

명령어 예

gcloud access-context-manager levels update Device_Trust \
    --basic-level-spec=corpdevspec.yaml \
    --combine-function=OR \
    --description='Access level that conforms to updated corporate spec.' \
    --title='Device_Trust Extended' \
    --policy=1034095178592

API

액세스 수준을 업데이트하려면 accessLevels.patch를 호출합니다.

PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME?updateMask=FIELDS

여기에서

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

  • LEVEL_NAME은 설명하려는 액세스 수준의 이름입니다.

  • FIELDS는 업데이트할 정규화된 필드 이름을 쉼표로 구분한 목록입니다.

요청 본문

요청 본문에는 액세스 수준에 적용할 변경사항을 지정하는 AccessLevel 리소스가 포함되어야 합니다.

응답 본문

호출이 성공하면 호출의 응답 본문에 패치 작업에 대한 세부정보를 제공하는 Operation 리소스가 포함됩니다.

액세스 수준 삭제

콘솔

액세스 수준을 삭제하려면 다음 단계를 따르세요.

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

    Access Context Manager 페이지 열기

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

  3. 그리드에서 삭제할 액세스 수준의 행에 있는 버튼을 클릭합니다.

  4. 삭제를 클릭합니다.

  5. 대화상자가 나타나면 액세스 수준을 삭제할지 확인합니다.

gcloud

액세스 수준을 삭제하려면 다음 단계를 따르세요.

  1. delete 명령어를 사용하여 액세스 수준을 삭제합니다.

    gcloud access-context-manager levels delete LEVEL_NAME \
        [--policy=POLICY_NAME]
    

    여기에서

    • LEVEL_NAME은 삭제하려는 액세스 수준의 이름입니다.

    • POLICY_NAME은 조직의 액세스 정책 이름입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

  2. 액세스 수준을 삭제할지 확인합니다.

    예:

    You are about to delete level Device_Trust
    
    Do you want to continue (Y/n)?
    
    
    You should see output similar to the following:
    
    
    Waiting for operation [accessPolicies/330193482019/accessLevels/Device_Trust/delete/1531171874311645] to complete...done.
    Deleted level [Device_Trust].
    

API

액세스 수준을 삭제하려면 accessLevels.delete를 호출합니다.

DELETE https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME

여기에서

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

  • LEVEL_NAME은 설명하려는 액세스 수준의 이름입니다.

요청 본문

요청 본문은 비어 있어야 합니다.

응답 본문

호출이 성공하면 호출의 응답 본문에 삭제 작업에 대한 세부정보를 제공하는 Operation 리소스가 포함됩니다.