Skip to main content

A unified and standardized interface to RACF callable services.

Project description

RACFu Logo

test fuzz cppcheck clang-format ruff Version Python Versions Downloads

A standardized JSON interface for RACF that enables seemless exploitation by programming languages that have a foreign language interface for C/C++ and native JSON support.

Description

As automation becomes more and more prevalent, the need to manage the security environment programmaticaly increases. On z/OS that means managing a security product like the IBM Resource Access Control Facility (RACF). RACF is the primary facility for managing identity, authority, and access control for z/OS. There are more than 50 callable services with assembler interfaces that are part of the RACF API. The complete set of interfaces can be found here.

While there are a number of languages that can be used to manage RACF, (from low level lnaguages like Assembler to higher level languages like REXX), the need to be able to easily exploit RACF management functions using existing indurstry standard programming languages and even programming languages that don't exist yet is paramount. The RACFu project is focused on making RACF management functions available to all programming languages that have native JSON support and a foreign language interface for C/C++. This will make it easier to pivot to new tools and programming languages as technology, skills, and business needs continue to evolve in the forseeable future.

RACFu uses JSON for Modern C++ for working with JSON and JSON schema validator for JSON for Modern C++ for Draft-7 JSON Schema Validation.

RACFu's certificate management cababilities leverage the zopen community distributions of OpenSSL and ZOSLIB to create checksum digests and encode certificates.

Getting Started

Minimum z/OS & Language Versions

All versions of z/OS and the IBM Open Enterprise SDK for Python that are fully supported by IBM are supported by RACFu.

Dependencies

  • R_SecMgtOper (IRRSMO00): Security Management Operations.
    • More details about the authorizations required for IRRSMO00 can be found here.
  • R_Admin (IRRSEQ00): RACF Administration API.
    • More details about the authorizations required for IRRSEQ00 can be found here.
  • RACF Subsystem Address Space: This is a dependency for both IRRSMO00 and IRRSEQ00.
    • More information can be found here.
  • z/OS Language Environment Runtime Support: RACFu is compiled using the IBM Open XL C/C++ 2.1 compiler, which is still fairly new and requires z/OS Language Environment service updates for runtime support.

Installation

:bulb: Note: You can also Download & Install RACFu from GitHub

python3 -m pip install racfu

Help

Authors

Maintainers

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

racfu-1.0a2.dev1.tar.gz (302.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

racfu-1.0a2.dev1-cp313-none-any.whl (5.1 MB view details)

Uploaded CPython 3.13

racfu-1.0a2.dev1-cp312-none-any.whl (5.1 MB view details)

Uploaded CPython 3.12

File details

Details for the file racfu-1.0a2.dev1.tar.gz.

File metadata

  • Download URL: racfu-1.0a2.dev1.tar.gz
  • Upload date:
  • Size: 302.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for racfu-1.0a2.dev1.tar.gz
Algorithm Hash digest
SHA256 eefa7263da7cc1dc586fd48eb71b81b33481e64384ed1ff9db8d8c4c3d65b7a3
MD5 37c1ac1d6a843561720027f05d1fb624
BLAKE2b-256 71120e4b6225fc175e5d1712b658a1d293cb73e9089b88d3ce061d902344204e

See more details on using hashes here.

File details

Details for the file racfu-1.0a2.dev1-cp313-none-any.whl.

File metadata

  • Download URL: racfu-1.0a2.dev1-cp313-none-any.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.13
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for racfu-1.0a2.dev1-cp313-none-any.whl
Algorithm Hash digest
SHA256 4bc7d947bc25382f385400fbfc8c1f5096761921af00401d32b42eb715c58abb
MD5 4cd75e347a85032faca47fd6e834f1e1
BLAKE2b-256 bcdb64f6c9fa67cf2456037d23ee2101d2fa9af580b710b3b917069d2cc019b7

See more details on using hashes here.

File details

Details for the file racfu-1.0a2.dev1-cp312-none-any.whl.

File metadata

  • Download URL: racfu-1.0a2.dev1-cp312-none-any.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.12
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for racfu-1.0a2.dev1-cp312-none-any.whl
Algorithm Hash digest
SHA256 6e7703681b3357ee5eb2c48c0c102f5beb667c9e8802652cc338d39796a602fb
MD5 ea0d9793872a9eae71a2364b06f84549
BLAKE2b-256 9a6bad9da60e1b1d25e6be57c015158134d48b090d51e079e8838d990ca1bebb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page