관리 구성 지원

기업용으로 설계된 일부 앱에는 관리형 인스턴스라는 기본 제공 설정이 포함되어 있습니다. IT 관리자가 원격으로 구성할 수 있는 구성을 제공합니다. 예를 들어, 앱이 기기가 Wi-Fi에 연결된 경우에만 데이터를 동기화하는 옵션이 있습니다. 제공 중 IT 관리자는 관리 구성을 지정하고 기기는 모든 솔루션 세트의 요구사항입니다. EMM 콘솔에서 관리 구성을 지원하는 방법에는 두 가지가 있습니다.

  • 자체 UI를 만들고 managedConfiguration를 통해 설정을 적용합니다. ApplicationPolicy에 대한 요청 메시지입니다.
  • 콘솔에 관리 구성 iframe 추가 (자세한 안내 아래)에서 managedConfigurationTemplate를 통해 설정을 적용할 수 있습니다. ApplicationPolicy


관리 구성 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.webTokens.create 사용 를 호출하여 기업을 식별하는 웹 토큰을 생성하고 iframeFeatureMANAGED_CONFIGURATIONS 반환된 토큰을 다른 토큰과 함께 매개변수를 사용해야 합니다.

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);

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

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

정책에 구성 프로필 적용

각 구성 프로필은 고유한 mcmId로 저장됩니다. 적용 가능한 구성 프로필을 정책에 추가하려면 mcmIdmanagedConfigurationTemplate


선택/선택 해제 동작 이해

이제 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 내에서 다음 우선순위에 따라 설정됩니다.

  • 관리자가 선택한 값
  • 해당 번들/제한사항에 나열된 기본값
  • 기본값이 없는 경우 iFrame에 표시되는 값
를 통해 개인정보처리방침을 정의할 수 있습니다.

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

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

"restrictions": [
    // Empty
]