Operator Nexus でマネージド資格情報のローテーション用にキー コンテナーを設定する
Azure Operator Nexus では、シークレットと証明書を利用して、プラットフォーム全体のコンポーネント セキュリティを管理します。 Operator Nexus プラットフォームは、これらのシークレットと証明書のローテーションを処理します。 既定では、Operator Nexus は資格情報をマネージド キー コンテナーに格納します。 ローテーションされた資格情報をユーザー自身のキー コンテナーに保持するには、ユーザーは Azure Operator Nexus インスタンスのためのキー コンテナーを設定する必要があります。 作成後、ユーザーは、更新された資格情報の書き込み、さらに顧客キー コンテナーの Nexus クラスター リソースへのリンクがOperator Nexus Platform により可能になるように、カスタマー キー コンテナーにロールの割り当てを追加する必要があります。
前提条件
- 適切な CLI 拡張機能の最新バージョンをインストールする
- 顧客のサブスクリプションのサブスクリプション ID を取得する
Note
1 つのキー コンテナーを任意の数のクラスターに使用できます。
クラスター マネージャーのマネージド ID を構成する
2024-06-01-public-preview API 以降、クラスター マネージャーではローテーションされた資格情報のキー コンテナーへの書き込みアクセスにマネージド ID が使われます。 クラスター マネージャーの ID はシステム割り当てまたはユーザー割り当てを使用でき、API または CLI を使って直接管理できます。
これらの例では、クラスター マネージャーのマネージド ID を構成する方法について説明します。
- システム割り当て ID を使用してクラスター マネージャーを作成または更新する
az networkcloud clustermanager create --name "clusterManagerName" --location "location" \
--analytics-workspace-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
--fabric-controller-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName" \
--managed-resource-group-configuration name="my-managed-rg" --tags key1="myvalue1" key2="myvalue2" --resource-group "resourceGroupName" --mi-system-assigned
- ユーザー割り当て ID を使用してクラスター マネージャーを作成または更新する
az networkcloud clustermanager create --name <Cluster Manager Name> --location <Location> \
--analytics-workspace-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
--fabric-controller-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName" \
--managed-resource-group-configuration name="my-managed-rg" --tags key1="myvalue1" key2="myvalue2" \
--resource-group <Resource Group Name> --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAI"
- クラスター マネージャーにシステム割り当て ID を追加する
az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> --mi-system-assigned
- クラスター マネージャーにユーザー割り当て ID を追加する
az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> \
--mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAI"
マネージド ID のプリンシパル ID を取得する
マネージド ID を構成したら、CLI を使って、クラスター マネージャー内の ID および関連付けられたプリンシパル ID のデータを表示します。
例:
az networkcloud clustermanager show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Manager Resource Group Name>/providers/Microsoft.NetworkCloud/clusterManagers/<Cluster Manager Name>
システム割り当て ID の例:
"identity": {
"principalId": "2cb564c1-b4e5-4c71-bbc1-6ae259aa5f87",
"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
"type": "SystemAssigned"
},
ユーザー割り当て ID の例:
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/<subscriptionID>/resourcegroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>": {
"clientId": "e67dd610-99cf-4853-9fa0-d236b214e984",
"principalId": "8e6d23d6-bb6b-4cf3-a00f-4cd640ab1a24"
}
}
},
Nexus クラスター上の顧客キー コンテナーへの資格情報の更新の書き込み
- オペレーター Nexus キー コンテナー ライター サービス ロールを割り当てます。 [Azure ロールベースのアクセス制御] が、[アクセス構成] ビュー上でキー コンテナーのアクセス許可モデルとして選択されていることを確認します。 次に、[アクセス制御] ビューで、ロールの割り当ての追加を選びます。
Role Name | ロールの定義 ID |
---|---|
Operator Nexus キー コンテナー ライター サービス ロール (プレビュー) | 44f0a1a8-6fea-4b35-980a-8ff50c487c97 |
例:
az role assignment create --assignee <Managed Identity Principal Id> --role 44f0a1a8-6fea-4b35-980a-8ff50c487c97 --scope /subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.KeyVault/vaults/<Key Vault Name>
- ユーザーは、顧客キー コンテナーを Operator Nexus クラスターに関連付けます。 キー コンテナーのリソース ID は、クラスターで構成され、クラスターのシークレットを保存するために有効化されている必要があります。
例:
# Set and enable Customer Key Vault on Nexus cluster
az networkcloud cluster update --ids /subscriptions/<subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Nexus Cluster Name> --secret-archive "{key-vault-id:<Key Vault Resource ID>,use-key-vault:true}"
# Show Customer Key Vault setting (secretArchive) on the Nexus cluster
az networkcloud cluster show --ids /subscriptions/<subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Nexus Cluster Name> --query secretArchive
詳細については、以下を参照してください。
az networkcloud cluster update --secret-archive ?? --help
ユーザー割り当て ID にアクセス許可を追加する
ユーザー割り当て ID を使うときは、次のロール割り当てを UAI リソースに追加します。
- Azure portal を開き、対象のユーザー割り当て ID を見つけます。
- [アクセス制御 (IAM)] の [ロール割り当ての追加] をクリックします。
- [ロール] で [マネージド ID オペレーター] を選びます。 (マネージド ID オペレーター ロールが提供するアクセス許可を参照してください)。
- アクセスの割り当て先: ユーザー、グループ、またはサービス プリンシパル
- [メンバー] で AFOI-NC-MGMT-PME-PROD アプリケーションを選びます。
- 確認して割り当てます。