00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef XACML_AUTHZ_INTEROP_PROFILE_H
00018 #define XACML_AUTHZ_INTEROP_PROFILE_H
00019
00020 #include "xacml_datatypes.h"
00021
00022 #ifndef DONT_DOCUMENT_INTERNAL
00023 EXTERN_C_BEGIN
00024 #endif
00025
00030 typedef enum
00031 {
00032 XACML_INTEROP_SUBJECT_X509_ID,
00033 XACML_INTEROP_SUBJECT_CONDOR_CANONICAL_NAME_ID,
00034 XACML_INTEROP_SUBJECT_X509_ISSUER,
00035 XACML_INTEROP_VO,
00036 XACML_INTEROP_VOMS_SIGNING_SUBJECT,
00037 XACML_INTEROP_VOMS_SIGNING_ISSUER,
00038 XACML_INTEROP_VOMS_FQAN,
00039 XACML_INTEROP_VOMS_PRIMARY_FQAN,
00040 XACML_INTEROP_CERTIFICATE_SERIAL_NUMBER,
00041 XACML_INTEROP_CA_SERIAL_NUMBER,
00042 XACML_INTEROP_VOMS_DNS_PORT,
00043 XACML_INTEROP_CA_POLICY_OID,
00044 XACML_INTEROP_CERT_CHAIN
00045 }
00046 xacml_interop_profile_subject_attr_t;
00047
00048 extern const char *xacml_interop_profile_subject_attr_strings[];
00049
00050 typedef enum
00051 {
00052 XACML_INTEROP_ACTION_RSL_STRING
00053 }
00054 xacml_interop_profile_action_attr_t;
00055
00056 extern const char *xacml_interop_profile_action_attr_strings[];
00057
00058 typedef enum
00059 {
00060 XACML_INTEROP_ACTION_TYPE_QUEUE,
00061 XACML_INTEROP_ACTION_TYPE_EXECUTE_NOW,
00062 XACML_INTEROP_ACTION_TYPE_ACCESS
00063 }
00064 xacml_interop_profile_action_type_enum_t;
00065
00066 extern const char *xacml_interop_profile_action_type_enum_strings[];
00067
00068 typedef enum
00069 {
00070 XACML_INTEROP_RESOURCE_DNS_HOST_NAME,
00071 XACML_INTEROP_RESOURCE_X509_ID,
00072 XACML_INTEROP_RESOURCE_X509_ISSUER
00073 }
00074 xacml_interop_profile_resource_attr_t;
00075
00076 extern const char *xacml_interop_profile_resource_attr_strings[];
00077
00078 typedef enum
00079 {
00080 XACML_INTEROP_RESOURCE_TYPE_CE,
00081 XACML_INTEROP_RESOURCE_TYPE_SE,
00082 XACML_INTEROP_RESOURCE_TYPE_WN
00083 }
00084 xacml_interop_profile_resource_type_enum_t;
00085
00086 extern const char *xacml_interop_profile_resource_type_enum_strings[];
00087
00088 typedef enum
00089 {
00090 XACML_INTEROP_ENV_PEP_OBLIG_SUPPORTED,
00091 XACML_INTEROP_ENV_PILOT_JOB_SUBJECT_X509_ID,
00092 XACML_INTEROP_ENV_PILOT_JOB_SUBJECT_CONDOR_CANONICAL_NAME_ID,
00093 XACML_INTEROP_ENV_PILOT_JOB_SUBJECT_X509_ISSUER,
00094 XACML_INTEROP_ENV_PILOT_JOB_VO,
00095 XACML_INTEROP_ENV_PILOT_JOB_VOMS_SIGNING_SUBJECT,
00096 XACML_INTEROP_ENV_PILOT_JOB_VOMS_SIGNING_ISSUER,
00097 XACML_INTEROP_ENV_PILOT_JOB_VOMS_FQAN,
00098 XACML_INTEROP_ENV_PILOT_JOB_VOMS_PRIMARY_FQAN
00099 }
00100 xacml_interop_profile_environment_attr_t;
00101
00102 extern const char *xacml_interop_profile_environment_attr_strings[];
00103
00104 typedef enum
00105 {
00106 XACML_INTEROP_OBLIGATION_UIDGID,
00107 XACML_INTEROP_OBLIGATION_SECONDARY_GIDS,
00108 XACML_INTEROP_OBLIGATION_USERNAME,
00109 XACML_INTEROP_OBLIGATION_AFS_TOKEN,
00110 XACML_INTEROP_OBLIGATION_ROOT_AND_HOME_PATHS,
00111 XACML_INTEROP_OBLIGATION_STORAGE_ACCESS_PRIORITY,
00112 XACML_INTEROP_OBLIGATION_ACCESS_PERMISSIONS
00113 }
00114 xacml_interop_profile_obligation_t;
00115
00116 extern const char *xacml_interop_profile_obligation_strings[];
00117
00118 typedef enum
00119 {
00120 XACML_INTEROP_OBLIGATION_ATTR_POSIX_UID,
00121 XACML_INTEROP_OBLIGATION_ATTR_POSIX_GID,
00122 XACML_INTEROP_OBLIGATION_ATTR_USERNAME,
00123 XACML_INTEROP_OBLIGATION_ATTR_AFS_TOKEN,
00124 XACML_INTEROP_OBLIGATION_ATTR_ROOTPATH,
00125 XACML_INTEROP_OBLIGATION_ATTR_HOMEPATH,
00126 XACML_INTEROP_OBLIGATION_ATTR_STORAGE_PRIORITY,
00127 XACML_INTEROP_OBLIGATION_ATTR_ACCESS_PERMISSIONS,
00128
00129 }
00130 xacml_interop_profile_obligation_attrs_t;
00131
00132 extern const char *xacml_interop_profile_obligation_attr_strings[];
00133
00134 #ifndef DONT_DOCUMENT_INTERNAL
00135 EXTERN_C_END
00136 #endif
00137
00138 #endif