Azure CLI を使用してプロジェクトを作成して構成する

このクイック スタート ガイドでは、Azure デプロイ環境でプロジェクトを作成する方法について説明します。 次に、「作成」で 作成したデベロッパー センターにプロジェクトを関連付け、Azure CLI を使用してデベロッパー センターを構成します。

通常、プラットフォーム エンジニアリング チームは、プロジェクトを作成して、開発チームがプロジェクト アクセスできるようにします。 その後、開発チームは、環境定義を使用して環境を作成し、個々のリソースに接続してアプリケーションをデプロイします。

前提条件

プロジェクトの作成

デベロッパー センターでプロジェクトを作成するには、次のようにします。

  1. Azure CLI にサインインします。

    az login
    
  2. Azure CLI 開発センター 拡張機能をインストールします。

    az extension add --name devcenter --upgrade
    
  3. デベロッパー センターが存在するサブスクリプションとして既定のサブスクリプションを構成します。

    az account set --subscription <subscriptionName>
    
  4. デベロッパー センターが存在するリソース グループとして既定のリソース グループを構成します。

    az configure --defaults group=<resourceGroupName>
    
  5. デベロッパー センターが存在する場所として既定の場所を構成します。 プロジェクトの場所は、デベロッパー センターの場所と一致している必要があります。

    az configure --defaults location=eastus
    
  6. デベロッパー センターのリソース ID を取得します。

    DEVCID=$(az devcenter admin devcenter show -n <devcenterName> --query id -o tsv)
    echo $DEVCID
    
  7. デベロッパー センターでプロジェクトを作成します。

    az devcenter admin project create -n <projectName> \
    --description "My first project." \
    --dev-center-id $DEVCID
    
  8. プロジェクトが正常に作成されたことを確認します。

    az devcenter admin project show -n <projectName>
    

マネージド ID に所有者ロールを割り当てる

環境の種類を作成する前に、デベロッパー センターを表すマネージド ID に、プロジェクト環境の種類を構成するサブスクリプションへのアクセス権を付与する必要があります。

このクイックスタートでは、前に構成したシステム割り当てマネージド ID (「システム割り当てマネージド ID をアタッチする」) に所有者ロールを割り当てます。

  1. サブスクリプション ID を取得します。

    SUBID=$(az account show --name <subscriptionName> --query id -o tsv)
    echo $SUBID
    
  2. デベロッパー センター リソースの名前を使用して、デベロッパー センターの ID のオブジェクト ID を取得します。

    OID=$(az ad sp list --display-name <devcenterName> --query [].id -o tsv)
    echo $OID
    
  3. サブスクリプションのデベロッパー センターに所有者のロールを割り当てます。

    az role assignment create --assignee $OID \
    --role "Owner" \
    --scope "/subscriptions/$SUBID"
    

プロジェクトを構成する

プロジェクトを構成するには、プロジェクト環境の種類を追加します。

  1. サブスクリプションの所有者のロール ID を取得します。

    # Remove group default scope for next command. Leave blank for group.
    az configure --defaults group=
    
    ROID=$(az role definition list -n "Owner" --scope /subscriptions/$SUBID --query [].name -o tsv)
    echo $ROID
    
    # Set default resource group again
    az configure --defaults group=<resourceGroupName>
    
  2. プロジェクトで許可されている環境の種類を表示します。

    az devcenter admin project-allowed-environment-type list --project <projectName> --query [].name
    
  3. 環境の種類を選択し、プロジェクト用に作成します。

    az devcenter admin project-environment-type create -n <availableEnvironmentType> \
    --project <projectName> \
    --identity-type "SystemAssigned" \
    --roles "{\"${ROID}\":{}}" \
    --deployment-target-id "/subscriptions/${SUBID}" \
    --status Enabled
    

注意

デプロイ ID として少なくとも 1 つの ID (システム割り当てまたはユーザー割り当て) を有効にする必要があります。 ID は、開発者に代わって環境のデプロイを実行するために使用されます。 さらに、デベロッパー センターにアタッチされている ID には、環境の種類ごとにデプロイ サブスクリプションにアクセスするための所有者ロールを割り当てる必要があります。

環境へのアクセスを割り当てる

このクイックスタートでは、独自の ID へのアクセス権を付与します。 必要に応じて、次のコマンドの --assignee の値を別のメンバーのオブジェクト ID に置き換えることができます。

  1. 独自のオブジェクト ID を取得します。

    MYOID=$(az ad signed-in-user show --query id -o tsv)
    echo $MYOID
    
  2. 管理者アクセス権を割り当てます。

    az role assignment create --assignee $MYOID \
    --role "DevCenter Project Admin" \
    --scope "/subscriptions/$SUBID"
    
  3. 必要に応じて、開発環境ユーザー ロールを割り当てることができます。

    az role assignment create --assignee $MYOID \
    --role "Deployment Environments User" \
    --scope "/subscriptions/$SUBID"
    

Note

Deployment Environments ユーザー ロールDevCenter プロジェクト管理者ロール、または適切な権限を持つ組み込みロールを持つユーザーのみが環境を作成できます。 Deployment Environments リーダーロールを持つユーザーは、自分の環境と、他のユーザーによって作成された環境を表示できます。

次のステップ

このクイックスタートでは、プロジェクトを作成し、開発チームにプロジェクトへのアクセス権を付与しました。 開発チーム メンバーが環境を作成する方法については、次のクイック スタートに進んでください。