クイックスタート: Bicep を使用して Azure でのロールを割り当てる

Azure ロールベースのアクセス制御 (Azure RBAC) は、Azure のリソースに対するアクセスを管理するための手法です。 このクイックスタートでは、リソース グループを作成し、リソース グループ内で仮想マシンを作成および管理するアクセス権をユーザーに付与します。 このクイックスタートでは、Bicep を使用してアクセス権を付与します。

Bicep は、宣言型の構文を使用して Azure リソースをデプロイするドメイン固有言語 (DSL) です。 簡潔な構文、信頼性の高いタイプ セーフ、およびコードの再利用のサポートが提供されます。 Bicep により、Azure のコード ソリューションとしてのインフラストラクチャに最適な作成エクスペリエンスが実現します。

前提条件

Azure ロールを割り当てたりロール割り当てを削除したりするには、以下が必要です。

  • Azure サブスクリプションをお持ちでない場合は、始める前に無料アカウントを作成してください。
  • Microsoft.Authorization/roleAssignments/writeMicrosoft.Authorization/roleAssignments/deleteアクセス許可 (ロール ベースのアクセス制御管理istrator など)。
  • ロールを割り当てるには、セキュリティ プリンシパル、ロールの定義、スコープの 3 つの要素を指定する必要があります。 このクイックスタートでは、セキュリティ プリンシパルは自分またはディレクトリ内の別のユーザーであり、ロールの定義は仮想マシン共同作成者、スコープは指定したリソース グループです。

Bicep ファイルを確認する

このクイックスタートで使用される Bicep ファイルは、Azure クイックスタート テンプレートからのものです。 この Bicep ファイルには、2 つのパラメーターと 1 つのリソース セクションがあります。 リソース セクションには、ロールの割り当ての 3 つの要素 (セキュリティ プリンシパル、ロールの定義、スコープ) が含まれることに注意してください。

@description('Specifies the role definition ID used in the role assignment.')
param roleDefinitionID string

@description('Specifies the principal ID assigned to the role.')
param principalId string

var roleAssignmentName= guid(principalId, roleDefinitionID, resourceGroup().id)
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: roleAssignmentName
  properties: {
    roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', roleDefinitionID)
    principalId: principalId
  }
}

output name string = roleAssignment.name
output resourceGroupName string = resourceGroup().name
output resourceId string = roleAssignment.id

Bicep ファイルに定義されているリソースは以下です。

Bicep ファイルをデプロイする

  1. Bicep ファイルを main.bicep としてローカル コンピューターに保存します。

  2. Azure CLI または Azure PowerShell のどちらかを使用して Bicep ファイルをデプロイします。

    az group create --name exampleRG --location eastus
    az deployment group create --resource-group exampleRG --template-file main.bicep --parameters roleDefinitionID=9980e02c-c2be-4d73-94e8-173b1dc7cf3c principalId=<principal-id>
    

注意

<principal-id> を、ロールに割り当てられるプリンシパル ID に置き換えます。

デプロイが完了すると、デプロイが成功したことを示すメッセージが表示されます。

デプロイされているリソースを確認する

Azure portal、Azure CLI、または Azure PowerShell を使用して、リソースグループ内のデプロイ済みリソースをリスト表示します。

az role assignment list --resource-group exampleRG

リソースをクリーンアップする

不要になったら、Azure portal、Azure CLI、Azure PowerShell のいずれかを使用してロールの割り当てを削除します。 詳細については、「Azure ロールの割り当ての削除」を参照してください。

Azure portal、Azure CLI、または Azure PowerShell を使用して、リソース グループを削除します。

az group delete --name exampleRG

次のステップ