Analyze current authorization at Db2 selects
ProprietaryTie a current checked identity, exact resource mapping and complete allow check to one actual SQL SELECT. Accept one structure qualifier in SQL host names. Require exact declaration identity for keys and disjoint ordinary output storage. Require exact source, ordinary COPY and complete schema snapshots. Match every CHAR primary-key predicate to the current authorized key field and every selected CHAR column to explicit read permission. Require ordinary equal-width PIC X outputs disjoint from the authorization records, key inputs and other outputs. Require explicit approval of authorizer input preservation, the table resource binding, SQL encoding and column-specific read permissions. Join identity, resource and result evidence by the actual authorization CALL. Unknown effects, watched writes, intervening calls or SQL prevent reuse of the decision. Reuse bounded local identity and result proofs. Each protected operation consumes its receipt. Nested sequences start with fresh evidence. Report source lines, field mappings and component status without changing source, assigning a CWE or recording identity, key or payload values. A positive result is conditional on reaching this SELECT and on the supplied interface semantics. It does not establish authorizer internals, concurrency protection, successful SQL results or whole-program coverage.
io. moderne. mainframe. security. AnalyzeCurrentAuthorizedDb2SelectRequired
Exact approved caller path.
Exact program ID. Retain quotes for a literal ID.
Lowercase SHA-256 of the complete approved UTF-8 caller without a byte order mark.
JSON object mapping every ordinary data COPY name to its approved lowercase SHA-256. The independently validated system SQLCA is excluded.
One-based EXEC SQL line of the protected SELECT.
Exact unquoted uppercase schema and table name covered by the resource contract.
Exact path of the approved complete enforced CREATE TABLE snapshot.
Lowercase SHA-256 of the complete approved schema snapshot.
Strict version 1 JSON object with identity, resource and result interfaces. Supply authorizerPreservesRecords, ordered keyColumns, selectActionValue, selectResourceTypeValue and allowedReadColumns. Explicitly supply resourceTypeBindsDb2Table and compatibleSqlEncoding. No premise has a default. See the current authorized Db2 SELECT contract in the repository README.
Provenance of the approved current identity provider, authorizer, input preservation, record layouts, addressability, disjoint storage and Db2 resource binding. The SELECT permission covers every approved read column for this resource key. Approve compatible SQL character encoding, STDSQL(NO) and the complete enforced schema. These semantics are supplied and are not inferred from names.
mod run . --recipe= io. moderne. mainframe. security. AnalyzeCurrentAuthorizedDb2Select \
-P sourcePath= security/ cbl/ VSUQGOOD. cbl \
-P programName= VSUQGOOD \
-P sourceSha256=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \
-P copybookSnapshots= '{}' \
-P selectLine=40 \
-P tableName= VTEST. AUTH_ITEM \
-P schemaSourcePath= security/ ddl/ VSUDAUTH. ddl \
-P schemaSha256=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \
-P authorizationContract= '<authorizationContract>' \
-P contractSource= 'mainframe-fixtures fictional current authorized Db2 SELECT contract'Its required option authorizationContract has no example to run with. Fill it in above.
Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.