このクイックスタートでは、Azure PowerShell を使用して Azure Key Vault にキー コンテナーを作成します。 Azure Key Vault は、セキュリティで保護されたシークレット ストアとして機能するクラウド サービスです。 キー、パスワード、証明書、およびその他のシークレットを安全に保管することができます。 Key Vault の詳細については、概要に関する記事をご覧ください。 Azure PowerShell は、コマンドまたはスクリプトを使用して Azure リソースを作成および管理するために使用します。 その後、証明書を格納します。
前提条件
Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- Azure PowerShell をローカルで使用する場合は、次のようにします。
- Az PowerShell モジュールの最新バージョンをインストールします。
- Connect-AzAccount コマンドレットを使用して、Azure アカウントに接続します。
- Azure Cloud Shell を使用する場合は、次のようにします。
- 詳細については、Azure Cloud Shell の概要に関するページを参照してください。
リソース グループを作成する
リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。 Azure PowerShell の New-AzResourceGroup コマンドレットを使用して、myResourceGroup という名前のリソース グループを eastus に作成します。
New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"
Key Vault を作成します
Azure PowerShell New-AzKeyVault コマンドレットを使用して、前の手順で作成したリソース グループにキー コンテナーを作成します。 いくつかの情報を指定する必要があります。
キー コンテナー名:数字 (0-9)、文字 (a-z、A-Z)、ハイフン (-) のみを含んだ 3 から 24 文字の文字列
重要
各キー コンテナーには一意の名前が必要です。 次の例では、<your-unique-keyvault-name> をお使いのキー コンテナーの名前に置き換えてください。
リソース グループ名: myResourceGroup
場所: EastUS。
New-AzKeyVault -Name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "EastUS"
このコマンドレットの出力では、新しく作成したキー コンテナーのプロパティが示されます。 これらの 2 つのプロパティをメモします。
- コンテナー名: -Name パラメーターに指定した名前です。
- コンテナー URI: この例では、この URI は https://<your-unique-keyvault-name>.vault.azure.net/ です。 その REST API から資格情報コンテナーを使用するアプリケーションは、この URI を使用する必要があります。
この時点で、自分の Azure アカウントが唯一、この新しいコンテナーで任意の操作を実行することを許可されています。
Key Vault で証明書を管理するアクセス許可をユーザー アカウントに付与する
ロールベースのアクセス制御 (RBAC) を通してキー コンテナーに対するアクセス許可を取得するには、Azure PowerShell コマンドレット New-AzRoleAssignment を使用してユーザー プリンシパル名 (UPN) にロールを割り当てます。
New-AzRoleAssignment -SignInName "<upn>" -RoleDefinitionName "Key Vault Certificates Officer" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name>"
<upn>、<subscription-id>、<resource-group-name>、<your-unique-keyvault-name> は実際の値に置き換えます。 UPN は一般的に、メール アドレスの形式を取ります (例: username@___domain.com)。
証明書を 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"
トラブルシューティング:
Operation returned an invalid status code "Forbidden" (操作によって無効な状態コード "Forbidden" が返されました)
このエラーが発生した場合、Azure キー コンテナーにアクセスするアカウントには、証明書を作成するための適切なアクセス許可がありません。
次の Azure PowerShell コマンドを実行して、適切なアクセス許可を割り当ててください。
Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> -ObjectId <AzureObjectID> -PermissionsToCertificates get,list,update,create
リソースをクリーンアップする
このコレクションの他のクイックスタートとチュートリアルは、このクイックスタートに基づいています。 他のクイック スタートおよびチュートリアルを引き続き実行する場合は、これらのリソースをそのまま残しておくことをお勧めします。
必要がなくなったら、Azure PowerShell の Remove-AzResourceGroup コマンドレットを使用して、リソース グループとすべての関連リソースを削除できます。
Remove-AzResourceGroup -Name "myResourceGroup"
次のステップ
このクイックスタートでは、キー コンテナーを作成して証明書を格納しました。 Key Vault およびアプリケーションとの統合方法の詳細については、引き続き以下の記事を参照してください。
- Azure Key Vault の概要を確認する
- Azure PowerShell の Key Vault コマンドレットのリファレンスを参照する
- Key Vault のセキュリティの概要を確認する