コマンドラインツールを使用して権限を管理する
Azure DevOps Services
アクセス許可は、「アクセス許可、アクセス許可、およびセキュリティ グループの概要」の説明に従って、特定のリソースに 対して特定のアクションを実行するためのアクセス権を付与します。 ほとんどのアクセス許可は Web ポータルを使用して管理します。 ただし、コマンド ライン ツールまたは REST API を使用してアクセス許可を管理できます。
Azure DevOps では、既定のセキュリティ グループのメンバーに対して、既定で多数のアクセス許可が付与されます。 コマンドを使用して、より詳細なレベルでアクセス許可を az devops security permission
追加および管理できます。 次のコマンドを使用します。
- セキュリティ名前空間に関連付けられているアクセス許可を表示する
- これらのアクセス許可に関する詳細を表示する
- アクセス許可を更新またはリセットする
Note
名前空間とトークンは、Azure DevOps のすべてのバージョンで有効です。 ここに記載されているものは、Azure DevOps 2019 以降のバージョンで有効です。 名前空間は、時間の経過と同時に変更される可能性があります。 名前空間の最新の一覧を取得するには、コマンド ライン ツールまたは REST API のいずれかを実行します。 一部の名前空間は、セキュリティ名前空間とアクセス許可のリファレンス、非推奨および読み取り専用の名前空間に記載されているように非推奨になりました。
前提条件
- トークンと名前空間を管理するには、Project Collection 管理istrators セキュリティ グループのメンバーである必要があります。 トークンの詳細については、「セキュリティ名前空間とアクセス許可のリファレンス」を参照してください。
- 「Azure DevOps CLI の概要」の説明に従って、Azure DevOps CLI 拡張機能をインストールしている必要があります。
az login
を使用して、Azure DevOps にサインインします。- この記事の例では、既定の組織を次のように設定します。
- Azure DevOps Services の場合:
az devops configure --defaults organization=YourOrganizationURL
. - Azure DevOps Server の場合:
az devops configure --defaults organization=https://ServerName/CollectionName
- Azure DevOps Services の場合:
セキュリティアクセス許可コマンド
次のコマンドを入力して、使用可能なすべてのコマンドを一覧表示します。
az devops security permission -h
セキュリティアクセス許可に関連する概念の詳細については、Security REST API のドキュメントを 参照してください。
コマンド | 説明 |
---|---|
az devops security permission list |
指定したユーザーまたはグループと名前空間のトークンを一覧表示します。 |
az devops security permission namespace list |
組織で使用可能なすべての名前空間を一覧表示します。 |
az devops security permission namespace show |
各名前空間で使用できるアクセス許可の詳細を表示します。 |
az devops security permission reset |
指定したアクセス許可ビットのアクセス許可をリセットします。 |
az devops security permission reset-all |
ユーザーまたはグループに対するこのトークンのすべてのアクセス許可をクリアします。 |
az devops security permission show |
指定されたトークン、名前空間、およびユーザーまたはグループのアクセス許可を表示します。 |
az devops security permission update |
指定したユーザーまたはグループに許可または拒否アクセス許可を割り当てます。 |
次のパラメーターは、すべてのコマンドで省略可能であり、この記事の例には記載されていません。
- detect: 組織を自動的に検出します。 受け入れ可能な値: false、true。 既定値は True です。
- org: Azure DevOps 組織の URL。 az devops configure -d organization=ORG_URL を使って既定の組織を構成できます。 既定として構成されていない場合、または git config を使って取得されていない場合は必須です (例:
--org https://dev.azure.com/MyOrganizationName/
)。
セキュリティ名前空間を一覧表示する
az devops security permission namespace list コマンドを使用して、組織で 使用可能なすべての名前空間を一覧表示 できます。 すべてのセキュリティ名前空間と関連するトークンの説明については、「セキュリティ名前空間とアクセス許可のリファレンス」を参照してください。
az devops security permission namespace list [--local-only]
パラメーター
local-only: 省略可能。 true の場合は、ローカル セキュリティ名前空間のみを取得します。
セキュリティ名前空間では、データが 1 つのマイクロサービスでマスターされている可能性がありますが、他のマイクロサービスでは引き続き表示されます。 セキュリティ名前空間のデータがマイクロサービス X でマスターされている場合、そのマイクロサービスに対してローカルであると言われます。 それ以外の場合は、リモートと言われます。
組織またはオンプレミス サーバー用に定義されている名前空間を一覧表示する場合に入力 az devops security permission namespace list
します。
Note
一覧表示されている一部の名前空間は非推奨であり、使用しないでください。 非推奨の名前空間の一覧については、名前空間の リファレンス、非推奨および読み取り専用の名前空間を参照してください。
az devops security permission namespace list --org https://dev.azure.com/OrganizationName --output table
Id Name
------------------------------------ ------------------------------
c788c23e-1b46-4162-8f5e-d7585343b5de ReleaseManagement
58450c49-b02d-465a-ab12-59ae512d6531 Analytics
d34d3680-dfe5-4cc6-a949-7d9c68f73cba AnalyticsViews
62a7ad6b-8b8d-426b-ba10-76a7090e94d5 PipelineCachePrivileges
7c7d32f7-0e86-4cd6-892e-b35dbba870bd ReleaseManagement
a6cc6381-a1ca-4b36-b3c1-4e65211e82b6 AuditLog
5a27515b-ccd7-42c9-84f1-54c998f03866 Identity
445d2788-c5fb-4132-bbef-09c4045ad93f WorkItemTrackingAdministration
101eae8c-1709-47f9-b228-0e476c35b3ba DistributedTask
71356614-aad7-4757-8f2c-0fb3bff6f680 WorkItemQueryFolders
2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87 Git Repositories
3c15a8b7-af1a-45c2-aa97-2cb97078332e VersionControlItems2
2bf24a2b-70ba-43d3-ad97-3d9e1f75622f EventSubscriber
5a6cd233-6615-414d-9393-48dbb252bd23 WorkItemTrackingProvision
49b48001-ca20-4adc-8111-5b60c903a50c ServiceEndpoints
cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 ServiceHooks
bc295513-b1a2-4663-8d1a-7017fd760d18 Chat
3e65f728-f8bc-4ecd-8764-7e378b19bfa7 Collection
cb4d56d2-e84b-457e-8845-81320a133fbb Proxy
bed337f8-e5f3-4fb9-80da-81e17d06e7a8 Plan
2dab47f9-bd70-49ed-9bd5-8eb051e59c02 Process
11238e09-49f2-40c7-94d0-8f0307204ce4 AccountAdminSecurity
b7e84409-6553-448a-bbb2-af228e07cbeb Library
83d4c2e6-e57d-4d6e-892b-b87222b7ad20 Environment
52d39943-cb85-4d7f-8fa8-c6baac873819 Project
58b176e7-3411-457a-89d0-c6d0ccb3c52b EventSubscription
83e28ad4-2d72-4ceb-97b0-c7726d5502c3 CSS
9e4894c3-ff9a-4eac-8a85-ce11cafdc6f1 TeamLabSecurity
fc5b7b85-5d6b-41eb-8534-e128cb10eb67 ProjectAnalysisLanguageMetrics
bb50f182-8e5e-40b8-bc21-e8752a1e7ae2 Tagging
f6a4de49-dbe2-4704-86dc-f8ec1a294436 MetaTask
bf7bfa03-b2b7-47db-8113-fa2e002cc5b1 Iteration
fa557b48-b5bf-458a-bb2b-1b680426fe8b Favorites
4ae0db5d-8437-4ee8-a18b-1f6fb38bd34c Registry
c2ee56c9-e8fa-4cdd-9d48-2c44f697a58e Graph
dc02bf3d-cd48-46c3-8a41-345094ecc94b ViewActivityPaneSecurity
2a887f97-db68-4b7c-9ae3-5cebd7add999 Job
73e71c45-d483-40d5-bdba-62fd076f7f87 WorkItemTracking
4a9e8381-289a-4dfd-8460-69028eaa93b3 StrongBox
1f4179b3-6bac-4d01-b421-71ea09171400 Server
e06e1c24-e93d-4e4a-908a-7d951187b483 TestManagement
6ec4592e-048c-434e-8e6c-8671753a8418 SettingEntries
302acaca-b667-436d-a946-87133492041c BuildAdministration
2725d2bc-7520-4af4-b0e3-8d876494731f Location
83abde3a-4593-424e-b45f-9898af99034d UtilizationPermissions
c0e7a722-1cad-4ae6-b340-a8467501e7ce WorkItemsHub
0582eb05-c896-449a-b933-aa3d99e121d6 WebPlatform
66312704-deb5-43f9-b51c-ab4ff5e351c3 VersionControlPrivileges
93bafc04-9075-403a-9367-b7164eac6b5c Workspaces
093cbb02-722b-4ad6-9f88-bc452043fa63 CrossProjectWidgetView
35e35e8e-686d-4b01-aff6-c369d6e36ce0 WorkItemTrackingConfiguration
0d140cae-8ac1-4f48-b6d1-c93ce0301a12 Discussion Threads
5ab15bc8-4ea1-d0f3-8344-cab8fe976877 BoardsExternalIntegration
7ffa7cf4-317c-4fea-8f1d-cfda50cfa956 DataProvider
81c27cc8-7a9f-48ee-b63f-df1e1d0412dd Social
9a82c708-bfbe-4f31-984c-e860c2196781 Security
a60e0d84-c2f8-48e4-9c0c-f32da48d5fd1 IdentityPicker
84cc1aa4-15bc-423d-90d9-f97c450fc729 ServicingOrchestration
33344d9c-fc72-4d6f-aba5-fa317101a7e9 Build
8adf73b7-389a-4276-b638-fe1653f7efc7 DashboardsPrivileges
a39371cf-0841-4c16-bbd3-276e341bc052 VersionControlItems
例: ローカル セキュリティ名前空間を一覧表示する
次のコマンドは、組織のローカル セキュリティ名前空間のみを一覧表示し、結果を表形式で表示します。
az devops security permission namespace list --local-only --output table
Id Name
------------------------------------ ------------------------------
71356614-aad7-4757-8f2c-0fb3bff6f680 WorkItemQueryFolders
fa557b48-b5bf-458a-bb2b-1b680426fe8b Favorites
4ae0db5d-8437-4ee8-a18b-1f6fb38bd34c Registry
c2ee56c9-e8fa-4cdd-9d48-2c44f697a58e Graph
dc02bf3d-cd48-46c3-8a41-345094ecc94b ViewActivityPaneSecurity
2a887f97-db68-4b7c-9ae3-5cebd7add999 Job
73e71c45-d483-40d5-bdba-62fd076f7f87 WorkItemTracking
4a9e8381-289a-4dfd-8460-69028eaa93b3 StrongBox
1f4179b3-6bac-4d01-b421-71ea09171400 Server
e06e1c24-e93d-4e4a-908a-7d951187b483 TestManagement
6ec4592e-048c-434e-8e6c-8671753a8418 SettingEntries
302acaca-b667-436d-a946-87133492041c BuildAdministration
2725d2bc-7520-4af4-b0e3-8d876494731f Location
83abde3a-4593-424e-b45f-9898af99034d UtilizationPermissions
c0e7a722-1cad-4ae6-b340-a8467501e7ce WorkItemsHub
0582eb05-c896-449a-b933-aa3d99e121d6 WebPlatform
66312704-deb5-43f9-b51c-ab4ff5e351c3 VersionControlPrivileges
93bafc04-9075-403a-9367-b7164eac6b5c Workspaces
093cbb02-722b-4ad6-9f88-bc452043fa63 CrossProjectWidgetView
35e35e8e-686d-4b01-aff6-c369d6e36ce0 WorkItemTrackingConfiguration
0d140cae-8ac1-4f48-b6d1-c93ce0301a12 Discussion Threads
5ab15bc8-4ea1-d0f3-8344-cab8fe976877 BoardsExternalIntegration
7ffa7cf4-317c-4fea-8f1d-cfda50cfa956 DataProvider
81c27cc8-7a9f-48ee-b63f-df1e1d0412dd Social
9a82c708-bfbe-4f31-984c-e860c2196781 Security
a60e0d84-c2f8-48e4-9c0c-f32da48d5fd1 IdentityPicker
84cc1aa4-15bc-423d-90d9-f97c450fc729 ServicingOrchestration
33344d9c-fc72-4d6f-aba5-fa317101a7e9 Build
8adf73b7-389a-4276-b638-fe1653f7efc7 DashboardsPrivileges
445d2788-c5fb-4132-bbef-09c4045ad93f WorkItemTrackingAdministration
101eae8c-1709-47f9-b228-0e476c35b3ba DistributedTask
2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87 Git Repositories
a39371cf-0841-4c16-bbd3-276e341bc052 VersionControlItems
3c15a8b7-af1a-45c2-aa97-2cb97078332e VersionControlItems2
2bf24a2b-70ba-43d3-ad97-3d9e1f75622f EventSubscriber
5a6cd233-6615-414d-9393-48dbb252bd23 WorkItemTrackingProvision
49b48001-ca20-4adc-8111-5b60c903a50c ServiceEndpoints
cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 ServiceHooks
bc295513-b1a2-4663-8d1a-7017fd760d18 Chat
3e65f728-f8bc-4ecd-8764-7e378b19bfa7 Collection
cb4d56d2-e84b-457e-8845-81320a133fbb Proxy
bed337f8-e5f3-4fb9-80da-81e17d06e7a8 Plan
2dab47f9-bd70-49ed-9bd5-8eb051e59c02 Process
11238e09-49f2-40c7-94d0-8f0307204ce4 AccountAdminSecurity
b7e84409-6553-448a-bbb2-af228e07cbeb Library
83d4c2e6-e57d-4d6e-892b-b87222b7ad20 Environment
52d39943-cb85-4d7f-8fa8-c6baac873819 Project
58b176e7-3411-457a-89d0-c6d0ccb3c52b EventSubscription
83e28ad4-2d72-4ceb-97b0-c7726d5502c3 CSS
9e4894c3-ff9a-4eac-8a85-ce11cafdc6f1 TeamLabSecurity
fc5b7b85-5d6b-41eb-8534-e128cb10eb67 ProjectAnalysisLanguageMetrics
bb50f182-8e5e-40b8-bc21-e8752a1e7ae2 Tagging
f6a4de49-dbe2-4704-86dc-f8ec1a294436 MetaTask
bf7bfa03-b2b7-47db-8113-fa2e002cc5b1 Iteration
セキュリティ名前空間のトークンを一覧表示する
az devops security permission list コマンドを使用して、指定された名前空間とユーザーまたはグループのトークンを 一覧表示 できます。
az devops security permission list --id
--subject
[--recurse]
[--token]
パラメーター
-
- id または namespace-id: 必須。 セキュリティ名前空間の ID。 ID を取得するには、az devops security permission namespace list コマンドを使用します。
- 件名: 必須。 ユーザーの電子メール アドレスまたはグループ記述子。
- recurse: 省略可能。 true で名前空間が階層型の場合、このパラメーターはトークンの子 ACL を返します。
- token: 省略可能。 個々のセキュリティ トークンを指定します。
例
次のコマンドは、指定された名前空間のテーブル形式でトークンを一覧表示します。これは、Analytics に対応し、ユーザー contoso@contoso.comに関連付けられています。
az devops security permission list --id 58450c49-b02d-465a-ab12-59ae512d6531 --subject contoso@contoso.com --output table
Token Effective Allow Effective Deny
-------------------------------------- ----------------- ----------------
$/0611925a-b287-4b0b-90a1-90f1a96e9f1f 0 0
$/087572e2-5569-49ec-af80-d3caf22b446c 0 0
$/131271e0-a6ad-49ba-837e-2d475ab2b169 0 0
$/14c92f9d-9fff-48ec-8171-9d1106056ab3 0 0
$/1965830d-5fc4-4412-8c71-a1c39c939a42 0 0
$/4b80d122-a5ca-46ec-ba28-e03d37e53404 0 0
$/4fa8e9de-e86b-4986-ac75-f421881a7664 0 0
$/5417a1c3-4b04-44d1-aead-50774b9dbf5f 0 0
$/56af920d-393b-4236-9a07-24439ccaa85c 0 0
$/69265579-a1e0-4a30-a141-ac9e3bb82572 0 0
名前空間の詳細を表示する
az devops security permission namespace show コマンドを使用して 、各名前空間で使用可能なアクセス許可の詳細を表示 できます。
az devops security permission namespace show --namespace-id <NAMESPACE_ID>
パラメーター
- id または namespace-id: 必須。 セキュリティ名前空間の ID。
例
次のコマンドは、指定された名前空間 ID に対して使用可能なアクセス許可の詳細を示し、結果をテーブル形式で返します。
az devops security permission namespace show --namespace-id 58450c49-b02d-465a-ab12-59ae512d6531 --output table
Name Permission Description Permission Bit
------------------------ -------------------------------------------------------- ----------------
Read View analytics 1
Administer Manage analytics permissions 2
Stage Push the data to staging area 4
ExecuteUnrestrictedQuery Execute query without any restrictions on the query form 8
ReadEuii Read EUII data 16
アクセス許可のリセット
az devops security permission reset コマンドを使用して、指定したユーザーまたはグループの アクセス許可ビットをリセット できます。
az devops security permission reset --id
--permission-bit
--subject
--token
パラメーター
- id または namespace-id: 必須。 セキュリティ名前空間の ID。
- permission-bit: 必須。 特定のユーザーまたはグループとトークンに対してリセットする必要があるアクセス許可ビットまたはアクセス許可ビットの追加。
- 件名: 必須。 ユーザーの電子メール アドレスまたはグループ記述子。
- token: 必須。 個々のセキュリティ トークン。
例
次のコマンドは、指定した名前空間のユーザー contoso@contoso.com のトークンのアクセス許可ビット 8 をリセットし、結果をテーブル形式で返します。
az devops security permission reset --id 58450c49-b02d-465a-ab12-59ae512d6531 --permission-bit 8 --subject contoso@contoso.com --token 0611925a-b287-4b0b-90a1-90f1a96e9f1f --output table
Name Bit Permission Description Permission Value
------------------------ ----- -------------------------------------------------------- ------------------
ExecuteUnrestrictedQuery 8 Execute query without any restrictions on the query form Not set
すべてのアクセス許可をリセットする
az devops security permission reset-all コマンドを使用して、ユーザーまたはグループのトークンのすべてのアクセス許可をクリアできます。
az devops security permission reset-all --id
--subject
--token
[--yes]
パラメーター
- id または namespace-id: 必須。 セキュリティ名前空間の ID。
- 件名: 必須。 ユーザーの電子メール アドレスまたはグループ記述子。
- token: 必須。 個々のセキュリティ トークン。
- yes: 省略可能。 確認を求めるプロンプトを表示しません。
例
次のコマンドは、確認を必要とせずに、指定された名前空間内のユーザー contoso@contoso.com のすべてのアクセス許可をクリアします。 結果が CLI に表示されます。
az devops security permission reset-all --id 58450c49-b02d-465a-ab12-59ae512d6531 --subject contoso@contoso.com --token 0611925a-b287-4b0b-90a1-90f1a96e9f1f --yes --output table
Result
--------
True
アクセス許可を表示する
az devops security permission show コマンドを使用して、指定されたトークン、名前空間、およびユーザーまたはグループの アクセス許可を表示 できます。
az devops security permission show --id
--subject
--token
パラメーター
- id または namespace-id: 必須。 セキュリティ名前空間の ID。
- 件名: 必須。 ユーザーの電子メール アドレスまたはグループ記述子。
- token: 必須。 個々のセキュリティ トークン。
例
次のコマンドは、指定した名前空間のユーザー contoso@contoso.com に対するトークンのアクセス許可の詳細を示し、結果をテーブル形式で返します。
az devops security permission show --id 58450c49-b02d-465a-ab12-59ae512d6531 --subject contoso@contoso.com --token 0611925a-b287-4b0b-90a1-90f1a96e9f1f --output table
Name Bit Permission Description Permission Value
------------------------ ----- -------------------------------------------------------- ------------------
Read 1 View analytics Not set
Administer 2 Manage analytics permissions Allow
Stage 4 Push the data to staging area Not set
ExecuteUnrestrictedQuery 8 Execute query without any restrictions on the query form Not set
ReadEuii 16 Read EUII data Deny
アクセス許可の更新
az devops security permission update コマンドを使用して、指定したユーザーまたはグループに許可または拒否アクセス許可を割り当てることができます。
az devops security permission update --id
--subject
--token
[--allow-bit]
[--deny-bit]
[--merge {false, true}]
パラメーター
- id または namespace-id: 必須。 セキュリティ名前空間の ID。
- 件名: 必須。 ユーザーの電子メール アドレスまたはグループ記述子。
- token: 必須。 個々のセキュリティ トークン。
- allow-bit: 省略可能。 ビットまたはビットの加算を許可します。 --deny-bit が見つからない場合は必須。
- deny-bit: 省略可能。 ビットの拒否またはビットの追加。 --allow-bit が見つからない場合は必須。
- merge: 省略可能。 設定すると、既存のアクセス制御エントリ (ACE) の許可と拒否が、着信 ACE の許可と拒否にマージされます。 未設定の場合、既存の ACE は変位されます。 受け入れられる値は false または true です。
例
次のコマンドは、指定した名前空間のユーザーcontoso@contoso.comに対する ExecuteUnrestrictedQuery (ビット 8) のアクセス許可を更新し、結果をテーブル形式で表示します。
az devops security permission update --allow-bit 8 --id 58450c49-b02d-465a-ab12-59ae512d6531 --subject contoso@contoso.com --token 56af920d-393b-4236-9a07-24439ccaa85c --output table
Name Bit Permission Description Permission Value
------------------------ ----- -------------------------------------------------------- ------------------
ExecuteUnrestrictedQuery 8 Execute query without any restrictions on the query form Allow
セキュリティ名前空間とその ID
Azure DevOps のセキュリティ名前空間とアクセス許可のリファレンスを参照してください。