앱에 Azure Stack Hub 리소스에 대한 액세스 권한 부여

Azure Resource Manager 통해 리소스를 배포하거나 구성하는 애플리케이션은 보안 주체라고 하는 자체 ID로 표현되어야 합니다. 사용자가 사용자 보안 주체로 표시되는 것처럼 앱은 서비스 주체로 표시됩니다.

ID를 사용하여 사용자 또는 앱에 필요한 권한만 위임할 수도 있습니다. 예를 들어 구성 관리 앱은 Azure Resource Manager 사용하여 Azure 리소스를 인벤토리할 수 있습니다. 앱이 디렉터리에 등록되고 적절한 범위에서 "읽기 권한자" 역할에 추가되어 앱이 읽기 전용 액세스로 제한됩니다.

개요

사용자와 마찬가지로 앱은 인증 중에 자격 증명을 제공해야 하며, 여기에는 다음 두 가지 요소가 필요합니다.

  • 클라이언트 ID라고도 하는 애플리케이션 ID. Active Directory 테넌트에서 앱 등록을 고유하게 식별하는 GUID입니다.
  • 비밀입니다. 클라이언트 비밀 문자열(암호와 유사)을 생성하거나 X509 인증서 지문(공개 키를 사용)을 지정할 수 있습니다.

다음과 같은 이유로 사용자 ID로 앱을 실행하는 것보다 자체 ID로 앱을 실행하는 것이 좋습니다.

  • 더 강력한 자격 증명 - 앱은 텍스트 공유 비밀/암호 대신 X509 인증서를 사용하여 로그인할 수 있습니다.
  • 앱에 더 제한적인 권한을 할당할 수 있습니다. 일반적으로 이러한 권한은 앱이 수행해야 하는 작업으로만 제한됩니다(최소 권한 원칙이라고 함).
  • 앱에 대한 자격 증명 및 권한은 사용자 자격 증명만큼 자주 변경되지 않습니다. 예를 들어 사용자의 책임이 변경되거나 암호 요구 사항에 따라 변경이 필요하거나 사용자가 퇴사하는 경우입니다.

먼저 디렉터리에 새 앱 등록을 만들어 디렉터리 내에서 앱의 ID를 나타내는 연결된 서비스 주체 개체 를 만듭니다. 등록 프로세스는 Azure Stack Hub 인스턴스에 대해 선택한 디렉터리에 따라 달라집니다.

  • Azure Active Directory(Azure AD): Azure AD는 다중 테넌트, 클라우드 기반 디렉터리 및 ID 관리 서비스입니다. 연결된 Azure Stack Hub 인스턴스에서 Azure AD를 사용할 수 있습니다. 나중에 제시된 예제에서는 Azure AD 앱 등록에 Azure Portal 사용합니다.
  • AD FS(Active Directory Federation Services): AD FS는 간소화된 보안 ID 페더레이션 및 웹 SSO(Single Sign-On) 기능을 제공합니다. 연결된 Azure Stack Hub 인스턴스와 연결이 끊어진 Azure Stack Hub 인스턴스 모두에서 AD FS를 사용할 수 있습니다. 나중에 제시된 예제에서는 AD FS 앱 등록을 위해 Azure Stack Hub PowerShell을 사용합니다.

앱을 등록한 후 역할에 할당하여 리소스 액세스를 제한하는 방법을 알아봅니다.

Azure AD 앱 관리

Azure AD를 사용하여 Azure Stack Hub를 ID 관리 서비스로 배포한 경우 Azure와 마찬가지로 앱에 대한 ID를 만들고 관리합니다. 이 섹션에서는 Azure Portal 사용하여 단계를 수행하는 방법을 보여줍니다. 시작하기 전에 앱을 등록하는 데 필요한 사용 권한을 검토하여 앱을 등록할 수 있는 충분한 권한이 있는지 확인합니다.

클라이언트 비밀 자격 증명을 사용하는 앱 등록 만들기

이 섹션에서는 Azure Portal 사용하여 Azure AD 테넌트에 앱을 등록합니다. 다음 예제에서는 클라이언트 비밀 자격 증명을 지정하지만 포털은 X509 인증서 기반 자격 증명도 지원합니다.

  1. Azure 계정을 사용하여 Azure Portal 로그인합니다.

  2. Azure Active Directory>앱 등록>새 등록을 선택합니다.

  3. 앱의 이름을 제공합니다.

  4. 적절한 지원되는 계정 유형을 선택합니다.

  5. 리디렉션 URI에서 앱 유형으로 을 선택하고( 필요에 따라) 앱에 필요한 경우 리디렉션 URI를 지정합니다.

  6. 값을 설정한 후 등록을 선택합니다. 앱 등록이 만들어지고 개요 페이지가 표시됩니다.

  7. 앱 코드에서 사용할 애플리케이션 ID 를 복사합니다. 이 값을 클라이언트 ID라고도 합니다.

  8. 클라이언트 암호를 생성하려면 인증서 & 비밀 페이지를 선택합니다. 새 클라이언트 비밀을 선택합니다.

  9. 비밀에 대한 설명을 제공하고 만료 기간을 제공합니다 .

  10. 완료되면 추가를 선택합니다.

  11. 비밀의 값이 표시됩니다. 나중에 검색할 수 없으므로 이 값을 복사하여 다른 위치에 저장합니다. 로그인을 위해 클라이언트 앱의 애플리케이션 ID와 비밀을 제공합니다.

    Saved key in client secrets

역할 할당을 진행하여 앱 ID에 대한 역할 기반 액세스 제어를 설정하는 방법을 알아봅니다.

추가 Azure AD 앱 관리 문서

Azure AD 앱 관리에 대한 자세한 내용은 다음 Azure 문서를 참조하세요.

AD FS 앱 관리

AD FS를 사용하여 Azure Stack Hub를 ID 관리 서비스로 배포한 경우 PowerShell을 사용하여 앱의 ID를 관리해야 합니다. 다음 예제에서는 X509 인증서와 클라이언트 비밀 자격 증명을 모두 보여 줍니다.

스크립트는 관리자 권한("관리자 권한으로 실행") PowerShell 콘솔에서 실행되어야 합니다. 그러면 Azure Stack Hub 인스턴스에 대한 권한 있는 엔드포인트를 호스트하는 VM에 대한 또 다른 세션이 열립니다. 권한 있는 엔드포인트 세션이 설정되면 앱 등록을 만들고 관리하는 데 추가 cmdlet이 사용됩니다. 권한 있는 엔드포인트에 대한 자세한 내용은 Azure Stack Hub에서 권한 있는 엔드포인트 사용을 참조하세요.

인증서 자격 증명을 사용하는 앱 등록 만들기

인증서 자격 증명을 만들 때 다음 요구 사항을 충족해야 합니다.

  • 프로덕션의 경우 내부 인증 기관 또는 공용 인증 기관에서 인증서를 발급해야 합니다. 공용 기관을 사용하는 경우 Microsoft 신뢰할 수 있는 루트 기관 프로그램의 일부로 기본 운영 체제 이미지에 기관을 포함해야 합니다. 전체 목록은 참가자 목록 - Microsoft 신뢰할 수 있는 루트 프로그램을 참조하세요. "자체 서명된" 테스트 인증서를 만드는 예제도 나중에 인증서 자격 증명을 업데이트하는 동안 표시됩니다.
  • 암호화 공급자는 Microsoft 레거시 CSP(암호화 서비스 공급자) 키 공급자로 지정되어야 합니다.
  • 공개 키와 프라이빗 키가 모두 필요하기 때문에 인증서 형식은 PFX 파일이어야 합니다. Windows 서버는 공개 키 파일(TLS/SSL 인증서 파일) 및 연결된 프라이빗 키 파일이 포함된 .pfx 파일을 사용합니다.
  • Azure Stack Hub 인프라에는 인증서에 게시된 인증 기관의 CRL(인증서 해지 목록) 위치에 대한 네트워크 액세스 권한이 있어야 합니다. 이 CRL은 HTTP 엔드포인트여야 합니다.

인증서가 있으면 아래 PowerShell 스크립트를 사용하여 앱을 등록하고 앱의 ID를 사용하여 로그인합니다. 다음 자리 표시자를 고유한 값으로 바꿉니다.

자리 표시자 Description 예제
<PepVM> Azure Stack Hub 인스턴스의 권한 있는 엔드포인트 VM 이름입니다. "AzS-ERCS01"
<YourCertificateLocation> 로컬 인증서 저장소에 있는 X509 인증서의 위치입니다. "Cert:\CurrentUser\My\AB5A8A3533CC7AA2025BF0512017E06DE407B34"
<YourAppName> 새 앱 등록을 설명하는 이름입니다. "내 관리 도구"
  1. 관리자 권한 Windows PowerShell 세션을 열고 다음 스크립트를 실행합니다.

    # Sign in to PowerShell interactively, using credentials that have access to the VM running the Privileged Endpoint (typically <domain>\cloudadmin)
    $Creds = Get-Credential
    
    # Create a PSSession to the Privileged Endpoint VM
    $Session = New-PSSession -ComputerName "<PepVm>" -ConfigurationName PrivilegedEndpoint -Credential $Creds -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
    
    # To use a managed certificate from the certificate store, use the Get-Item cmdlet.
    # To use a certificate file, use Get-Certificate for a .cer file, or Get-PfxCertificate for a .pfx file.
    # To use a test certificate, use the New-SelfSignedCertificate cmdlet
    #   See https://docs.microsoft.com/powershell/module/pki/new-selfsignedcertificate for usage details, including using the -Provider parameter
    #   $Cert = New-SelfSignedCertificate -CertStoreLocation "cert:\CurrentUser\My" -Subject "CN=<YourAppName>" -KeySpec KeyExchange
    $Cert = Get-Item "<YourCertificateLocation>"
    
    # Use the privileged endpoint to create the new app registration
    $SpObject = Invoke-Command -Session $Session -ScriptBlock {New-GraphApplication -Name "<YourAppName>" -ClientCertificates $using:cert}
    $AzureStackInfo = Invoke-Command -Session $Session -ScriptBlock {Get-AzureStackStampInformation}
    $Session | Remove-PSSession
    
    # Using the stamp info for your Azure Stack Hub instance, populate the following variables:
    # - Az endpoint used for Azure Resource Manager operations 
    # - Audience for acquiring an OAuth token used to access Graph API 
    # - GUID of the directory tenant
    $ArmEndpoint = $AzureStackInfo.TenantExternalEndpoints.TenantResourceManager
    $GraphAudience = "https://graph." + $AzureStackInfo.ExternalDomainFQDN + "/"
    $TenantID = $AzureStackInfo.AADTenantID
    
    # Register and set an Az environment that targets your Azure Stack Hub instance
    Add-AzEnvironment -Name "AzureStackUser" -ArmEndpoint $ArmEndpoint
    
    # Sign in using the new service principal
    $SpSignin = Connect-AzAccount -Environment "AzureStackUser" `
    -ServicePrincipal `
    -CertificateThumbprint $SpObject.Thumbprint `
    -ApplicationId $SpObject.ClientId `
    -TenantId $TenantID
    
    # Output the service principal details
    $SpObject
    
    
  2. 스크립트가 완료되면 앱 등록 정보가 표시됩니다. ClientIDThumbprint가 인증되고 나중에 Azure Resource Manager에서 관리하는 리소스에 액세스할 수 있는 권한이 부여됩니다.

    ApplicationIdentifier : S-1-5-21-1512385356-3796245103-1243299919-1356
    ClientId              : 3c87e710-9f91-420b-b009-31fa9e430145
    Thumbprint            : 30202C11BE6864437B64CE36C8D988442082A0F1
    ApplicationName       : Azurestack-MyApp-c30febe7-1311-4fd8-9077-3d869db28342
    ClientSecret          :
    PSComputerName        : azs-ercs01
    RunspaceId            : a78c76bb-8cae-4db4-a45a-c1420613e01b
    

다음 섹션의 값과 함께 ApplicationIdentifier 사용할 때 PowerShell 콘솔 세션을 열어 두세요.

인증서 자격 증명 업데이트

이제 애플리케이션을 등록했으므로 이 섹션에서는 다음 방법을 보여줍니다.

  1. 테스트를 위해 자체 서명된 새 X509 인증서를 만듭니다.
  2. 새 인증서와 일치하도록 지문 속성을 업데이트하여 애플리케이션의 자격 증명을 업데이트합니다.

PowerShell을 사용하여 인증서 자격 증명을 업데이트하고 다음 자리 표시자에 대한 고유한 값을 대체합니다.

자리 표시자 Description 예제
<PepVM> Azure Stack Hub 인스턴스에서 권한 있는 엔드포인트 VM의 이름입니다. "AzS-ERCS01"
<YourAppName> 새 앱 등록을 설명하는 이름입니다. "내 관리 도구"
<YourCertificateLocation> 로컬 인증서 저장소에 있는 X509 인증서의 위치입니다. "Cert:\CurrentUser\My\AB5A8A3533CC7AA2025BF05120117E06DE407B34"
<AppIdentifier> 애플리케이션 등록에 할당된 식별자입니다. "S-1-5-21-1512385356-3796245103-1243299919-1356"
  1. 관리자 권한 Windows PowerShell 세션을 사용하여 다음 cmdlet을 실행합니다.

    # Create a PSSession to the PrivilegedEndpoint VM
    $Session = New-PSSession -ComputerName "<PepVM>" -ConfigurationName PrivilegedEndpoint -Credential $Creds -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
    
    # Create a self-signed certificate for testing purposes, using the New-SelfSignedCertificate cmdlet 
    # See https://docs.microsoft.com/powershell/module/pki/new-selfsignedcertificate for usage details, including using the -Provider parameter
    $NewCert = New-SelfSignedCertificate -CertStoreLocation "cert:\CurrentUser\My" -Subject "CN=<YourAppName>" -KeySpec KeyExchange
    # In production, use Get-Item to retrieve a managed certificate from the certificate store.
    # Alteratively, use Get-Certificate for a .cer file, or Get-PfxCertificate for a .pfx file.
    # $Cert = Get-Item "<YourCertificateLocation>"
    
    # Use the privileged endpoint to update the certificate thumbprint, used by <AppIdentifier>
    $SpObject = Invoke-Command -Session $Session -ScriptBlock {Set-GraphApplication -ApplicationIdentifier "<AppIdentifier>" -ClientCertificates $using:NewCert}
    $Session | Remove-PSSession
    
    # Output the updated service principal details
    $SpObject
    
  2. 스크립트가 완료되면 새 자체 서명된 인증서의 지문 값을 포함하여 업데이트된 앱 등록 정보가 표시됩니다.

    ApplicationIdentifier : S-1-5-21-1512385356-3796245103-1243299919-1356
    ClientId              : 
    Thumbprint            : AF22EE716909041055A01FE6C6F5C5CDE78948E9
    ApplicationName       : Azurestack-MyApp-c30febe7-1311-4fd8-9077-3d869db28342
    ClientSecret          : 
    PSComputerName        : azs-ercs01
    RunspaceId            : a580f894-8f9b-40ee-aa10-77d4d142b4e5
    

클라이언트 비밀 자격 증명을 사용하는 앱 등록 만들기

경고

클라이언트 암호를 사용하는 것은 X509 인증서 자격 증명을 사용하는 것보다 덜 안전합니다. 인증 메커니즘은 덜 안전할 뿐만 아니라 일반적으로 클라이언트 앱 소스 코드에 비밀을 포함해야 합니다. 따라서 프로덕션 앱의 경우 인증서 자격 증명을 사용하는 것이 좋습니다.

이제 다른 앱 등록을 만들지만 이번에는 클라이언트 비밀 자격 증명을 지정합니다. 인증서 자격 증명과 달리 디렉터리는 클라이언트 암호 자격 증명을 생성하는 기능이 있습니다. 클라이언트 암호를 지정하는 대신 스위치를 -GenerateClientSecret 사용하여 생성을 요청합니다. 다음 자리 표시자를 고유한 값으로 바꿉니다.

자리 표시자 Description 예제
<PepVM> Azure Stack Hub 인스턴스에서 권한 있는 엔드포인트 VM의 이름입니다. "AzS-ERCS01"
<YourAppName> 새 앱 등록을 설명하는 이름입니다. "내 관리 도구"
  1. 관리자 권한 Windows PowerShell 세션을 열고 다음 cmdlet을 실행합니다.

    # Sign in to PowerShell interactively, using credentials that have access to the VM running the Privileged Endpoint (typically <domain>\cloudadmin)
    $Creds = Get-Credential
    
    # Create a PSSession to the Privileged Endpoint VM
    $Session = New-PSSession -ComputerName "<PepVM>" -ConfigurationName PrivilegedEndpoint -Credential $Creds -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
    
    # Use the privileged endpoint to create the new app registration
    $SpObject = Invoke-Command -Session $Session -ScriptBlock {New-GraphApplication -Name "<YourAppName>" -GenerateClientSecret}
    $AzureStackInfo = Invoke-Command -Session $Session -ScriptBlock {Get-AzureStackStampInformation}
    $Session | Remove-PSSession
    
    # Using the stamp info for your Azure Stack Hub instance, populate the following variables:
    # - Az endpoint used for Azure Resource Manager operations 
    # - Audience for acquiring an OAuth token used to access Graph API 
    # - GUID of the directory tenant
    $ArmEndpoint = $AzureStackInfo.TenantExternalEndpoints.TenantResourceManager
    $GraphAudience = "https://graph." + $AzureStackInfo.ExternalDomainFQDN + "/"
    $TenantID = $AzureStackInfo.AADTenantID
    
    # Register and set an Az environment that targets your Azure Stack Hub instance
    Add-AzEnvironment -Name "AzureStackUser" -ArmEndpoint $ArmEndpoint
    
    # Sign in using the new service principal
    $securePassword = $SpObject.ClientSecret | ConvertTo-SecureString -AsPlainText -Force
    $credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $SpObject.ClientId, $securePassword
    $SpSignin = Connect-AzAccount -Environment "AzureStackUser" -ServicePrincipal -Credential $credential -TenantId $TenantID
    
    # Output the service principal details
    $SpObject
    
  2. 스크립트가 완료되면 앱 등록 정보가 표시됩니다. ClientIDClientSecret가 인증되고 나중에 Azure Resource Manager에서 관리하는 리소스에 액세스할 수 있는 권한이 부여됩니다.

    ApplicationIdentifier : S-1-5-21-1634563105-1224503876-2692824315-2623
    ClientId              : 8e0ffd12-26c8-4178-a74b-f26bd28db601
    Thumbprint            : 
    ApplicationName       : Azurestack-YourApp-6967581b-497e-4f5a-87b5-0c8d01a9f146
    ClientSecret          : 6RUWLRoBw3EebBLgaWGiowCkoko5_j_ujIPjA8dS
    PSComputerName        : azs-ercs01
    RunspaceId            : 286daaa1-c9a6-4176-a1a8-03f543f90998
    

다음 섹션의 값과 함께 ApplicationIdentifier 사용할 때 PowerShell 콘솔 세션을 열어 두세요.

클라이언트 비밀 자격 증명 업데이트

클라이언트 암호를 즉시 변경하는 ResetClientSecret 매개 변수를 사용하여 PowerShell을 사용하여 클라이언트 비밀 자격 증명을 업데이트합니다. 다음 자리 표시자를 고유한 값으로 바꿉니다.

자리 표시자 Description 예제
<PepVM> Azure Stack Hub 인스턴스에서 권한 있는 엔드포인트 VM의 이름입니다. "AzS-ERCS01"
<AppIdentifier> 애플리케이션 등록에 할당된 식별자입니다. "S-1-5-21-1634563105-1224503876-2692824315-2623"
  1. 관리자 권한 Windows PowerShell 세션을 사용하여 다음 cmdlet을 실행합니다.

    # Create a PSSession to the PrivilegedEndpoint VM
    $Session = New-PSSession -ComputerName "<PepVM>" -ConfigurationName PrivilegedEndpoint -Credential $Creds -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
    
    # Use the privileged endpoint to update the client secret, used by <AppIdentifier>
    $SpObject = Invoke-Command -Session $Session -ScriptBlock {Set-GraphApplication -ApplicationIdentifier "<AppIdentifier>" -ResetClientSecret}
    $Session | Remove-PSSession
    
    # Output the updated service principal details
    $SpObject
    
  2. 스크립트가 완료되면 새로 생성된 클라이언트 암호를 포함하여 업데이트된 앱 등록 정보가 표시됩니다.

    ApplicationIdentifier : S-1-5-21-1634563105-1224503876-2692824315-2623
    ClientId              : 8e0ffd12-26c8-4178-a74b-f26bd28db601
    Thumbprint            : 
    ApplicationName       : Azurestack-YourApp-6967581b-497e-4f5a-87b5-0c8d01a9f146
    ClientSecret          : MKUNzeL6PwmlhWdHB59c25WDDZlJ1A6IWzwgv_Kn
    PSComputerName        : azs-ercs01
    RunspaceId            : 6ed9f903-f1be-44e3-9fef-e7e0e3f48564
    

앱 등록 제거

이제 PowerShell을 사용하여 디렉터리에서 앱 등록을 제거하는 방법을 알아보세요.

다음 자리 표시자를 고유한 값으로 바꿉니다.

자리 표시자 Description 예제
<PepVM> Azure Stack Hub 인스턴스에서 권한 있는 엔드포인트 VM의 이름입니다. "AzS-ERCS01"
<AppIdentifier> 애플리케이션 등록에 할당된 식별자입니다. "S-1-5-21-1634563105-1224503876-2692824315-2623"
# Sign in to PowerShell interactively, using credentials that have access to the VM running the Privileged Endpoint (typically <domain>\cloudadmin)
$Creds = Get-Credential

# Create a PSSession to the PrivilegedEndpoint VM
$Session = New-PSSession -ComputerName "<PepVM>" -ConfigurationName PrivilegedEndpoint -Credential $Creds -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)

# OPTIONAL: Use the privileged endpoint to get a list of applications registered in AD FS
$AppList = Invoke-Command -Session $Session -ScriptBlock {Get-GraphApplication}

# Use the privileged endpoint to remove application <AppIdentifier>
Invoke-Command -Session $Session -ScriptBlock {Remove-GraphApplication -ApplicationIdentifier "<AppIdentifier>"}

권한 있는 엔드포인트에서 Remove-GraphApplication cmdlet을 호출하여 반환되는 출력은 없지만 cmdlet을 실행하는 동안 콘솔에 축자 확인 출력이 표시됩니다.

VERBOSE: Deleting graph application with identifier S-1-5-21-1634563105-1224503876-2692824315-2623.
VERBOSE: Remove-GraphApplication : BEGIN on AZS-ADFS01 on ADFSGraphEndpoint
VERBOSE: Application with identifier S-1-5-21-1634563105-1224503876-2692824315-2623 was deleted.
VERBOSE: Remove-GraphApplication : END on AZS-ADFS01 under ADFSGraphEndpoint configuration

역할 할당

사용자 및 앱의 Azure 리소스에 대한 액세스 권한은 RBAC(Role-Based Access Control)를 통해 부여됩니다. 앱이 구독의 리소스에 액세스할 수 있도록 하려면 특정 리소스에 대한 역할에 해당 서비스 주체를 할당해야 합니다. 먼저 앱에 적합한 권한을 나타내는 역할을 결정 합니다 . 사용 가능한 역할에 대한 자세한 내용은 Azure 리소스에 대한 기본 제공 역할을 참조하세요.

선택한 리소스 유형은 앱에 대한 액세스 범위 도 설정합니다. 구독, 리소스 그룹 또는 리소스 수준에서 액세스 범위를 설정할 수 있습니다. 권한은 하위 수준의 범위로 상속됩니다. 예를 들어 리소스 그룹의 "읽기 권한자" 역할에 앱을 추가하면 리소스 그룹 및 포함된 모든 리소스를 읽을 수 있습니다.

  1. Azure Stack Hub 설치 중에 지정한 디렉터리(예: Azure AD용 Azure Portal 또는 AD FS용 Azure Stack Hub 사용자 포털)에 따라 적절한 포털에 로그인합니다. 이 예제에서는 Azure Stack Hub 사용자 포털에 로그인한 사용자를 보여 줍니다.

    참고

    지정된 리소스에 대한 역할 할당을 추가하려면 사용자 계정이 사용 권한을 선언 Microsoft.Authorization/roleAssignments/write 하는 역할에 속해야 합니다. 예를 들어 소유자 또는 사용자 액세스 관리자 기본 제공 역할입니다.

  2. 앱 액세스를 허용하려는 리소스로 이동합니다. 이 예제에서는 구독을 선택한 다음 특정 구독을 선택하여 구독 범위의 역할에 앱을 할당 합니다. 대신 리소스 그룹 또는 가상 머신과 같은 특정 리소스를 선택할 수 있습니다.

    Select subscription for assignment

  3. RBAC를 지원하는 모든 리소스에서 범용인 Access Control(IAM) 페이지를 선택합니다.

  4. + 추가를 선택합니다.

  5. 역할에서 앱에 할당할 역할을 선택합니다.

  6. 선택에서 전체 또는 부분 애플리케이션 이름을 사용하여 앱을 검색합니다. 등록하는 동안 애플리케이션 이름은 Azurestack-YourAppName-ClientId<><로 생성됩니다>. 예를 들어 App2의 애플리케이션 이름을 사용하고 ClientId 2bbe67d8-3fdb-4b62-87cf-cc41dd4344ff 를 만드는 동안 할당한 경우 전체 이름은 Azurestack-App2-2bbe67d8-3fdb-4b62-87cf-cc41dd4344ff입니다. 정확한 문자열 또는 Azurestack 또는 Azurestack-App2 같은 부분을 검색할 수 있습니다.

  7. 앱을 찾으면 앱을 선택하면 선택한 멤버 아래에 표시됩니다.

  8. 저장을 선택하여 역할 할당을 완료합니다.

    Assign role

  9. 완료되면 앱은 지정된 역할에 대해 현재 범위에 할당된 보안 주체 목록에 표시됩니다.

    Assigned role

이제 앱에 ID를 부여하고 리소스 액세스 권한을 부여했으므로 스크립트 또는 코드가 로그인하고 Azure Stack Hub 리소스에 안전하게 액세스할 수 있도록 설정할 수 있습니다.

다음 단계

사용자 권한 관리
Azure Active Directory 설명서
ADFS(Active Directory Federation Services)