관리 구성 iframe

관리 구성 iframe은 IT 관리자가 액세스할 수 있는 삽입 가능한 UI입니다. 앱의 관리 구성 설정을 저장, 수정, 삭제할 수 있습니다. 다음과 같은 작업을 수행할 수 있습니다. 예를 들어 앱의 세부정보에 버튼 (또는 유사한 UI 요소)을 표시하거나 iframe을 여는 설정 페이지입니다.

iframe에서 IT 관리자가 수행할 수 있는 작업

<ph type="x-smartling-placeholder">
</ph> MCM iframe <ph type="x-smartling-placeholder">
</ph> 그림 1. Gmail의 관리 구성 iframe 예

구성 프로필 설정 및 저장

iframe은 지정합니다. IT 관리자는 iframe 내에서 구성을 설정하고 이를 구성 프로필로 사용할 수 있습니다 IT 관리자가 새 클라우드를 저장할 때마다 iframe이 mcmId라는 고유 식별자를 반환합니다. 이렇게 하면 IT 관리자가 동일한 조직에 대해 여러 개의 프로필을 만들 수 있습니다. 있습니다.

구성 프로필 수정

iframe은 저장된 구성 프로필을 표시할 수 있습니다. IT 관리자는 프로필 내 설정을 업데이트하고 변경사항을 저장합니다.

구성 프로필 삭제

IT 관리자는 iframe에서 구성 프로필을 삭제할 수 있습니다. 이 기능은 기본적으로 사용 중지되어 있습니다.

콘솔에 관리 구성 iframe 표시

웹 토큰 생성

Enterprises.createWebToken를 사용하여 기업을 식별하는 웹 토큰을 생성합니다. 이때 페이지에서 iframe을 렌더링할 때 다른 매개변수와 함께 반환된 토큰을 살펴보겠습니다 다음 예는 Google Java용 Play EMM API 클라이언트 라이브러리.

public AdministratorWebToken getAdministratorWebToken(
    String enterpriseId,
    AdministratorWebTokenSpec tokenSpec) throws IOException {
  return androidEnterprise
     .enterprise()
     .createWebToken(enterpriseId, tokenSpec)
     .execute();
}

iframe 렌더링

다음은 관리 구성 iframe을 렌더링하는 방법의 예입니다.

<script src="https://apis.google.com/js/api.js"></script>
<div id="container" style="width: 1000px; height: 1000px"></div>
<script>
  gapi.load('gapi.iframes', function() {
    var options = {
      'url': 'https://play.google.com/managed/mcm?token=web_token&packageName=app_package_name',
      'where': document.getElementById('container'),
      'attributes': { style: 'height:1000px', scrolling: 'yes'}
    }

    var iframe = gapi.iframes.getContext().openChild(options);
  });
</script>

URL 매개변수

아래 표에는 iframe URL에 사용할 수 있는 모든 매개변수가 나와 있습니다.

매개변수필수설명
token Enterprises.createWebToken에서 반환된 토큰입니다.
packageName 앱의 제품 ID입니다. 예를 들어 com.google.android.gm
mcmId 아니요 관리 구성 프로필의 ID입니다.
canDelete 아니요 TRUE이면 iframe에서 IT 부서를 허용하는 버튼을 사용 설정합니다. 관리자가 관리 구성 프로필을 삭제할 수 있습니다. 만약 FALSE (기본값): 버튼이 사용 중지됩니다.
locale 아니요 올바른 형식의 BCP 47 language 태그가 포함됩니다. 그렇지 않은 경우 지정된 경우 기본값은 en_US입니다.

iframe 이벤트

통합의 일부로 다음 이벤트도 처리해야 합니다.

이벤트설명
onconfigupdated 사용자가 기존 관리 구성 프로필을 업데이트하거나 새로 만듭니다. 있습니다 이 메서드는 다음을 포함하는 객체를 반환합니다.
{
  "mcmId": The ID of the managed configurations profile.
  "name": The name of the updated or newly created managed configurations profile.
}
onconfigdeleted 사용자가 기존 관리 구성 프로필을 삭제하는 경우 이 함수는 다음을 반환합니다. 다음 객체를 포함하는 객체:
{
  "mcmId": The ID of the managed configurations profile.
}

아래 샘플은 예를 들어 onconfigupdated를 수신 대기하는 방법을 보여줍니다.

iframe.register('onconfigupdated', function(event) {
  console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);

앱의 관리 구성 스키마 업데이트

개발자가 앱의 관리 구성 스키마를 업데이트하는 경우 구성 프로필이 자동으로 업데이트됩니다 예를 들어 개발자가 옵션을 삭제하면 해당 옵션이 모든 기존 구성에서 삭제됩니다. 프로필을 만들 수 있습니다 개발자가 옵션을 추가하면 옵션 (개발자가 정의함)이 모든 기존 구성에 추가됩니다. 프로필을 만들 수 있습니다

관리 구성을 사용자에게 적용 기기

사용자에게 관리 구성을 적용하는 방법을 알아보려면 사용하는 경우 관리 구성을 적용합니다.


선택/선택 해제 동작 이해

이제 IT 관리자는 관리 구성 iframe을 사용하여 명시적으로 선택 해제할 수 있습니다. 관리 구성의 앱 제한사항이 필요하지 않은 경우 이 이전 행동에서 달라진 것이며, 관리자가 선택한 내용에 따라 앱으로 전송됩니다

아래 섹션에서는 관리 구성 iframe이 이 새로운 선택 해제 패턴 및 개발자가 kube-APIserver로 전송합니다

앱 제한에 기본값 사용

bool 유형으로 앱이 제한된 경우 choice, 정수, 다중 선택 또는 string 기본값이 제공되는 경우 기본값이 관리자가 관리 구성을 저장하지 않고 저장할 때 앱 제한의 값 해당 앱 제한에 변경사항을 적용합니다.

예를 들어 다음과 같은 앱 제한 스키마가 있습니다.

"restrictions": [{
    "key": "bool_key",
    "restrictionType": "bool",
    "defaultValue": {
        "type": "bool",
        "valueBool": false
    }
}]

기기에 전송되는 앱 제한은 다음과 같습니다.

"restrictions": [{
    "key": "bool_key",
    "restrictionType": "bool",
    "value": {
        "type": "bool",
        "valueBool": false
    }
}]

앱 제한에 기본값을 사용하지 않음

bool 유형으로 앱이 제한된 경우 choice, 정수, 다중 선택 또는 string 기본값이 제공되지 않으면 앱 제한이 적용되지 않습니다. 관리자가 변경사항을 적용하지 않고 관리 구성을 저장할 때 포함됨 '제한'을 설정할 수 있습니다

예를 들어 다음과 같은 앱 제한 스키마가 있습니다.

"restrictions": [{
    "key": "bool_key",
    "restrictionType": "bool"
    // defaultValue absent.
}]

기기에 전송되는 앱 제한은 다음과 같습니다.

"restrictions": [
    // Empty
]

스키마 내에서 번들 사용

이 섹션은 번들에 적용됩니다. 앱 제한:

번들 앱 제한에 기본값이 포함된 하위 앱 제한이 하나 이상 있음

번들 내부에 있는 경우 app 제한: bool 유형의 하위 앱 제한 중 하나 이상, 선택, 정수, 다중 선택 또는 문자열 기본값이 제공되는 경우 기본값이 앱 제한 값과 기본값이 없는 값은 제외됩니다. 관리자가 변경사항을 적용하지 않고 관리 구성을 저장할 때 앱 제한을 탭합니다.

"restrictions": [{
    "key": "bundle_key",
    "restrictionType": "bundle",
    "nestedRestriction": [{
            "key": "bool_key_1",
            "restrictionType": "bool",
            "defaultValue": {
                "type": "bool",
                "valueBool": false
            }
        },
        {
            "key": "bool_key_2",
            "restrictionType": "bool"
            // defaultValue absent.
        }
    ]
}]

기기에 전송되는 앱 제한은 다음과 같습니다.

"restrictions": [{
    "key": "bundle_key",
    "restrictionType": "bundle",
    "nestedRestriction": [{
            "key": "bool_key_1",
            "restrictionType": "bool",
            "value": {
                "type": "bool",
                "valueBool": false
            }
        },
        // The bool_key_2 child app restriction is not included.
    ]
}]

기본값이 없는 모든 자녀 앱 제한사항

번들 내부에 있는 경우 앱 제한, bool 유형의 모든 하위 앱 제한 선택, 정수, 다중 선택 또는 문자열 기본값이 제공되지 않은 번들인 경우 관리자가 관리 구성을 저장할 때 앱 제한은 포함되지 않습니다. 해당 앱 제한에 변경사항을 적용하지 않고

예를 들어 다음과 같은 앱 제한 스키마가 있습니다.

"restrictions": [{
    "key": "bundle_key",
    "restrictionType": "bundle",
    "nestedRestriction": [{
            "key": "bool_key_1",
            "restrictionType": "bool",
            // defaultValue absent.
        },
        {
            "key": "bool_key_2",
            "restrictionType": "bool"
            // defaultValue absent.
        }
    ]
}]

기기에 전송되는 앱 제한은 다음과 같습니다.

"restrictions": [
    // Empty
]

스키마 내에서 bundle_array 사용

이 섹션은 bundle_array에 적용됩니다. 앱 제한사항을 탭합니다. 하위 앱이 bool 유형으로 제한되는 경우 관련이 없습니다. choice, 정수, 다중 선택 또는 string 기본값이 있습니다.

예를 들어 다음과 같은 앱 제한 스키마가 있습니다.

"restrictions": [{
    "key": "bundle_array_key",
    "restrictionType": "bundleArray",
    "nestedRestriction": [{
        "key": "bundle_key",
        "restrictionType": "bundle",
        "nestedRestriction": [{
            "key": "bool_key",
            "restrictionType": "bool",
            "defaultValue": {
                "type": "bool",
                "valueBool": true
            }
        }]
    }]
}]

bundle_array 앱 제한에 번들 그룹이 1개 이상 있음

번들이 하나 이상 있는 경우 그룹이 설정되면 bundle_array 관리자가 관리 구성을 저장하면 앱 제한이 포함됩니다.

기기에 전송되는 앱 제한은 다음과 같습니다.

"restrictions": [{
    "key": "bundle_array_key",
    "restrictionType": "bundleArray",
    "nestedRestriction": [{
        "key": "bundle_key",
        "restrictionType": "bundle",
        "nestedRestriction": [{
            "key": "bool_key",
            "restrictionType": "bool",
            "value": {
                "type": "bool",
                "valueBool": true
            }
        }]
    }]
}]

bundle_array 앱 제한에 번들 그룹이 없습니다.

bundle_array 관리자가 관리 구성을 저장할 때 앱 제한은 포함되지 않습니다. 번들을 추가하지 않고 그룹 기기에 전송되는 앱 제한은 다음과 같습니다.

"restrictions": [
    // Empty
]