programing

Azure 서비스 프린서펄이 뭐죠?

powerit 2023. 4. 23. 11:35
반응형

Azure 서비스 프린서펄이 뭐죠?

저의 요구는 간단합니다.비인터랙티브모드에서 셸 스크립트를 사용하여 Azure에 로그인하고 싶은데 "az login -u username -p password" 명령어로 다음 오류가 나타납니다.

Get Token request returned http error: 400 and server response:
{"error":"invalid_grant","error_description":"AADSTS70002: Error
validating credentials. : SAML token is invalid. : The element 
with ID 'xxxxxx' was either unsigned or the signature was 
invalid.

어떤 사이트에서 서비스 주체를 만들라고 했어요.여기서 궁금한 점은 서비스 주체란 무엇이며, 셸 스크립트에서 (앱 게이트웨이와 같은 다른 리소스를 만들기 위한) 명령을 실행할 수 있도록 서비스 주체 작성 방법은 무엇입니까?

이 공문을 참조해 주세요.

Azure 서비스 주체란 특정 Azure 리소스에 액세스하기 위해 사용자가 만든 애플리케이션, 서비스 및 자동화 도구에서 사용하는 보안 ID입니다.특정 역할을 가진 '사용자 ID'(로그인 및 비밀번호 또는 인증서)로, 리소스에 액세스할 수 있는 권한을 엄격하게 제어한다고 생각하면 됩니다.일반적인 사용자 ID와 달리 특정 작업만 수행할 수 있으면 됩니다.관리 태스크를 수행하는 데 필요한 최소 사용 권한 수준만 부여하면 보안이 향상됩니다.

Azure CLi 2.0을 사용하여 새 서비스 주체(sp)를 생성하는 경우.Azure AD 사용자와 함께 로그인할 수 있습니다.그런 다음 다음 명령을 실행합니다.

az ad sp create-for-rbac --name {appId} --password "{strong password}"

결과는 다음과 같습니다.

{
  "appId": "a487e0c1-82af-47d9-9a0b-af184eb87646d",
  "displayName": "MyDemoWebApp",
  "name": "http://MyDemoWebApp",
  "password": {strong password},
  "tenant": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}

appId로그인 사용자입니다.password로그인 패스워드입니다.

SP가 생성되면 SP도 제공해야 합니다.ContributorAzure 리소스를 관리할 수 있습니다.

az role assignment create --assignee <objectID> --role Contributor

이제 다음 명령어를 사용하여 비인터랙티브모드로 로그인할 수 있습니다.

az login --service-principal -u <appid> --password {password-or-path-to-cert} --tenant {tenant}

Azure AD에서는 서비스 주계약자가 사용자를 가장하는 역할만 합니다.참조 - https://sanganakauthority.blogspot.com/2019/04/how-to-create-service-principal-or-app.html

이를 통해 REST API를 사용하여 Azure에 대해 모든 유형의 관리 작업을 수행할 수 있습니다.이렇게 하면 팝업에서 자격 증명을 제공할 필요가 없으므로 REST API를 사용하여 Azure에서 작업을 자동화할 수 있습니다.

여기 있습니다.포털을 사용하여 리소스에 액세스할있는 Azure Active Directory 응용 프로그램서비스 주체 생성

리소스에 액세스하거나 수정해야 하는 응용 프로그램이 있는 경우 Azure AD(Active Directory) 응용 프로그램을 설정하고 필요한 권한을 할당해야 합니다.이 방법은 다음과 같은 이유로 사용자 자신의 자격 증명으로 앱을 실행하는 것보다 선호됩니다.

  • 사용자 자신의 사용 권한과 다른 사용 권한을 앱 ID에 할당할 수 있습니다.일반적으로 이러한 권한은 앱이 정확히 수행해야 하는 작업으로 제한됩니다.
  • 책임이 변경된 경우 앱의 자격 증명을 변경할 필요가 없습니다.
  • 무인 스크립트를 실행할 때 인증서를 사용하여 인증을 자동화할 수 있습니다.

언급URL : https://stackoverflow.com/questions/48096342/what-is-azure-service-principal

반응형