- [アーティクル]
-
-
プールの作成時に[セキュリティ]タブを使用し、[セキュリティ設定]ペインを使用してプールの作成後に、マネージド DevOps プールのセキュリティ設定を構成できます。
既定では、Managed DevOps プールは、組織内のすべてのプロジェクトに付与されたプールへのアクセス権を持つ単一の組織用に構成されます。 必要に応じて、組織内の特定のプロジェクトへのアクセスを制限したり、必要に応じて追加の組織へのアクセスを許可したりできます。
1 つの組織でプールを使用する
既定では、Managed DevOps プールは、プールの作成時に指定する単一の Azure DevOps 組織で使用するように構成されています。 プールが 1 つの組織用に構成されている場合、組織名が表示され、[プールの設定] に構成されます
既定では、[すべてのプロジェクトにプールを追加] は [はい] に設定され、Managed DevOps プールへのアクセスは組織内のすべてのプロジェクトに付与されます。 [いいえ] を選択して、プールを使用できる組織内のプロジェクトを制限するプロジェクトの一覧を指定します。
組織は、Managed DevOps Pools リソースのプロパティで organizationProfile
構成されます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2024-04-04-preview",
"location": "eastus",
"properties": {
...
"organizationProfile": {
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 4
}
],
"permissionProfile": {
"kind": "CreatorOnly"
},
"kind": "AzureDevOps"
}
}
]
}
この organizationProfile
セクションには、次のプロパティがあります。
プロパティ |
説明 |
organizations |
プールを使用できる組織の一覧。 url は、組織の URL を指定し、 projects プールを使用できるプロジェクト名の一覧です (空のリストは組織内のすべてのプロジェクトをサポートします)、 parallelism この組織で使用できるエージェントの数を指定します。 組織の並列処理の合計は、プールの最大エージェント設定と一致する必要があります。 |
permissionProfile |
Azure DevOps プールの作成時に付与されるアクセス許可を指定します。 この値は、プールの作成時にのみ設定できます。 使用できる値は、Inherit 、CreatorOnly 、および SpecificAccounts です。 指定した場合は、1 つの電子メール アドレスまたはプロパティの電子メール アドレスの一覧をusers 指定します。それ以外の場合specificAccounts は省略users します。 詳細については、「プール管理のアクセス許可」を参照してください。 |
kind |
この値は、プールの組織の種類を指定し、に設定する Azure DevOps 必要があります。 |
組織は、プールの作成時または更新時にorganization-profile
パラメーターで構成されます。
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
次の例は、organization-profile
組織内のすべてのプロジェクトにfabrikam-tailspin
対して構成されているオブジェクトをparallelism
1
示しています。
{
"AzureDevOps":
{
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 1
}
]
}
}
この organizationProfile
セクションには、次のプロパティがあります。
プロパティ |
説明 |
AzureDevOps |
この値は、定義 organization-profile されているオブジェクトの名前であり、に Azure DevOps 設定する必要があります。 |
organizations |
プールを使用できる組織の一覧。 url は、組織の URL を指定し、 projects プールを使用できるプロジェクト名の一覧です (空のリストは組織内のすべてのプロジェクトをサポートします)、 parallelism この組織で使用できるエージェントの数を指定します。 組織の並列処理の合計は、プールの最大エージェント設定と一致する必要があります。 |
permissionProfile |
Azure DevOps プールの作成時に付与されるアクセス許可を指定します。 この値は、プールの作成時にのみ設定できます。 使用できる値は、Inherit 、CreatorOnly 、および SpecificAccounts です。 指定した場合は、1 つの電子メール アドレスまたはプロパティの電子メール アドレスの一覧をusers 指定します。それ以外の場合specificAccounts は省略users します。 詳細については、「プール管理のアクセス許可」を参照してください。 |
複数の組織でプールを使用する
複数の組織でプールを使用して、複数の Azure DevOps 組織でプールを使用できるようにします。 各組織について、プールの使用を許可するプロジェクトを指定するか、空白のままにしてすべてのプロジェクトを許可します。 各組織に割り当てるプールの最大エージェントで指定されているコンカレンシーの部分を指定して、各組織の並列処理を構成します。 すべての組織の並列処理の合計は、プールの最大コンカレンシーと等しい必要があります。 たとえば、最大エージェントが 5 に設定されている場合、指定した組織の並列処理の合計は 5 である必要があります。 最大エージェントが 1 に設定されている場合、プールは 1 つの組織でのみ使用できます。
次の例では、プールは fabrikam-tailspin 組織の FabrikamResearch プロジェクトと FabrikamTest プロジェクト、および fabrikam-blue 組織内のすべてのプロジェクトで使用できるように構成されています。
のようなThe sum of parallelism for all organizations must equal the max concurrency.
エラーが発生した場合は、プールの最大エージェント数が並列処理列の合計と一致していることを確認します。
組織の一覧に組織を追加して、複数の組織で使用するようにプールを構成します。 次の例では、2 つの組織が構成されています。 最初の組織はすべてのプロジェクトにマネージド DevOps プールを使用するように構成され、2 番目の組織は 2 つのプロジェクトに制限されています。 この例では、プールのエージェントの最大設定は 4 であり、各組織はこれら 4 つのエージェントのうち 2 つを使用できます。
"organizationProfile": {
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 2
},
{
"url": "https://dev.azure.com/fabrikam-prime",
"projects": [ "fabrikam-dev", "fabrikam-test" ],
"parallelism": 2
}
],
"permissionProfile": {
"kind": "CreatorOnly"
},
"kind": "AzureDevOps"
}
組織は、プールの作成時または更新時にorganization-profile
パラメーターで構成されます。
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
組織の一覧に組織を追加して、複数の組織で使用するようにプールを構成します。 次の例では、2 つの組織が構成されています。 最初の組織はすべてのプロジェクトにマネージド DevOps プールを使用するように構成され、2 番目の組織は 2 つのプロジェクトに制限されています。 この例では、プールのエージェントの最大設定は 4 であり、各組織はこれら 4 つのエージェントのうち 2 つを使用できます。
{
"AzureDevOps":
{
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 2
},
{
"url": "https://dev.azure.com/fabrikam-prime",
"projects": [ "fabrikam-dev", "fabrikam-test" ],
"parallelism": 2
}
]
}
}
テストで UI テスト用の対話型ログインが必要な場合は、EnableInteractiveMode 設定を有効にして対話型ログインを有効にします。
対話型モードは、プロパティの osProfile
セクションで fabricProfile
構成されます。 対話モードをInteractive
有効にするかService
、対話モードを無効にするように設定logonType
します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2024-04-04-preview",
"location": "eastus",
"properties": {
...
"fabricProfile": {
"sku": {...},
"images": [...],
"osProfile": {
"secretsManagementSettings": {...},
"logonType": "Interactive"
},
"storageProfile": {...},
"kind": "Vmss"
}
}
]
}
対話型モードは、プールのlogonType
作成時または更新時にosProfile
パラメーターのfabric-profile
セクションのプロパティを使用して構成されます。
az mdp pool create \
--fabric-profile fabric-profile.json
# other parameters omitted for space
次の例は、モードがosProfile
有効になっているfabric-profile.json ファイルのセクションをInteractive
示しています。
{
"vmss": {
"sku": {...},
"images": [...],
"osProfile": {
"secretsManagementSettings": {...},
"logonType": "Interactive"
},
"storageProfile": {...}
}
}
プール管理のアクセス許可
マネージド DevOps プール作成プロセスの一環として、組織レベルのエージェント プールが Azure DevOps に作成されます。 プール 管理のアクセス許可 の設定では、新しく作成された Azure DevOps プールの管理者ロールを付与するユーザーを指定します。
- 作成者のみ - Managed DevOps プールを作成したユーザーが Azure DevOps エージェント プールの管理者として追加され、エージェント プールのセキュリティ設定で継承が [オフ] に設定されます。 作成者のみが 既定の設定です。
- プロジェクトからアクセス許可を継承する - Managed DevOps プールを作成したユーザーは Azure DevOps エージェント プールの管理者として追加され、継承はエージェント プールのセキュリティ設定で [オン] に設定されます。
- 特定の アカウント - Azure DevOps で作成されたエージェント プールの管理者として追加するアカウントを指定します。 既定では、Managed DevOps プールの作成者が一覧に追加されます。
Note
プールの管理アクセス許可は、プールの作成時に [セキュリティ] タブで構成され、プールの作成後に [セキュリティ] 設定には表示されません。 Managed DevOps プールの作成後に Azure DevOps エージェント プールのアクセス許可を表示および管理するには、「エージェント プールの作成と管理 - エージェント プールのセキュリティ」を参照してください。
プール管理アクセス許可は、Managed DevOps Pools リソースのorganizationProfile
セクションのプロパティでpermissionsProfile
構成されます。
{
"organizationProfile": {
"organizations": [...],
"permissionProfile": {
"kind": "CreatorOnly"
},
"kind": "AzureDevOps"
}
このプロパティは permissionProfile
、プールの作成時にのみ設定できます。 使用できる値は、Inherit
、CreatorOnly
、および SpecificAccounts
です。
CreatorOnly
- Managed DevOps プールを作成したユーザーが Azure DevOps エージェント プールの管理者として追加され、エージェント プールのセキュリティ設定で [継承] が [オフ] に設定されます。 作成者のみが 既定の設定です。
Inherit
- Managed DevOps プールを作成したユーザーは Azure DevOps エージェント プールの管理者として追加され、継承はエージェント プールのセキュリティ設定で [オン] に設定されます。
SpecificAccounts
- Azure DevOps で作成されたエージェント プールの管理者として追加するアカウントを指定します。 既定では、Managed DevOps プールの作成者が一覧に追加されます。 1 つのメール アドレスまたはプロパティの電子メール アドレスの一覧を users
指定します。それ以外の場合は省略 users
します。
{
"organizationProfile": {
"organizations": [...],
"permissionProfile": {
"kind": "SpecificAccounts",
"users" : ["User1@fabrikam.com", "User2@fabrikam.com" ]
},
"kind": "AzureDevOps"
}
プール管理のアクセス許可は、プールの作成時にorganization-profile
パラメーターで構成されます。
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
{
"AzureDevOps":
{
"organizations": [...],
"permissionProfile": {
"kind": "CreatorOnly"
}
}
}
このプロパティは permissionProfile
、プールの作成時にのみ設定できます。 使用できる値は、Inherit
、CreatorOnly
、および SpecificAccounts
です。
CreatorOnly
- Managed DevOps プールを作成したユーザーが Azure DevOps エージェント プールの管理者として追加され、エージェント プールのセキュリティ設定で [継承] が [オフ] に設定されます。 作成者のみが 既定の設定です。
Inherit
- Managed DevOps プールを作成したユーザーは Azure DevOps エージェント プールの管理者として追加され、継承はエージェント プールのセキュリティ設定で [オン] に設定されます。
SpecificAccounts
- Azure DevOps で作成されたエージェント プールの管理者として追加するアカウントを指定します。 既定では、Managed DevOps プールの作成者が一覧に追加されます。 1 つのメール アドレスまたはプロパティの電子メール アドレスの一覧を users
指定します。それ以外の場合は省略 users
します。
{
"AzureDevOps" : {
"organizationProfile": {
"organizations": [...],
"permissionProfile": {
"kind": "SpecificAccounts",
"users" : ["User1@fabrikam.com", "User2@fabrikam.com" ]
}
}
}
関連項目