빠른 시작: Azure PowerShell을 사용하여 Azure Key Vault에서 인증서 설정 및 검색

이 빠른 시작에서는 Azure PowerShell을 사용하여 Azure Key Vault에서 Key Vault를 만듭니다. Azure Key Vault는 보안 비밀 저장소로 작동하는 클라우드 서비스입니다. 키, 암호, 인증서 및 기타 비밀을 안전하게 저장할 수 있습니다. Key Vault에 대한 자세한 내용을 보려면 개요를 검토합니다. Azure PowerShell은 명령 또는 스크립트를 사용하여 Azure 리소스를 만들고 관리하는 데 사용됩니다. 그런 다음, 인증서를 저장합니다.

Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

Azure Cloud Shell

Azure는 브라우저를 통해 사용할 수 있는 대화형 셸 환경인 Azure Cloud Shell을 호스트합니다. Cloud Shell에서 Bash 또는 PowerShell을 사용하여 Azure 서비스 작업을 수행할 수 있습니다. 로컬 환경에 아무 것도 설치할 필요 없이 Azure Cloud Shell의 미리 설치된 명령을 사용하여 이 문서의 코드를 실행할 수 있습니다.

Azure Cloud Shell을 시작하려면 다음을 수행합니다.

옵션 예제/링크
코드 또는 명령 블록의 오른쪽 상단에서 시도를 선택합니다. 시도를 선택해도 코드 또는 명령이 Cloud Shell에 자동으로 복사되지 않습니다. Azure Cloud Shell에 대한 사용 예제를 보여 주는 스크린샷
https://shell.azure.com으로 이동하거나 Cloud Shell 시작 단추를 선택하여 브라우저에서 Cloud Shell을 엽니다. Azure Cloud Shell을 시작하는 단추입니다.
Azure Portal의 오른쪽 위에 있는 메뉴 모음에서 Cloud Shell 단추를 선택합니다. Azure Portal의 Cloud Shell 단추를 보여 주는 스크린샷

Azure Cloud Shell을 사용하려면:

  1. Cloud Shell을 시작합니다.

  2. 코드 블록(또는 명령 블록)에서 복사 단추를 선택하여 코드 또는 명령을 복사합니다.

  3. Windows 및 Linux에서 Ctrl+Shift+V를 선택하거나 macOS에서 Cmd+Shift+V를 선택하여 코드 또는 명령을 Cloud Shell 세션에 붙여넣습니다.

  4. Enter를 선택하여 코드 또는 명령을 실행합니다.

로컬에서 PowerShell을 설치하고 사용하도록 선택하려는 경우 이 자습서를 진행하려면 Azure PowerShell 모듈 버전 1.0.0 이상이 필요합니다. $PSVersionTable.PSVersion 명령을 실행하여 버전을 찾습니다. 업그레이드해야 하는 경우 Azure PowerShell 모듈 설치를 참조하세요. 또한 PowerShell을 로컬로 실행하는 경우 Connect-AzAccount를 실행하여 Azure와 연결해야 합니다.

Connect-AzAccount

리소스 그룹 만들기

리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다. Azure PowerShell New-AzResourceGroup cmdlet을 사용하여 eastus 위치에 myResourceGroup이라는 리소스 그룹을 만듭니다.

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

키 자격 증명 모음 만들기

Azure PowerShell New-AzKeyVault cmdlet을 사용하여 이전 단계에서 리소스 그룹에 Key Vault를 만듭니다. 몇 가지 정보를 제공해야 합니다.

  • Key Vault 이름: 숫자(0~9), 문자(a~z, A~Z) 및 하이픈(-)만 포함할 수 있는 3~24자 문자열입니다.

    Important

    각 Key Vault마다 고유한 이름이 있어야 합니다. 다음 예제에서는 <your-unique-keyvault-name>을 키 자격 증명 모음의 이름으로 바꿉니다.

  • 리소스 그룹 이름: myResourceGroup

  • 위치: EastUS

New-AzKeyVault -Name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "EastUS"

이 cmdlet의 출력에는 새로 만든 Key Vault의 속성이 표시됩니다. 아래에 나열된 두 개의 속성을 기록합니다.

  • 자격 증명 모음 이름: 위의 -Name 매개 변수에 제공한 이름입니다.
  • 자격 증명 모음 URI: 이 예제에서 이는 https://<your-unique-keyvault-name>.vault.azure.net/입니다. REST API를 통해 사용자 자격 증명 모음을 사용하는 애플리케이션은 URI를 사용해야 합니다.

이때 사용자의 Azure 계정은 이 새 Vault에서 모든 작업을 수행할 권한이 있는 유일한 계정입니다.

키 자격 증명 모음에 대한 액세스 권한 부여

RBAC(역할 기반 액세스 제어)를 통해 키 자격 증명 모음에 애플리케이션 권한을 부여하려면 Azure PowerShell cmdlet New-AzRoleAssignment를 사용하여 역할을 할당합니다.

New-AzRoleAssignment -RoleDefinitionName "Key Vault Secrets User" -SignInName "<your-email-address>" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name>"

<your-email-address>, <subscription-id>, <resource-group-name>, <unique-keyvault-name>을 실제 값으로 대체합니다. <your-email-address>는 로그인 이름입니다. 대신 -ObjectId 매개 변수 및 Microsoft Entra 개체 ID를 사용할 수 있습니다.

Key Vault에 인증서 추가

이제 자격 증명 모음에 인증서를 추가할 수 있습니다. 이 인증서는 애플리케이션에서 사용할 수 있습니다.

다음 명령을 통해 ExampleCertificate라는 정책을 사용하여 자체 서명된 인증서를 만듭니다.

$Policy = New-AzKeyVaultCertificatePolicy -SecretContentType "application/x-pkcs12" -SubjectName "CN=contoso.com" -IssuerName "Self" -ValidityInMonths 6 -ReuseKeyOnRenewal

Add-AzKeyVaultCertificate -VaultName "<your-unique-keyvault-name>" -Name "ExampleCertificate" -CertificatePolicy $Policy

이제 해당 URI를 사용하여 Azure Key Vault에 추가한 이 인증서를 참조할 수 있습니다. 현재 버전을 가져오려면 https://<your-unique-keyvault-name>.vault.azure.net/certificates/ExampleCertificate 를 사용합니다.

이전에 저장한 인증서를 보려면 다음을 수행합니다.

Get-AzKeyVaultCertificate -VaultName "<your-unique-keyvault-name>" -Name "ExampleCertificate"

문제 해결:

작업에서 잘못된 상태 코드 '금지됨'을 반환했습니다.

이 오류가 발생하면 Azure Key Vault에 액세스하는 계정에 인증서를 만들 수 있는 적절한 권한이 없는 것입니다.

다음 Azure PowerShell 명령을 실행하여 적절한 권한을 할당합니다.

Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> -ObjectId <AzureObjectID> -PermissionsToCertificates get,list,update,create

리소스 정리

이 컬렉션의 다른 빠른 시작과 자습서는 이 빠른 시작을 기반으로 하여 작성됩니다. 다른 빠른 시작 및 자습서를 계속 진행하려는 경우 이러한 리소스를 유지하는 것이 좋습니다.

더 이상 필요하지 않은 경우 Azure PowerShell Remove-AzResourceGroup cmdlet을 사용하여 리소스 그룹 및 모든 관련 리소스를 제거할 수 있습니다.

Remove-AzResourceGroup -Name "myResourceGroup"

다음 단계

이 빠른 시작에서는 Key Vault를 만들어 인증서를 저장했습니다. Key Vault 및 이를 애플리케이션과 통합하는 방법에 대해 자세히 알아보려면 아래 문서로 계속 진행하세요.