한 줄의 코드로 Azure AD 앱 만들기



Azure AD 애플리케이션 생성을 자동화해야 합니까? 더 이상 보지 마십시오. Microsoft 365용 CLI로 더 쉬워졌습니다.

시작하기 전에: Azure AD



Microsoft 365에서 앱을 빌드할 때 가장 먼저 필요한 것 중 하나는 Azure AD 앱입니다. Azure AD 앱은 Microsoft 클라우드의 앱을 나타냅니다. Azure AD 앱에서 어떤 종류의 앱인지(데스크톱 또는 웹앱), 사용자가 인증할 수 있는 방법(또는 앱이 자동화된 프로세스이고 사용자 컨텍스트가 전혀 필요하지 않은 경우) 및 앱에서 필요한 권한을 구성합니다. Microsoft 365가 작동합니다.

Azure AD는 다양한 시나리오를 지원하는 많은 설정을 제공하며 Azure Portal을 통해 구성할 수 있습니다. 하지만 구성을 표준화하고 개발팀과 공유하거나 CI/CD 파이프에 넣거나 고객에게 제공하려면 어떻게 해야 할까요?

Azure CLI로 앱 생성 자동화



Azure에서 리소스 생성을 자동화하려면 Azure ARM templates을 사용할 수 있습니다. ARM 템플릿은 Azure AD 앱을 제외하고 Azure에서 다양한 유형의 리소스를 지원합니다. Azure AD 앱을 만들려면 Azure CLI를 사용하여 스크립트를 작성해야 합니다.

Azure CLI에는 Azure AD 앱을 만들 수 있는 명령 az ad app create 이 있습니다. 이 명령을 사용하여 다중 테넌트인지 여부, 회신 URL 및 보유한 API 권한과 같은 앱의 일부 기본 설정을 구성할 수 있습니다. API 공개와 같은 추가 기능을 구성하려면 update the existing Azure AD app . 비밀 또는 인증서를 추가하려면 another command을 호출합니다. 어떤 경우에는 Azure CLI에서 사용할 수 있는 명령이 없으며 직접 az rest 명령을 사용하여 Microsoft Graph를 호출해야 합니다.

Azure CLI를 사용하여 필요에 맞게 정확하게 Azure AD 앱을 만들고 구성할 수 있습니다. Azure AD 및 다양한 설정에 대한 확실한 이해가 있다면 Azure CLI의 상세함과 유연성에 감사할 것입니다. 하지만 Azure AD 앱을 만드는 더 쉬운 방법을 찾고 있다면 어떨까요?

Microsoft 365용 CLI를 사용하여 Azure AD 앱을 쉽게 생성



많은 개발자가 Azure AD에 대한 기본 지식을 가지고 있습니다. 그러나 모든 사람은 어떤 형태로든 Azure AD 앱을 만들어야 합니다. 특히 Microsoft 365에서 앱을 빌드하는 경우 우회할 방법이 없습니다. 따라서 시작하는 데 도움이 되도록 CLI for Microsoft 365의 미리 보기 버전 3.5에서 단 한 줄의 코드로 Azure AD 앱을 쉽게 만들 수 있는 새로운 명령을 도입했습니다.

지정된 Microsoft Graph 권한이 있는 데몬 앱용 Azure AD 앱을 만들려면 다음을 실행합니다.

m365 aad app add --name 'My AAD app' --withSecret --apisApplication 'https://graph.microsoft.com/Group.ReadWrite.All,https://graph.microsoft.com/Directory.Read.All'


이에 비해 Azure CLI에서는 다음과 유사한 스크립트를 작성합니다.

$appName = "My AAD app"

"Creating AAD app $appName..."
$app = az ad app create --display-name $appName --required-resource-accesses @app-manifest.json | ConvertFrom-Json

# wait for the AAD app to be created or the script will fail later on
"Waiting for the app to be fully provisioned..."
Start-Sleep -Seconds 10

# add current user as app owner
"Adding current user as app owner..."
$userId = az ad signed-in-user show --query objectId -o tsv
az ad app owner add --id $app.appId --owner-object-id $userId

$appSecret = az ad app credential reset --id $app.appId --credential-description "Default" | ConvertFrom-Json

""
"AppId=$($app.appId)"
"AppPassword=$($appSecret.password)"


앱에서 구성할 API 권한의 정확한 JSON 구조를 알고 있다고 가정합니다. 이는 다음과 같습니다.

[
  {
    "resourceAppId": "00000003-0000-0000-c000-000000000000",
    "resourceAccess": [
      {
        "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
        "type": "Scope"
      }
    ]
  }
]



Microsoft 365용 CLI의 aad app add 명령을 사용하여 단일 페이지 앱용 Azure AD 앱을 만들 수도 있습니다.

m365 aad app add --name 'My AAD app' --platform spa --redirectUris 'https://myspa.azurewebsites.net,http://localhost:8080' --apisDelegated 'https://graph.microsoft.com/Calendars.Read,https://graph.microsoft.com/Directory.Read.All' --implicitFlow


또는 사용자 지정 범위로 API를 노출하는 훨씬 더 정교한 앱:

m365 aad app add --name 'My AAD app' --uri api://caf406b91cd4.ngrok.io/_appId_ --scopeName access_as_user --scopeAdminConsentDescription 'Access as a user' --scopeAdminConsentDisplayName 'Access as a user' --scopeConsentBy adminsAndUsers

aad app add 명령은 현재 모든 시나리오를 다루지는 않습니다. 처음에는 Microsoft 365에서 빌드하는 대부분의 앱 유형에 대한 Azure AD 앱을 쉽게 만들 수 있도록 돕는 데 중점을 두었습니다.

Microsoft 365용 CLI의 v3.5 베타 버전에서 이 명령을 방금 도입했으므로 사용해 보고 의견을 알려주시면 감사하겠습니다. 작동합니까? 중요한 것을 놓치고 있습니까? 재고해야 할 사항이 있습니까?

무엇이 가능한지 보려면 command's docs 을 참조하십시오. 여러분의 의견을 기다리겠습니다.

좋은 웹페이지 즐겨찾기