OPA を使い始めたばかりなので、何か間違っている可能性が高いです。
次の入力があります。
{
"request": {
"principalId": "user1",
"scope": "/workspaces/1/environments/dev/deployments/123",
"requiredPermissions": [
"Deployments.ReadWrite",
"Foo.Bar"
]
}
}
ユーザーがすべての必要なアクセス許可を持っていることを確認したい。私はすでに必要な変数を持っています:
#// this is opa/rego value
"principal_roles_at_requested_scope": [
"Deployments.Read",
"Deployments.ReadWrite",
"WorkspaceEnvironments.Read",
"Workspaces.Read"
]
セットに含まれていないため、これはallow
false に設定する必要がありますが、次のように評価されます。Foo.Bar
principal_roles_at_requested_scope
true
allow {
some i
input.request.requiredPermissions[i] in principal_roles_at_requested_scope
}
一方、これは機能しますが、明らかに使用できません。
allow {
input.request.requiredPermissions[0] in principal_roles_at_requested_scope
input.request.requiredPermissions[1] in principal_roles_at_requested_scope
}