サービス フックでグループのビュー権限を設定する
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
既定では、プロジェクト管理者のみが View または Edit 権限を持ちます。 これらのアクセス許可を他のユーザーに直接付与するには、 コマンド ライン ツール または Security REST API を使用できます。
ServiceHooks
セキュリティ名前空間 ID は、List セキュリティ名前空間で次のように定義されます。cb594ebe-87dd-4fc9-ac2c-6a10a4c92046
前提条件
Azure CLI をインストールしてコマンド
az devops
実行します。 Azure CLI をインストールする方法Azure DevOps プロファイルの個人用アクセス トークン (PAT) を作成します。 Project コレクション管理者 (PCA) グループのメンバーであることを確認します。
- ID (読み取り)
- グラフ (読み取り)
- セキュリティ (管理)
az devops login
を使用して Azure DevOps にサインインします。az devops
拡張機能がない場合は、インストールします。> az devops login The command requires the extension azure-devops. Do you want to install it now? The command will continue to run after the extension is installed. (Y/n): Y
既定の組織として組織を定義できます。 それ以外の場合は、各コマンドの
--org "https://dev.azure.com/{organization}"
を定義します。az devops configure --defaults organization="https://dev.azure.com/{organization}"
組織のアクセス許可の一覧が表示されるかどうかを確認します。
az devops security permission namespace list --org "https://dev.azure.com/{organization}"
グループ ID とアクセス許可トークンの読み取り
グループ ID 記述子を見つけます。
> az devops security group list --project ac515e82-560c-4af8-845b-9f7f968d8e7b --output table Name Descriptor ----------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------- [TEAM FOUNDATION]\EntraServiceHooksRead aadgp.Uy0xLTktMTU1MTM3NDI0NS0xMjA0NDAwOTY5LTI0MDI5ODY0MTMtMjE3OTQwODYxNi0zLTM5NTQxNzM3ODYtMTUyMTA4MTkyNS0yNTQwNTA4MjYzLTMzNDgxNjQxNjg
グループ名でフィルター処理する場合は、コマンド プロンプトに応じて
findstr
またはgrep
コマンドを使用できます。アクセス許可トークンを取得します。
> az devops security permission list --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --output table Token Effective Allow Effective Deny ------------------------------------------------------ ----------------- ---------------- PublisherSecurity 0 0 PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b 0 0
サービス フックの読み取りアクセス許可を更新する
--allow-bit
に対して定義できるアクセス許可の一覧。- サブスクリプションの表示
- サブスクリプションの編集
- サブスクリプションの削除
- イベントの発行
> az devops security permission namespace show --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 [ { "actions": [ { "bit": 1, "displayName": "View Subscriptions", "name": "ViewSubscriptions", "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046" }, { "bit": 2, "displayName": "Edit Subscription", "name": "EditSubscriptions", "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046" }, { "bit": 4, "displayName": "Delete Subscriptions", "name": "DeleteSubscriptions", "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046" }, { "bit": 8, "displayName": "Publish Events", "name": "PublishEvents", "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046" } ], "dataspaceCategory": "Default", "displayName": "ServiceHooks", "elementLength": -1, "extensionType": null, "isRemotable": true, "name": "ServiceHooks", "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046", "readPermission": 1, "separatorValue": "/", "structureValue": 1, "systemBitMask": 0, "useTokenTranslator": true, "writePermission": 7 }
グループの View アクセスを設定します。
--allow-bit
の ServiceHooks サブスクリプションの表示は 1 です。> az devops security permission update --namespace-id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --token PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b --allow-bit 1 [ { "acesDictionary": { "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-3-3954173786-1521081925-2540508263-3348164168": { "allow": 1, "deny": 0, "descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-3-3954173786-1521081925-2540508263-3348164168", "extendedInfo": { "effectiveAllow": 1 }, "resolvedPermissions": [ { "bit": 1, "displayName": "View Subscriptions", "effectivePermission": "Allow", "name": "ViewSubscriptions" } ] } }, "includeExtendedInfo": true, "inheritPermissions": true, "token": "PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b" } ]
変更を確認するためのアクセス許可トークンを取得します。
> az devops security permission list --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --output table Token Effective Allow Effective Deny ------------------------------------------------------ ----------------- ---------------- PublisherSecurity 0 0 PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b 1 0
次の例は、ユーザーがサービスフックサブスクリプションを表示できることを示しています。
グループのすべてのサービス フックのアクセス許可をリセットする
グループまたはユーザーのすべてのサービス フックのアクセス許可をリセットする必要がある場合は、
reset-all
を呼び出すことができます。> az devops security permission reset-all --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --token PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b Are you sure you want to reset all explicit permissions for this user/group and token? (y/n): Y true > az devops security permission list --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --output table Token Effective Allow Effective Deny ------------------------------------------------------ ----------------- ---------------- PublisherSecurity 0 0 PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b 0 0
次の例は、アクセス許可がリセットされた後、ユーザーがサブスクリプションをサービスフックに表示できないことを示しています。