-
Notifications
You must be signed in to change notification settings - Fork 331
/
Copy pathacr_checklist.ja.json
323 lines (323 loc) · 17.1 KB
/
acr_checklist.ja.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
{
"categories": [
{
"name": "安全"
},
{
"name": "ネットワーク トポロジと接続性"
},
{
"name": "運用管理"
},
{
"name": "プラットフォームの自動化"
},
{
"name": "安全"
},
{
"name": "台帳"
},
{
"name": "伐採"
},
{
"name": "ネットワーキング"
},
{
"name": "データの検出と分類"
},
{
"name": "データマスキング"
},
{
"name": "コード"
}
],
"items": [
{
"category": "安全",
"description": "データの流出を防ぐために、画像のエクスポートを無効にします。これにより、別の ACR インスタンスに画像がインポートされなくなることに注意してください。",
"guid": "ab91932c-9fc9-4d1b-a880-37f5e6bfcb9e",
"id": "A01.01",
"link": "https://learn.microsoft.com/azure/container-registry/data-loss-prevention",
"query": "resources | where type =~ 'Microsoft.ContainerRegistry/registries' | extend acrName = name, acrId = id | extend exportPolicyStatus = properties.policies.exportPolicy.status | extend compliant = iif(exportPolicyStatus =~ 'Disabled', true, false) | project acrName, acrId, exportPolicyStatus, compliant",
"service": "ACR",
"severity": "高い",
"subcategory": "データ保護",
"text": "Azure Container Registry イメージのエクスポートを無効にする",
"waf": "安全"
},
{
"category": "安全",
"description": "Azure Container Registry の Azure Policy を有効にすることで、監査コンプライアンスの可視性を有効にする",
"guid": "d503547c-d447-4e82-9128-a7100f1cac6d",
"id": "A01.02",
"link": "https://learn.microsoft.com/azure/container-registry/container-registry-azure-policy",
"service": "ACR",
"severity": "高い",
"subcategory": "データ保護",
"text": "Azure Container Registry の Azure ポリシーを有効にする",
"waf": "安全"
},
{
"category": "安全",
"description": "Azure Key Vault (AKV) は、AKV プラグイン (azure-kv) という表記を使用して、コンテナー イメージやその他の成果物に署名および検証できる署名キーを格納するために使用されます。Azure Container Registry (ACR) では、これらの署名を az?or?oras?CLI コマンド。",
"guid": "d345293c-7639-4637-a551-c5c04e401955",
"id": "A01.03",
"link": "https://learn.microsoft.com/azure/container-registry/container-registry-tutorial-sign-build-push",
"service": "ACR",
"severity": "高い",
"subcategory": "データ保護",
"text": "表記法によるコンテナの署名と検証(Notary v2)",
"waf": "安全"
},
{
"category": "安全",
"description": "Azure Container Registry は、格納するイメージやその他の成果物を自動的に暗号化します。既定では、Azure はサービス マネージド キーを使用して、保存中のレジストリ コンテンツを自動的に暗号化します。カスタマー管理のキーを使用すると、デフォルトの暗号化を追加の暗号化レイヤーで補完できます。",
"graph": "resources | where type =~ 'Microsoft.ContainerRegistry/registries' | extend acrName = name, acrId = id | extend encryptionStatus = properties.encryption.status | extend compliant = iif(encryptionStatus == 'disabled', false, true) | project acrName, acrId, encryptionStatus, compliant",
"guid": "0bd05dc2-efd5-4d76-8d41-d2500cc47b49",
"id": "A01.04",
"link": "https://learn.microsoft.com/azure/container-registry/tutorial-customer-managed-keys",
"service": "ACR",
"severity": "中程度",
"subcategory": "データ保護",
"text": "カスタマー マネージド キーを使用してレジストリを暗号化する",
"waf": "安全"
},
{
"category": "安全",
"description": "マネージド ID を使用して、クライアント アプリケーションからの ACRPull/Push RBAC アクセスをセキュリティで保護する",
"guid": "8f42d78e-79dc-47b3-9bd2-a1a27e7a8e90",
"id": "A02.01",
"link": "https://learn.microsoft.com/azure/container-registry/container-registry-authentication-managed-identity",
"service": "ACR",
"severity": "高い",
"subcategory": "ID とアクセス制御",
"text": "サービス プリンシパルの代わりにマネージド ID を使用して接続する",
"waf": "安全"
},
{
"category": "安全",
"description": "ローカルの管理者アカウントはデフォルトで無効になっているため、有効にしないでください。代わりに、トークンまたは RBAC ベースのアクセス方法を使用してください",
"graph": "resources | where type =~ 'microsoft.containerregistry/registries' | extend localAdminDisabled = properties.adminUserEnabled // Adjust this property as needed | extend compliant = iif(localAdminDisabled == 'false', true, false) // Check if local admin is disabled | project compliant, name, id, tags | distinct id, compliant",
"guid": "be0e38ce-e297-411b-b363-caaab79b198d",
"id": "A02.02",
"link": "https://learn.microsoft.com/azure/container-registry/container-registry-authentication-managed-identity",
"service": "ACR",
"severity": "高い",
"subcategory": "ID とアクセス制御",
"text": "管理プレーン アクセスのローカル認証を無効にする",
"waf": "安全"
},
{
"category": "安全",
"description": "管理者アカウントを無効にし、ACR プル/プッシュ操作のプリンシパルに RBAC ロールを割り当てる",
"graph": "resources | where type =~ 'microsoft.containerregistry/registries' | extend localAdminDisabled = properties.adminUserEnabled // Adjust this property as needed | extend compliant = iif(localAdminDisabled == 'false', true, false) // Check if local admin is disabled | project compliant, name, id, tags | distinct id, compliant",
"guid": "387e5ced-126c-4d13-8af5-b20c6998a646",
"id": "A02.03",
"link": "https://learn.microsoft.com/azure/container-registry/container-registry-roles?tabs=azure-cli",
"service": "ACR",
"severity": "高い",
"subcategory": "ID とアクセス制御",
"text": "ID プリンシパルに管理アクセス権を付与するのではなく、AcrPull および AcrPush RBAC ロールを割り当てる",
"waf": "安全"
},
{
"category": "安全",
"description": "匿名プル/プッシュ アクセスを無効にする",
"graph": "resources | where type =~ 'microsoft.containerregistry/registries' | extend compliant = iif(properties.anonymousPullEnabled == false, true, false) | project compliant, name, id, tags | distinct id, compliant",
"guid": "e338997e-41c7-47d7-acf6-a62a1194956d",
"id": "A02.04",
"link": "https://learn.microsoft.com/azure/container-registry/anonymous-pull-access#configure-anonymous-pull-access",
"service": "ACR",
"severity": "中程度",
"subcategory": "ID とアクセス制御",
"text": "匿名プル アクセスを無効にする",
"waf": "安全"
},
{
"category": "安全",
"description": "トークン認証では、AAD プリンシパルへの割り当てはサポートされていません。提供されたトークンは、トークンにアクセスできる人なら誰でも使用できます",
"guid": "698dc3a2-fd27-4b2e-8870-1a1252beedf6",
"id": "A02.05",
"link": "https://learn.microsoft.com/azure/container-registry/container-registry-authentication?tabs=azure-cli",
"service": "ACR",
"severity": "高い",
"subcategory": "ID とアクセス制御",
"text": "リポジトリ スコープのアクセス トークンを無効にする",
"waf": "安全"
},
{
"category": "安全",
"description": "信頼されたネットワーク内のプライベート エンドポイントの背後にある ACR にコンテナー イメージをデプロイする",
"guid": "b3bec3d4-f343-47c1-936d-b55f27a71eee",
"id": "A02.06",
"service": "ACR",
"severity": "高い",
"subcategory": "ID とアクセス制御",
"text": "信頼できる環境からのイメージのデプロイ",
"waf": "安全"
},
{
"category": "安全",
"description": "認証に使用できるのは、ACR 対象ユーザーを持つトークンのみです。ACR の条件付きアクセス ポリシーを有効にするときに使用されます",
"guid": "3a041fd3-2947-498b-8288-b3c6a56ceb54",
"id": "A02.07",
"link": "https://learn.microsoft.com/azure/container-registry/container-registry-enable-conditional-access-policy",
"service": "ACR",
"severity": "中程度",
"subcategory": "ID とアクセス制御",
"text": "認証のために Azure ARM 対象ユーザー トークンを無効にする",
"waf": "安全"
},
{
"category": "安全",
"description": "'repositoryEvents' と 'LoginEvents' をログ記録と監視の中心的な宛先として Log Analytics に送信するように診断設定を設定します。これにより、ACR リソース自体のコントロール プレーン アクティビティを監視できます。",
"guid": "8a488cde-c486-42bc-9bd2-1be77f26e5e6",
"id": "A03.01",
"link": "https://learn.microsoft.com/azure/container-registry/monitor-service",
"service": "ACR",
"severity": "中程度",
"subcategory": "ロギングとモニタリング",
"text": "診断ログを有効にする",
"waf": "安全"
},
{
"category": "安全",
"description": "サービスでは、サービス レベルの IP ACL フィルタリング規則 (NSG や Azure Firewall ではない) を使用するか、\"パブリック ネットワーク アクセスを無効にする\" トグル スイッチを使用して、パブリック ネットワーク アクセスを無効にすることがサポートされています",
"guid": "21d41d25-00b7-407a-b9ea-b40fd3290798",
"id": "A04.01",
"link": "https://learn.microsoft.com/azure/container-registry/container-registry-private-link",
"service": "ACR",
"severity": "中程度",
"subcategory": "ネットワークセキュリティ",
"text": "Private Link を使用して受信ネットワーク アクセスを制御する",
"waf": "安全"
},
{
"category": "安全",
"description": "Private Link を使用して受信ネットワーク アクセスがセキュリティで保護されている場合は、パブリック ネットワーク アクセスを無効にする",
"graph": "resources | where type =~ 'Microsoft.ContainerRegistry/registries' | where sku.name =~ 'Premium' // Check for Premium SKU | extend publicAccessEnabled = properties.publicNetworkAccess | extend defaultAction = tostring(properties.networkRuleSet.defaultAction) // Extract defaultAction | extend compliant = iif(publicAccessEnabled != 'Enabled' or defaultAction == 'Deny', true, false) | project name, id, publicAccessEnabled, defaultAction, compliant",
"guid": "cd289ced-6b17-4db8-8554-62f2aee4553a",
"id": "A04.02",
"link": "https://learn.microsoft.com/azure/container-registry/container-registry-access-selected-networks#disable-public-network-access",
"service": "ACR",
"severity": "中程度",
"subcategory": "ネットワークセキュリティ",
"text": "パブリックネットワークアクセスを無効にする",
"waf": "安全"
},
{
"category": "安全",
"description": "ACR Premium SKU のみが Private Link アクセスをサポートします",
"graph": "resources | where type =~ 'Microsoft.ContainerRegistry/registries' | extend skuName = sku.name // Extract the SKU name | extend compliant = iif(skuName == 'Premium', true, false) // Check if SKU is Premium | project name, id, skuName, compliant",
"guid": "fc833934-8b26-42d6-ac5f-512925498f6d",
"id": "A04.03",
"link": "https://learn.microsoft.com/azure/container-registry/container-registry-skus",
"service": "ACR",
"severity": "中程度",
"subcategory": "ネットワークセキュリティ",
"text": "Private Link をサポートする Azure Container Registry SKU を使用する (Premium SKU)",
"waf": "安全"
},
{
"category": "安全",
"description": "Azure Defender for containers または同等のサービスを使用して、コンテナー イメージの脆弱性をスキャンする必要があります",
"guid": "bad37dac-43bc-46ce-8d7a-a9b24604489a",
"id": "A04.04",
"link": "https://learn.microsoft.com/azure/defender-for-cloud/defender-for-containers-introduction",
"service": "ACR",
"severity": "低い",
"subcategory": "ネットワークセキュリティ",
"text": "Defender for Containers で Azure Container Registry の脆弱性をスキャンできるようにする",
"waf": "安全"
},
{
"category": "安全",
"description": "DevSecOps のプラクティスに従って脆弱性が検証およびスキャンされた信頼できるコードをデプロイします。",
"guid": "4451e1a2-d345-4293-a763-9637a551c5c0",
"id": "A05.01",
"service": "ACR",
"severity": "中程度",
"subcategory": "脆弱性管理",
"text": "検証済みのコンテナイメージをデプロイする",
"waf": "安全"
},
{
"category": "安全",
"description": "サポートされているプラットフォーム、プログラミング言語、プロトコル、およびフレームワークの最新バージョンを使用してください。",
"guid": "4e401955-387e-45ce-b126-cd132af5b20c",
"id": "A05.02",
"service": "ACR",
"severity": "高い",
"subcategory": "脆弱性管理",
"text": "最新のプラットフォーム、言語、プロトコル、フレームワークを使用",
"waf": "安全"
}
],
"metadata": {
"name": "Azure Container Registry Security Review",
"state": "Preview",
"timestamp": "October 23, 2024",
"waf": "security"
},
"severities": [
{
"name": "高い"
},
{
"name": "中程度"
},
{
"name": "低い"
}
],
"status": [
{
"description": "このチェックはまだ見ていません",
"name": "未確認"
},
{
"description": "このチェックにはアクションアイテムが関連付けられています",
"name": "開ける"
},
{
"description": "このチェックは検証済みであり、これ以上のアクション アイテムは関連付けられていません",
"name": "達成"
},
{
"description": "現在のデザインには適用されません",
"name": "該当なし"
},
{
"description": "必須ではありません",
"name": "必須ではありません"
}
],
"waf": [
{
"name": "確実"
},
{
"name": "安全"
},
{
"name": "費用"
},
{
"name": "オペレーションズ"
},
{
"name": "パフォーマンス"
}
],
"yesno": [
{
"name": "はい"
},
{
"name": "いいえ"
}
]
}