Azure 함수에 대한 관리 아이덴티티 구성에는 관리 된 신원이 지정된 시스템 또는 사용자 지정 된 관리 ID를 사용하는 것이 포함됩니다. 두 유형을 모두 설정하는 방법은 다음과 같습니다.
시스템을 지원하는 관리 ID가 할당됩니다
1. Azure Portal로 이동하십시오 : Azure Portal의 Azure 기능 앱으로 이동하십시오.
2. ID 옵션 선택 : 왼쪽 메뉴에서 설정을 선택한 다음 ID를 클릭하십시오.
3. 시스템 할당 된 ID를 활성화 : 시스템 할당 된 탭에서 상태를 ON으로 전환하고 저장을 클릭하십시오. 이것은 기능 앱과 동일한 이름으로 관리 된 ID를 만듭니다.
4. 권한 할당 : 기능에 액세스하려는 리소스 (예 : Azure Storage 또는 SQL 데이터베이스)로 이동하십시오. 제어 (IAM)에 액세스 한 다음 역할 할당을 통해 관리 된 신원에 적절한 역할을 할당 한 다음 필요한 역할에 관리 된 신원을 추가합니다 [1] [3] [7].
사용자 지정 된 관리 ID를 활성화합니다
1. 사용자 지정된 ID를 작성하십시오. 첫째, Azure에서 사용자가 할당 된 관리 아이덴티티 리소스를 만듭니다. 이 신원은 여러 자원에서 사용될 수 있습니다.
2. 기능 할당 앱 : Azure Portal에서 기능 앱의 ID 설정으로 이동하십시오. 지정된 탭으로 전환하고 추가를 클릭하십시오. [1] [6]를 만든 사용자가 할당 된 신원을 검색하고 선택하십시오.
3. 앱 설정 구성 : Key Vault와 같은 특정 서비스의 경우 UI에서 이러한 설정을 사용할 수 없으므로 REST API 호출을 통해 추가 속성 (예 :`keyvaultreferenceIntity ')을 설정해야 할 수도 있습니다 [1].
4. 권한 할당 : 시스템이 부여 된 신원과 유사하게 대상 리소스에 대한 사용자가 할당 된 신원에 필요한 역할을 할당한다 [6].
코드에서 관리 된 ID를 사용합니다
관리 된 ID를 사용하는 경우 Azure 기능은`azure.identity '와 같은 라이브러리를 활용하여 비밀을 직접 처리하지 않고 Azure 서비스로 인증 할 수 있습니다. 예를 들어,`defaultazurecredential '을 사용하여 Azure Storage 또는 SQL 데이터베이스에 연결할 수 있습니다 [5] [9].
관리 신원의 이점
- 보안 : 코드 또는 구성 파일에 비밀을 저장할 필요가 없습니다.
- 유연성 : Azure RBAC를 통한 액세스 권한을 쉽게 관리 할 수 있습니다.
-확장 성 : 다양한 시나리오에 대한 시스템 및 사용자가 할당 된 ID를 모두 지원합니다 [4] [6].
인용 :
[1] https://www.red-gate.com/simple-talk/cloud/azure/azure-function-and-user-assigned-managed-identities/
[2] https://codebankblog.wordpress.com/2020/06/27/azure-function-with-managed-identity-and-azure-sql-db/
[3] https://kumarashwinhubert.com/secure-your-azure-functions-use-use-managed-identity-for-azurebjobsstorage
[4] https://docs.azure.cn/en-us/azure-functions/functions-identity-connections-tutorial
[5] https://www.linkedin.com/pulse/how-use-managed-identities-app-service-azure-ali-khan-
[6] https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity
[7] https://docs.azure.cn/en-us/azure-functions/functions-identity-access-azure-sql-with-managed-identity
[8] https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-configure-managed-identity
[9] https://www.transparity.com/app-innovation/azure-functions-with-managed-identity-storage-access/