alchemy 0.77.5 → 0.79.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/alchemy.js +2414 -323
- package/bin/commands/util.ts +234 -315
- package/bin/services/execute-alchemy.ts +8 -33
- package/lib/cloudflare/assets.js +1 -1
- package/lib/cloudflare/assets.js.map +1 -1
- package/lib/cloudflare/astro/plugin.d.ts.map +1 -1
- package/lib/cloudflare/astro/plugin.js +3 -1
- package/lib/cloudflare/astro/plugin.js.map +1 -1
- package/lib/cloudflare/auth.d.ts +73 -68
- package/lib/cloudflare/auth.d.ts.map +1 -1
- package/lib/cloudflare/auth.js +73 -72
- package/lib/cloudflare/auth.js.map +1 -1
- package/lib/cloudflare/cloudflare-env-proxy.d.ts +1 -1
- package/lib/cloudflare/cloudflare-env-proxy.d.ts.map +1 -1
- package/lib/cloudflare/cloudflare-env-proxy.js +2 -2
- package/lib/cloudflare/cloudflare-env-proxy.js.map +1 -1
- package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
- package/lib/cloudflare/compatibility-date.gen.js +1 -1
- package/lib/cloudflare/container.d.ts +0 -3
- package/lib/cloudflare/container.d.ts.map +1 -1
- package/lib/cloudflare/container.js +10 -4
- package/lib/cloudflare/container.js.map +1 -1
- package/lib/cloudflare/d1-database.d.ts.map +1 -1
- package/lib/cloudflare/d1-database.js +3 -2
- package/lib/cloudflare/d1-database.js.map +1 -1
- package/lib/cloudflare/index.d.ts +2 -2
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +2 -2
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/permission-groups.d.ts +35 -0
- package/lib/cloudflare/permission-groups.d.ts.map +1 -1
- package/lib/cloudflare/permission-groups.js +42 -0
- package/lib/cloudflare/permission-groups.js.map +1 -1
- package/lib/cloudflare/worker-assets.d.ts.map +1 -1
- package/lib/cloudflare/worker-assets.js +22 -1
- package/lib/cloudflare/worker-assets.js.map +1 -1
- package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
- package/lib/cloudflare/worker-bundle.js +1 -0
- package/lib/cloudflare/worker-bundle.js.map +1 -1
- package/lib/cloudflare/worker.d.ts +2 -0
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +15 -3
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/cloudflare/workflow.d.ts +1 -0
- package/lib/cloudflare/workflow.d.ts.map +1 -1
- package/lib/cloudflare/workflow.js +6 -0
- package/lib/cloudflare/workflow.js.map +1 -1
- package/lib/docker/api.d.ts.map +1 -1
- package/lib/docker/api.js +2 -1
- package/lib/docker/api.js.map +1 -1
- package/lib/util/camel-to-snake.d.ts +1 -1
- package/lib/util/camel-to-snake.d.ts.map +1 -1
- package/lib/util/camel-to-snake.js +26 -13
- package/lib/util/camel-to-snake.js.map +1 -1
- package/lib/util/detect-node-runtime.d.ts.map +1 -1
- package/lib/util/detect-node-runtime.js +0 -2
- package/lib/util/detect-node-runtime.js.map +1 -1
- package/lib/util/detect-package-manager.d.ts +1 -1
- package/lib/util/detect-package-manager.d.ts.map +1 -1
- package/lib/util/detect-package-manager.js +11 -8
- package/lib/util/detect-package-manager.js.map +1 -1
- package/package.json +5 -1
- package/src/cloudflare/assets.ts +1 -1
- package/src/cloudflare/astro/plugin.ts +8 -1
- package/src/cloudflare/auth.ts +94 -75
- package/src/cloudflare/cloudflare-env-proxy.ts +5 -1
- package/src/cloudflare/compatibility-date.gen.ts +1 -1
- package/src/cloudflare/container.ts +10 -7
- package/src/cloudflare/d1-database.ts +6 -2
- package/src/cloudflare/index.ts +2 -2
- package/src/cloudflare/permission-groups.ts +42 -0
- package/src/cloudflare/worker-assets.ts +34 -1
- package/src/cloudflare/worker-bundle.ts +1 -0
- package/src/cloudflare/worker.ts +27 -2
- package/src/cloudflare/workflow.ts +9 -0
- package/src/docker/api.ts +2 -1
- package/src/util/camel-to-snake.ts +34 -19
- package/src/util/detect-node-runtime.ts +0 -2
- package/src/util/detect-package-manager.ts +12 -8
- package/templates/tanstack-start/alchemy.run.ts +8 -2
- package/templates/tanstack-start/src/routes/demo.start.server-funcs.tsx +11 -16
- package/workers/tunnel-proxy.js +1 -1
package/bin/alchemy.js
CHANGED
|
@@ -36823,7 +36823,7 @@ function envPaths(name$1, { suffix = "nodejs" } = {}) {
|
|
|
36823
36823
|
//#endregion
|
|
36824
36824
|
//#region package.json
|
|
36825
36825
|
var name = "alchemy";
|
|
36826
|
-
var version = "0.
|
|
36826
|
+
var version = "0.79.0";
|
|
36827
36827
|
var license = "Apache-2.0";
|
|
36828
36828
|
var author = "Sam Goodwin <sam@alchemy.run>";
|
|
36829
36829
|
var homepage = "https://alchemy.run";
|
|
@@ -36980,6 +36980,10 @@ var exports$1 = {
|
|
|
36980
36980
|
"bun": "./src/test/vite.ts",
|
|
36981
36981
|
"import": "./lib/test/vite.js"
|
|
36982
36982
|
},
|
|
36983
|
+
"./test/bun": {
|
|
36984
|
+
"bun": "./src/test/bun.ts",
|
|
36985
|
+
"import": "./lib/test/bun.js"
|
|
36986
|
+
},
|
|
36983
36987
|
"./upstash": {
|
|
36984
36988
|
"bun": "./src/upstash/index.ts",
|
|
36985
36989
|
"import": "./lib/upstash/index.js"
|
|
@@ -38194,6 +38198,51 @@ const ResourceFQN = Symbol.for("alchemy::ResourceFQN");
|
|
|
38194
38198
|
const ResourceKind = Symbol.for("alchemy::ResourceKind");
|
|
38195
38199
|
const ResourceScope = Symbol.for("alchemy::ResourceScope");
|
|
38196
38200
|
const ResourceSeq = Symbol.for("alchemy::ResourceSeq");
|
|
38201
|
+
function Resource(type$1, ...args) {
|
|
38202
|
+
const [options, handler] = args.length === 2 ? args : [void 0, args[0]];
|
|
38203
|
+
if (PROVIDERS.has(type$1)) {
|
|
38204
|
+
if (HANDLERS.get(type$1).toString() !== handler.toString()) throw new Error(`Resource ${type$1} already exists`);
|
|
38205
|
+
}
|
|
38206
|
+
HANDLERS.set(type$1, handler);
|
|
38207
|
+
const provider = (async (resourceID, props) => {
|
|
38208
|
+
const scope = Scope.current;
|
|
38209
|
+
if (resourceID.includes(":")) throw new Error(`ID cannot include colons: ${resourceID}`);
|
|
38210
|
+
if (scope.resources.has(resourceID)) {
|
|
38211
|
+
const otherResource = scope.resources.get(resourceID);
|
|
38212
|
+
if (otherResource?.[ResourceKind] !== type$1) {
|
|
38213
|
+
scope.fail();
|
|
38214
|
+
const error$84 = /* @__PURE__ */ new Error(`Resource ${resourceID} already exists in the stack and is of a different type: '${otherResource?.[ResourceKind]}' !== '${type$1}'`);
|
|
38215
|
+
await createAndSendEvent({
|
|
38216
|
+
event: "resource.error",
|
|
38217
|
+
resource: type$1,
|
|
38218
|
+
phase: scope.phase,
|
|
38219
|
+
status: "unknown",
|
|
38220
|
+
duration: 0,
|
|
38221
|
+
replaced: false
|
|
38222
|
+
}, error$84);
|
|
38223
|
+
throw error$84;
|
|
38224
|
+
}
|
|
38225
|
+
}
|
|
38226
|
+
const seq = scope.seq();
|
|
38227
|
+
const meta = {
|
|
38228
|
+
[ResourceKind]: type$1,
|
|
38229
|
+
[ResourceID]: resourceID,
|
|
38230
|
+
[ResourceFQN]: scope.fqn(resourceID),
|
|
38231
|
+
[ResourceSeq]: seq,
|
|
38232
|
+
[ResourceScope]: scope,
|
|
38233
|
+
[DestroyStrategy]: options?.destroyStrategy ?? "sequential"
|
|
38234
|
+
};
|
|
38235
|
+
const promise$3 = apply$2(meta, props, options);
|
|
38236
|
+
const resource = Object.assign(promise$3, meta);
|
|
38237
|
+
scope.resources.set(resourceID, resource);
|
|
38238
|
+
return resource;
|
|
38239
|
+
});
|
|
38240
|
+
provider.type = type$1;
|
|
38241
|
+
provider.handler = handler;
|
|
38242
|
+
provider.options = options;
|
|
38243
|
+
PROVIDERS.set(type$1, provider);
|
|
38244
|
+
return provider;
|
|
38245
|
+
}
|
|
38197
38246
|
|
|
38198
38247
|
//#endregion
|
|
38199
38248
|
//#region src/destroy.ts
|
|
@@ -38412,9 +38461,239 @@ function context({ scope, phase, kind, id, fqn, seq, state, replace, props, isRe
|
|
|
38412
38461
|
|
|
38413
38462
|
//#endregion
|
|
38414
38463
|
//#region src/apply.ts
|
|
38464
|
+
function apply$2(resource, props, options) {
|
|
38465
|
+
return _apply(resource, props, options);
|
|
38466
|
+
}
|
|
38415
38467
|
function isReplacedSignal(error$84) {
|
|
38416
38468
|
return error$84 instanceof Error && error$84.kind === "ReplacedSignal";
|
|
38417
38469
|
}
|
|
38470
|
+
var ReplacedSignal = class extends Error {
|
|
38471
|
+
kind = "ReplacedSignal";
|
|
38472
|
+
force;
|
|
38473
|
+
constructor(force$1) {
|
|
38474
|
+
super();
|
|
38475
|
+
this.force = force$1 ?? false;
|
|
38476
|
+
}
|
|
38477
|
+
};
|
|
38478
|
+
async function _apply(resource, props, options) {
|
|
38479
|
+
const scope = resource[ResourceScope];
|
|
38480
|
+
const start = performance.now();
|
|
38481
|
+
validateResourceID(resource[ResourceID], "Resource");
|
|
38482
|
+
try {
|
|
38483
|
+
const quiet = props?.quiet ?? scope.quiet;
|
|
38484
|
+
await scope.init();
|
|
38485
|
+
let state = await scope.state.get(resource[ResourceID]);
|
|
38486
|
+
const provider = PROVIDERS.get(resource[ResourceKind]);
|
|
38487
|
+
if (provider === void 0) throw new Error(`Provider "${resource[ResourceKind]}" not found`);
|
|
38488
|
+
if (scope.phase === "read") {
|
|
38489
|
+
if (state === void 0) if (scope.isSelected === false) {
|
|
38490
|
+
if (process.argv.includes("--destroy")) process.exit(0);
|
|
38491
|
+
state = await waitForConsistentState();
|
|
38492
|
+
} else throw new Error(`Resource "${resource[ResourceFQN]}" not found and running in 'read' phase. Selected(${scope.isSelected})`);
|
|
38493
|
+
else if (scope.isSelected === false) state = await waitForConsistentState();
|
|
38494
|
+
await createAndSendEvent({
|
|
38495
|
+
event: "resource.read",
|
|
38496
|
+
phase: scope.phase,
|
|
38497
|
+
duration: performance.now() - start,
|
|
38498
|
+
status: state.status,
|
|
38499
|
+
resource: resource[ResourceKind],
|
|
38500
|
+
replaced: false
|
|
38501
|
+
});
|
|
38502
|
+
return state.output;
|
|
38503
|
+
async function waitForConsistentState() {
|
|
38504
|
+
let startTime = Date.now();
|
|
38505
|
+
while (true) {
|
|
38506
|
+
if (state === void 0) {} else if (state.status === "creating" || state.status === "updating") {} else if (state.status === "deleted" || state.status === "deleting") throw new Error("Resource is being deleted");
|
|
38507
|
+
else if (await inputsAreEqual(state)) return state;
|
|
38508
|
+
else {
|
|
38509
|
+
const elapsed = Date.now() - startTime;
|
|
38510
|
+
if ((state.status === "created" || state.status === "updated") && elapsed > 1e3) logger.warn(`Resource '${resource[ResourceFQN]}' is not in a stable state after ${elapsed}ms, be sure to check if your input props are deterministic:`, state.props);
|
|
38511
|
+
}
|
|
38512
|
+
const jitter = 100 + Math.random() * 200;
|
|
38513
|
+
await new Promise((resolve$1) => setTimeout(resolve$1, jitter));
|
|
38514
|
+
state = await scope.state.get(resource[ResourceID]);
|
|
38515
|
+
}
|
|
38516
|
+
}
|
|
38517
|
+
async function inputsAreEqual(state$1) {
|
|
38518
|
+
const oldProps = await serialize$1(scope, state$1.props, { encrypt: false });
|
|
38519
|
+
const newProps = await serialize$1(scope, props, { encrypt: false });
|
|
38520
|
+
return JSON.stringify(oldProps) === JSON.stringify(newProps);
|
|
38521
|
+
}
|
|
38522
|
+
}
|
|
38523
|
+
if (state === void 0) {
|
|
38524
|
+
state = {
|
|
38525
|
+
kind: resource[ResourceKind],
|
|
38526
|
+
id: resource[ResourceID],
|
|
38527
|
+
fqn: resource[ResourceFQN],
|
|
38528
|
+
seq: resource[ResourceSeq],
|
|
38529
|
+
status: "creating",
|
|
38530
|
+
data: {},
|
|
38531
|
+
output: {
|
|
38532
|
+
[ResourceID]: resource[ResourceID],
|
|
38533
|
+
[ResourceFQN]: resource[ResourceFQN],
|
|
38534
|
+
[ResourceKind]: resource[ResourceKind],
|
|
38535
|
+
[ResourceScope]: scope,
|
|
38536
|
+
[ResourceSeq]: resource[ResourceSeq],
|
|
38537
|
+
[DestroyStrategy]: provider.options?.destroyStrategy ?? "sequential"
|
|
38538
|
+
},
|
|
38539
|
+
props: {}
|
|
38540
|
+
};
|
|
38541
|
+
await scope.state.set(resource[ResourceID], state);
|
|
38542
|
+
}
|
|
38543
|
+
const oldOutput = state.output;
|
|
38544
|
+
const alwaysUpdate = options?.alwaysUpdate ?? provider.options?.alwaysUpdate ?? false;
|
|
38545
|
+
if (state.status === "created" || state.status === "updated") {
|
|
38546
|
+
const oldProps = await serialize$1(scope, state.props, { encrypt: false });
|
|
38547
|
+
const newProps = await serialize$1(scope, props, { encrypt: false });
|
|
38548
|
+
if (JSON.stringify(oldProps) === JSON.stringify(newProps) && alwaysUpdate !== true && !scope.force) {
|
|
38549
|
+
if (!quiet) logger.task(resource[ResourceFQN], {
|
|
38550
|
+
prefix: "skipped",
|
|
38551
|
+
prefixColor: "yellowBright",
|
|
38552
|
+
resource: formatFQN(resource[ResourceFQN]),
|
|
38553
|
+
message: "Skipped Resource (no changes)",
|
|
38554
|
+
status: "success"
|
|
38555
|
+
});
|
|
38556
|
+
createAndSendEvent({
|
|
38557
|
+
event: "resource.skip",
|
|
38558
|
+
resource: resource[ResourceKind],
|
|
38559
|
+
status: state.status,
|
|
38560
|
+
phase: scope.phase,
|
|
38561
|
+
duration: performance.now() - start,
|
|
38562
|
+
replaced: false
|
|
38563
|
+
});
|
|
38564
|
+
return state.output;
|
|
38565
|
+
}
|
|
38566
|
+
}
|
|
38567
|
+
const phase = state.status === "creating" ? "create" : "update";
|
|
38568
|
+
state.status = phase === "create" ? "creating" : "updating";
|
|
38569
|
+
state.oldProps = state.props;
|
|
38570
|
+
state.props = props;
|
|
38571
|
+
if (!quiet) logger.task(resource[ResourceFQN], {
|
|
38572
|
+
prefix: phase === "create" ? "creating" : "updating",
|
|
38573
|
+
prefixColor: "magenta",
|
|
38574
|
+
resource: formatFQN(resource[ResourceFQN]),
|
|
38575
|
+
message: `${phase === "create" ? "Creating" : "Updating"} Resource...`
|
|
38576
|
+
});
|
|
38577
|
+
createAndSendEvent({
|
|
38578
|
+
event: "resource.start",
|
|
38579
|
+
resource: resource[ResourceKind],
|
|
38580
|
+
status: state.status,
|
|
38581
|
+
phase: scope.phase,
|
|
38582
|
+
duration: performance.now() - start,
|
|
38583
|
+
replaced: false
|
|
38584
|
+
});
|
|
38585
|
+
await scope.state.set(resource[ResourceID], state);
|
|
38586
|
+
let isReplaced = false;
|
|
38587
|
+
const ctx = context({
|
|
38588
|
+
scope,
|
|
38589
|
+
phase,
|
|
38590
|
+
kind: resource[ResourceKind],
|
|
38591
|
+
id: resource[ResourceID],
|
|
38592
|
+
fqn: resource[ResourceFQN],
|
|
38593
|
+
seq: resource[ResourceSeq],
|
|
38594
|
+
props: state.oldProps,
|
|
38595
|
+
state,
|
|
38596
|
+
isReplacement: false,
|
|
38597
|
+
replace: (force$1) => {
|
|
38598
|
+
if (phase === "create") throw new Error(`Resource ${resource[ResourceKind]} ${resource[ResourceFQN]} cannot be replaced in create phase.`);
|
|
38599
|
+
if (isReplaced) logger.warn(`Resource ${resource[ResourceKind]} ${resource[ResourceFQN]} is already marked as REPLACE`);
|
|
38600
|
+
isReplaced = true;
|
|
38601
|
+
throw new ReplacedSignal(force$1);
|
|
38602
|
+
}
|
|
38603
|
+
});
|
|
38604
|
+
let output;
|
|
38605
|
+
try {
|
|
38606
|
+
output = await alchemy.run(resource[ResourceID], {
|
|
38607
|
+
isResource: true,
|
|
38608
|
+
parent: scope,
|
|
38609
|
+
destroyStrategy: provider.options?.destroyStrategy ?? "sequential",
|
|
38610
|
+
noop: options?.noop
|
|
38611
|
+
}, async () => ctx(await provider.handler.bind(ctx)(resource[ResourceID], props)));
|
|
38612
|
+
} catch (error$84) {
|
|
38613
|
+
if (error$84 instanceof ReplacedSignal) {
|
|
38614
|
+
if (error$84.force) await destroy$1(resource, {
|
|
38615
|
+
quiet: scope.quiet,
|
|
38616
|
+
strategy: resource[DestroyStrategy] ?? "sequential",
|
|
38617
|
+
replace: {
|
|
38618
|
+
props: state.oldProps,
|
|
38619
|
+
output: oldOutput
|
|
38620
|
+
},
|
|
38621
|
+
noop: options?.noop
|
|
38622
|
+
});
|
|
38623
|
+
else {
|
|
38624
|
+
if ((scope.children.get(resource[ResourceID])?.children.size ?? 0) > 0) throw new Error(`Resource ${resource[ResourceFQN]} has children and cannot be replaced.`);
|
|
38625
|
+
const pendingDeletions = await scope.get("pendingDeletions") ?? [];
|
|
38626
|
+
pendingDeletions.push({
|
|
38627
|
+
resource: oldOutput,
|
|
38628
|
+
oldProps: state.oldProps
|
|
38629
|
+
});
|
|
38630
|
+
await scope.set("pendingDeletions", pendingDeletions);
|
|
38631
|
+
}
|
|
38632
|
+
output = await alchemy.run(resource[ResourceID], {
|
|
38633
|
+
isResource: true,
|
|
38634
|
+
parent: scope,
|
|
38635
|
+
noop: options?.noop
|
|
38636
|
+
}, async () => {
|
|
38637
|
+
const ctx$1 = context({
|
|
38638
|
+
scope,
|
|
38639
|
+
phase: "create",
|
|
38640
|
+
kind: resource[ResourceKind],
|
|
38641
|
+
id: resource[ResourceID],
|
|
38642
|
+
fqn: resource[ResourceFQN],
|
|
38643
|
+
seq: resource[ResourceSeq],
|
|
38644
|
+
props: state.props,
|
|
38645
|
+
state,
|
|
38646
|
+
isReplacement: true,
|
|
38647
|
+
replace: () => {
|
|
38648
|
+
throw new Error(`Resource ${resource[ResourceKind]} ${resource[ResourceFQN]} cannot be replaced in create phase.`);
|
|
38649
|
+
}
|
|
38650
|
+
});
|
|
38651
|
+
return ctx$1(await provider.handler.bind(ctx$1)(resource[ResourceID], props));
|
|
38652
|
+
});
|
|
38653
|
+
} else throw error$84;
|
|
38654
|
+
}
|
|
38655
|
+
if (!quiet) logger.task(resource[ResourceFQN], {
|
|
38656
|
+
prefix: phase === "create" ? "created" : isReplaced ? "replaced" : "updated",
|
|
38657
|
+
prefixColor: "greenBright",
|
|
38658
|
+
resource: formatFQN(resource[ResourceFQN]),
|
|
38659
|
+
message: `${phase === "create" ? "Created" : isReplaced ? "Replaced" : "Updated"} Resource`,
|
|
38660
|
+
status: "success"
|
|
38661
|
+
});
|
|
38662
|
+
const status = phase === "create" ? "created" : "updated";
|
|
38663
|
+
createAndSendEvent({
|
|
38664
|
+
event: "resource.success",
|
|
38665
|
+
resource: resource[ResourceKind],
|
|
38666
|
+
status,
|
|
38667
|
+
phase: scope.phase,
|
|
38668
|
+
duration: performance.now() - start,
|
|
38669
|
+
replaced: isReplaced
|
|
38670
|
+
});
|
|
38671
|
+
state = await scope.state.get(resource[ResourceID]);
|
|
38672
|
+
await scope.state.set(resource[ResourceID], {
|
|
38673
|
+
kind: resource[ResourceKind],
|
|
38674
|
+
id: resource[ResourceID],
|
|
38675
|
+
fqn: resource[ResourceFQN],
|
|
38676
|
+
seq: resource[ResourceSeq],
|
|
38677
|
+
data: state?.data ?? {},
|
|
38678
|
+
status,
|
|
38679
|
+
output,
|
|
38680
|
+
props
|
|
38681
|
+
});
|
|
38682
|
+
return output;
|
|
38683
|
+
} catch (error$84) {
|
|
38684
|
+
let errorToSend = error$84 instanceof Error ? error$84 : new Error(String(error$84));
|
|
38685
|
+
createAndSendEvent({
|
|
38686
|
+
event: "resource.error",
|
|
38687
|
+
resource: resource[ResourceKind],
|
|
38688
|
+
duration: performance.now() - start,
|
|
38689
|
+
phase: scope.phase,
|
|
38690
|
+
status: "unknown",
|
|
38691
|
+
replaced: false
|
|
38692
|
+
}, errorToSend);
|
|
38693
|
+
scope.fail();
|
|
38694
|
+
throw error$84;
|
|
38695
|
+
}
|
|
38696
|
+
}
|
|
38418
38697
|
|
|
38419
38698
|
//#endregion
|
|
38420
38699
|
//#region src/env.ts
|
|
@@ -39214,74 +39493,78 @@ let CloudflareAuth;
|
|
|
39214
39493
|
}
|
|
39215
39494
|
});
|
|
39216
39495
|
_CloudflareAuth.ALL_SCOPES = {
|
|
39217
|
-
"access:read": "
|
|
39218
|
-
"access:write": "
|
|
39219
|
-
"account:read": "See your account info such as account details, analytics, and memberships
|
|
39220
|
-
"agw:read": "
|
|
39221
|
-
"agw:run": "
|
|
39222
|
-
"
|
|
39223
|
-
"ai:
|
|
39224
|
-
"
|
|
39225
|
-
"aiaudit:
|
|
39226
|
-
"
|
|
39227
|
-
"aig:
|
|
39228
|
-
"
|
|
39229
|
-
"
|
|
39230
|
-
"browser:
|
|
39231
|
-
"
|
|
39232
|
-
"cfone:
|
|
39233
|
-
"
|
|
39234
|
-
"
|
|
39235
|
-
"
|
|
39236
|
-
"
|
|
39237
|
-
"
|
|
39238
|
-
"
|
|
39239
|
-
"
|
|
39240
|
-
"
|
|
39241
|
-
"
|
|
39242
|
-
"
|
|
39243
|
-
"
|
|
39244
|
-
"
|
|
39245
|
-
"
|
|
39246
|
-
"
|
|
39247
|
-
"
|
|
39248
|
-
"
|
|
39249
|
-
"
|
|
39250
|
-
"
|
|
39251
|
-
"
|
|
39252
|
-
"
|
|
39253
|
-
"
|
|
39254
|
-
"
|
|
39255
|
-
"
|
|
39256
|
-
"
|
|
39257
|
-
"
|
|
39258
|
-
"
|
|
39259
|
-
"
|
|
39260
|
-
"
|
|
39261
|
-
"
|
|
39262
|
-
"
|
|
39263
|
-
"
|
|
39264
|
-
"
|
|
39265
|
-
"
|
|
39266
|
-
"
|
|
39267
|
-
"
|
|
39268
|
-
"
|
|
39269
|
-
"
|
|
39270
|
-
"
|
|
39271
|
-
"
|
|
39272
|
-
"
|
|
39273
|
-
"
|
|
39274
|
-
"
|
|
39275
|
-
"
|
|
39276
|
-
"
|
|
39277
|
-
"
|
|
39278
|
-
"
|
|
39279
|
-
"
|
|
39280
|
-
"
|
|
39281
|
-
"
|
|
39282
|
-
"
|
|
39283
|
-
"
|
|
39284
|
-
"
|
|
39496
|
+
"access:read": "See Cloudflare Access data such as zones, applications, certificates, device postures, groups, identity providers, login counts, organizations, policies, service tokens, and users",
|
|
39497
|
+
"access:write": "See and change Cloudflare Access data such as zones, applications, certificates, device postures, groups, identity providers, login counts, organizations, policies, service tokens, and users",
|
|
39498
|
+
"account:read": "See your account info such as account details, analytics, and memberships",
|
|
39499
|
+
"agw:read": "Grants read level access to Agents Gateway",
|
|
39500
|
+
"agw:run": "Grants run level access to Agents Gateway",
|
|
39501
|
+
"agw:write": "Grants read and write level access to Agents Gateway",
|
|
39502
|
+
"ai:read": "Grants read level access to Workers AI",
|
|
39503
|
+
"ai:write": "Grants write level access to Workers AI",
|
|
39504
|
+
"aiaudit:read": "Grants read level access to AI Audit",
|
|
39505
|
+
"aiaudit:write": "Grants write level access to AI Audit",
|
|
39506
|
+
"aig:read": "Grants read level access to AI Gateway",
|
|
39507
|
+
"aig:write": "Grants write level access to AI Gateway",
|
|
39508
|
+
"auditlogs:read": "View Cloudflare Account Audit Logs",
|
|
39509
|
+
"browser:read": "Grants read level access to Browser Rendering",
|
|
39510
|
+
"browser:write": "Grants write level access to Browser Rendering",
|
|
39511
|
+
"cfone:read": "Grants read level access to Cloudforce One data",
|
|
39512
|
+
"cfone:write": "Grants write level access to Cloudforce One data",
|
|
39513
|
+
"cloudchamber:write": "See and make changes to Cloudchamber",
|
|
39514
|
+
"connectivity:admin": "See, change, and bind to Connectivity Directory services, including creating services targeting Cloudflare Tunnel",
|
|
39515
|
+
"connectivity:bind": "read, list, and bind to Connectivity Directory services, as well as read and list Cloudflare Tunnels",
|
|
39516
|
+
"connectivity:read": "See Connectivity Directory services and Cloudflare Tunnels",
|
|
39517
|
+
"constellation:write": "Grants write access to Constellation configuration and models",
|
|
39518
|
+
"containers:write": "See and make changes to Workers Containers",
|
|
39519
|
+
"d1:write": "See and make changes to D1",
|
|
39520
|
+
"dex:read": "Grants read level access to Cloudflare DEX",
|
|
39521
|
+
"dex:write": "Grants write level access to Cloudflare DEX",
|
|
39522
|
+
"dns_analytics:read": "Grants read level access to Cloudflare DNS Analytics",
|
|
39523
|
+
"dns_records:edit": "Grants edit level access to dns records",
|
|
39524
|
+
"dns_records:read": "Grants read level access to dns records",
|
|
39525
|
+
"dns_settings:read": "Grants read level access to Cloudflare DNS Settings",
|
|
39526
|
+
"firstpartytags:write": "Can see, edit and publish Google tag gateway configuration.",
|
|
39527
|
+
"lb:edit": "Grants edit level access to lb and lb pools",
|
|
39528
|
+
"lb:read": "Grants read level access to lb and lb pools",
|
|
39529
|
+
"logpush:read": "See Cloudflare Logpush data",
|
|
39530
|
+
"logpush:write": "See and change Cloudflare Logpush data",
|
|
39531
|
+
"notification:read": "View Cloudflare Notifications",
|
|
39532
|
+
"notification:write": "View and Modify Cloudflare Notifications",
|
|
39533
|
+
"pages:read": "See Cloudflare Pages projects, settings and deployments",
|
|
39534
|
+
"pages:write": "See and change Cloudflare Pages projects, settings and deployments",
|
|
39535
|
+
"pipelines:read": "Grants read level access to Cloudflare Pipelines",
|
|
39536
|
+
"pipelines:setup": "Grants permission to generate R2 tokens for Workers Pipelines",
|
|
39537
|
+
"pipelines:write": "Grants write level access to Cloudflare Pipelines",
|
|
39538
|
+
"query_cache:write": "See and make changes to Hyperdrive",
|
|
39539
|
+
"queues:write": "See and change Cloudflare Queues settings and data",
|
|
39540
|
+
"r2_catalog:write": "Grants write level access to R2 Data Catalog",
|
|
39541
|
+
"radar:read": "Grants access to read Cloudflare Radar data",
|
|
39542
|
+
"rag:read": "Grants read level access to Auto Rag",
|
|
39543
|
+
"rag:write": "Grants write level access to Auto Rag",
|
|
39544
|
+
"secrets_store:read": "Grants read level access to Secrets Store",
|
|
39545
|
+
"secrets_store:write": "Grants write level access to Secrets Store",
|
|
39546
|
+
"ssl_certs:write": "Grants read and write access to SSL MTLS certificates or Certificate Store",
|
|
39547
|
+
"sso-connector:read": "See Cloudflare SSO connectors",
|
|
39548
|
+
"sso-connector:write": "See Cloudflare SSO connectors to toggle activation and deactivation of SSO",
|
|
39549
|
+
"teams:pii": "See personally identifiable Cloudflare Teams data",
|
|
39550
|
+
"teams:read": "See Cloudflare Teams data such as zones, gateway, and argo tunnel details",
|
|
39551
|
+
"teams:secure_location": "See all DNS Location data but can only change secure DNS Locations",
|
|
39552
|
+
"teams:write": "See and change Cloudflare Teams data such as zones, gateway, and argo tunnel details",
|
|
39553
|
+
"url_scanner:read": "Grants read level access to URL Scanner",
|
|
39554
|
+
"url_scanner:write": "Grants write level access to URL Scanner",
|
|
39555
|
+
"user:read": "See your user info such as name, email address, and account memberships",
|
|
39556
|
+
"vectorize:write": "See and make changes to Vectorize",
|
|
39557
|
+
"workers:read": "See Cloudflare Workers data such as zones, KV storage, R2 storage, scripts, and routes",
|
|
39558
|
+
"workers:write": "See and change Cloudflare Workers data such as zones, KV storage, R2 storage, scripts, and routes",
|
|
39559
|
+
"workers_builds:read": "See Cloudflare Workers Builds data such as builds, build configuration, and build logs",
|
|
39560
|
+
"workers_builds:write": "See and change Cloudflare Workers Builds data such as builds, build configuration, and build logs",
|
|
39561
|
+
"workers_kv:write": "See and change Cloudflare Workers KV Storage data such as keys and namespaces",
|
|
39562
|
+
"workers_observability:read": "Grants read access to Cloudflare Workers Observability",
|
|
39563
|
+
"workers_observability_telemetry:write": "Grants write access to Cloudflare Workers Observability Telemetry API",
|
|
39564
|
+
"workers_routes:write": "See and change Cloudflare Workers data such as filters and routes",
|
|
39565
|
+
"workers_scripts:write": "See and change Cloudflare Workers scripts, durable objects, subdomains, triggers, and tail data",
|
|
39566
|
+
"workers_tail:read": "See Cloudflare Workers tail and script data",
|
|
39567
|
+
"zone:read": "Grants read level access to account zone"
|
|
39285
39568
|
};
|
|
39286
39569
|
_CloudflareAuth.DEFAULT_SCOPES = [
|
|
39287
39570
|
"account:read",
|
|
@@ -39301,7 +39584,8 @@ let CloudflareAuth;
|
|
|
39301
39584
|
"secrets_store:write",
|
|
39302
39585
|
"containers:write",
|
|
39303
39586
|
"cloudchamber:write",
|
|
39304
|
-
"vectorize:write"
|
|
39587
|
+
"vectorize:write",
|
|
39588
|
+
"connectivity:admin"
|
|
39305
39589
|
];
|
|
39306
39590
|
_CloudflareAuth.formatHeadersWithRefresh = async (input) => {
|
|
39307
39591
|
if (!Credentials.isOAuthExpired(input.credentials)) return formatHeaders(input.credentials);
|
|
@@ -42005,15 +42289,52 @@ async function exists(path$32) {
|
|
|
42005
42289
|
}
|
|
42006
42290
|
}
|
|
42007
42291
|
|
|
42292
|
+
//#endregion
|
|
42293
|
+
//#region src/util/find-workspace-root.ts
|
|
42294
|
+
async function findWorkspaceRoot(directory = process.cwd()) {
|
|
42295
|
+
if ((await Promise.all(Object.entries(predicates).map(async ([file$2, predicate]) => {
|
|
42296
|
+
return await check(path$1.join(directory, file$2), predicate);
|
|
42297
|
+
}))).includes(true)) return directory;
|
|
42298
|
+
const parent = path$1.resolve(directory, "..");
|
|
42299
|
+
if (parent === directory) return directory;
|
|
42300
|
+
return await findWorkspaceRoot(parent);
|
|
42301
|
+
}
|
|
42302
|
+
async function check(filePath, predicate) {
|
|
42303
|
+
if (!await exists(filePath)) return false;
|
|
42304
|
+
if (typeof predicate === "function") try {
|
|
42305
|
+
const value = await fs$1.readFile(filePath, "utf-8");
|
|
42306
|
+
return predicate(JSON.parse(value));
|
|
42307
|
+
} catch {
|
|
42308
|
+
return false;
|
|
42309
|
+
}
|
|
42310
|
+
else return true;
|
|
42311
|
+
}
|
|
42312
|
+
const predicates = {
|
|
42313
|
+
"bun.lock": true,
|
|
42314
|
+
"bun.lockb": true,
|
|
42315
|
+
".git": true,
|
|
42316
|
+
"lerna.json": true,
|
|
42317
|
+
"package.json": (value) => "workspaces" in value,
|
|
42318
|
+
"package-lock.json": true,
|
|
42319
|
+
"nx.json": true,
|
|
42320
|
+
"pnpm-lock.yaml": true,
|
|
42321
|
+
"pnpm-workspace.yaml": true,
|
|
42322
|
+
"pnpm-workspace.yml": true,
|
|
42323
|
+
"rush.json": true,
|
|
42324
|
+
"turbo.json": (value) => !("extends" in value),
|
|
42325
|
+
"yarn.lock": true
|
|
42326
|
+
};
|
|
42327
|
+
|
|
42008
42328
|
//#endregion
|
|
42009
42329
|
//#region src/util/detect-package-manager.ts
|
|
42010
|
-
async function detectPackageManager(
|
|
42011
|
-
|
|
42012
|
-
if (await exists(
|
|
42013
|
-
if (await exists(
|
|
42014
|
-
if (await exists(
|
|
42015
|
-
if (await exists(
|
|
42016
|
-
if (await exists(
|
|
42330
|
+
async function detectPackageManager(root = process.cwd()) {
|
|
42331
|
+
root = await findWorkspaceRoot(root);
|
|
42332
|
+
if (await exists(path$1.resolve(root, "deno.lock"))) return "deno";
|
|
42333
|
+
if (await exists(path$1.resolve(root, "deno.json")) || await exists(path$1.resolve(root, "deno.jsonc"))) return "deno";
|
|
42334
|
+
if (await exists(path$1.resolve(root, "bun.lockb"))) return "bun";
|
|
42335
|
+
if (await exists(path$1.resolve(root, "bun.lock"))) return "bun";
|
|
42336
|
+
if (await exists(path$1.resolve(root, "pnpm-lock.yaml"))) return "pnpm";
|
|
42337
|
+
if (await exists(path$1.resolve(root, "yarn.lock"))) return "yarn";
|
|
42017
42338
|
if (process.env.npm_execpath?.includes("bun")) return "bun";
|
|
42018
42339
|
if (process.env.DENO) return "deno";
|
|
42019
42340
|
const userAgent = process.env.npm_config_user_agent;
|
|
@@ -55215,46 +55536,9 @@ function handleError(error$84) {
|
|
|
55215
55536
|
function detectRuntime() {
|
|
55216
55537
|
if (typeof Bun !== "undefined" && Bun !== null) return "bun";
|
|
55217
55538
|
if (typeof Deno !== "undefined" && Deno !== null) return "deno";
|
|
55218
|
-
if (typeof process !== "undefined" && process.release?.name === "node") return "node";
|
|
55219
55539
|
return "node";
|
|
55220
55540
|
}
|
|
55221
55541
|
|
|
55222
|
-
//#endregion
|
|
55223
|
-
//#region src/util/find-workspace-root.ts
|
|
55224
|
-
async function findWorkspaceRoot(directory = process.cwd()) {
|
|
55225
|
-
if ((await Promise.all(Object.entries(predicates).map(async ([file$2, predicate]) => {
|
|
55226
|
-
return await check(path$1.join(directory, file$2), predicate);
|
|
55227
|
-
}))).includes(true)) return directory;
|
|
55228
|
-
const parent = path$1.resolve(directory, "..");
|
|
55229
|
-
if (parent === directory) return directory;
|
|
55230
|
-
return await findWorkspaceRoot(parent);
|
|
55231
|
-
}
|
|
55232
|
-
async function check(filePath, predicate) {
|
|
55233
|
-
if (!await exists(filePath)) return false;
|
|
55234
|
-
if (typeof predicate === "function") try {
|
|
55235
|
-
const value = await fs$1.readFile(filePath, "utf-8");
|
|
55236
|
-
return predicate(JSON.parse(value));
|
|
55237
|
-
} catch {
|
|
55238
|
-
return false;
|
|
55239
|
-
}
|
|
55240
|
-
else return true;
|
|
55241
|
-
}
|
|
55242
|
-
const predicates = {
|
|
55243
|
-
"bun.lock": true,
|
|
55244
|
-
"bun.lockb": true,
|
|
55245
|
-
".git": true,
|
|
55246
|
-
"lerna.json": true,
|
|
55247
|
-
"package.json": (value) => "workspaces" in value,
|
|
55248
|
-
"package-lock.json": true,
|
|
55249
|
-
"nx.json": true,
|
|
55250
|
-
"pnpm-lock.yaml": true,
|
|
55251
|
-
"pnpm-workspace.yaml": true,
|
|
55252
|
-
"pnpm-workspace.yml": true,
|
|
55253
|
-
"rush.json": true,
|
|
55254
|
-
"turbo.json": (value) => !("extends" in value),
|
|
55255
|
-
"yarn.lock": true
|
|
55256
|
-
};
|
|
55257
|
-
|
|
55258
55542
|
//#endregion
|
|
55259
55543
|
//#region src/util/find-open-port.ts
|
|
55260
55544
|
async function findOpenPort(min = 1337, max = 65535) {
|
|
@@ -55509,33 +55793,12 @@ async function execAlchemy(main, { cwd: cwd$1 = process.cwd(), quiet, force: for
|
|
|
55509
55793
|
const runtime$1 = detectRuntime();
|
|
55510
55794
|
const argsString = args.join(" ");
|
|
55511
55795
|
const execArgsString = execArgs$1.join(" ");
|
|
55512
|
-
|
|
55513
|
-
const
|
|
55514
|
-
|
|
55515
|
-
|
|
55516
|
-
|
|
55517
|
-
|
|
55518
|
-
case "deno":
|
|
55519
|
-
command = `deno run -A ${execArgsString} ${main} ${argsString}`;
|
|
55520
|
-
break;
|
|
55521
|
-
case "pnpm":
|
|
55522
|
-
command = isTypeScript ? `pnpm dlx tsx ${execArgsString} ${main} ${argsString}` : `pnpm node ${execArgsString} ${main} ${argsString}`;
|
|
55523
|
-
break;
|
|
55524
|
-
case "yarn":
|
|
55525
|
-
command = isTypeScript ? `yarn tsx ${execArgsString} ${main} ${argsString}` : `yarn node ${execArgsString} ${main} ${argsString}`;
|
|
55526
|
-
break;
|
|
55527
|
-
default: switch (runtime$1) {
|
|
55528
|
-
case "bun":
|
|
55529
|
-
command = `bun ${execArgsString} ${main} ${argsString}`;
|
|
55530
|
-
break;
|
|
55531
|
-
case "deno":
|
|
55532
|
-
command = `deno run -A ${execArgsString} ${main} ${argsString}`;
|
|
55533
|
-
break;
|
|
55534
|
-
case "node":
|
|
55535
|
-
command = isTypeScript ? `npx tsx ${execArgsString} ${main} ${argsString}` : `node ${execArgsString} ${main} ${argsString}`;
|
|
55536
|
-
break;
|
|
55537
|
-
}
|
|
55538
|
-
}
|
|
55796
|
+
const node = main.endsWith("ts") ? `npx tsx ${execArgsString} ${main} ${argsString}` : `node ${execArgsString} ${main} ${argsString}`;
|
|
55797
|
+
const commands = {
|
|
55798
|
+
bun: `bun ${execArgsString} ${main} ${argsString}`,
|
|
55799
|
+
deno: `deno run -A ${execArgsString} ${main} ${argsString}`
|
|
55800
|
+
};
|
|
55801
|
+
const command = commands[packageManager] ?? commands[runtime$1] ?? node;
|
|
55539
55802
|
const childRuntime = command.split(" ")[0];
|
|
55540
55803
|
const { promise: inspectorUrlPromise, resolve: resolveInspectorUrl } = promiseWithResolvers();
|
|
55541
55804
|
process.on("SIGINT", async () => {
|
|
@@ -230730,6 +230993,1839 @@ const telemetry = t.router({
|
|
|
230730
230993
|
})
|
|
230731
230994
|
});
|
|
230732
230995
|
|
|
230996
|
+
//#endregion
|
|
230997
|
+
//#region src/cloudflare/permission-groups.ts
|
|
230998
|
+
Resource("cloudflare::PermissionGroups", async function() {
|
|
230999
|
+
if (this.phase === "delete") return this.destroy();
|
|
231000
|
+
throw new Error("Not implemented");
|
|
231001
|
+
});
|
|
231002
|
+
const PERMISSION_GROUPS = [
|
|
231003
|
+
{
|
|
231004
|
+
id: "19637fbb73d242c0a92845d8db0b95b1",
|
|
231005
|
+
name: "AI Audit Read",
|
|
231006
|
+
description: "Grants access to reading AI Audit",
|
|
231007
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231008
|
+
},
|
|
231009
|
+
{
|
|
231010
|
+
id: "1ba6ab4cacdb454b913bbb93e1b8cb8c",
|
|
231011
|
+
name: "AI Audit Write",
|
|
231012
|
+
description: "Grants access to reading and editing AI Audit",
|
|
231013
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231014
|
+
},
|
|
231015
|
+
{
|
|
231016
|
+
id: "4dc8917b4b40457d88d3035d5dadb054",
|
|
231017
|
+
name: "AI Gateway Read",
|
|
231018
|
+
description: "Grants access to reading AI Gateways",
|
|
231019
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231020
|
+
},
|
|
231021
|
+
{
|
|
231022
|
+
id: "644535f4ed854494a59cb289d634b257",
|
|
231023
|
+
name: "AI Gateway Run",
|
|
231024
|
+
description: "Grants access to run AI Gateways",
|
|
231025
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231026
|
+
},
|
|
231027
|
+
{
|
|
231028
|
+
id: "6c8a3737f07f46369c1ea1f22138daaf",
|
|
231029
|
+
name: "AI Gateway Write",
|
|
231030
|
+
description: "Grants access to reading and editing AI Gateways",
|
|
231031
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231032
|
+
},
|
|
231033
|
+
{
|
|
231034
|
+
id: "eb258a38ea634c86a0c89da6b27cb6b6",
|
|
231035
|
+
name: "Access: Apps and Policies Read",
|
|
231036
|
+
description: "Grants read access to Cloudflare Access zone resources",
|
|
231037
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231038
|
+
},
|
|
231039
|
+
{
|
|
231040
|
+
id: "7ea222f6d5064cfa89ea366d7c1fee89",
|
|
231041
|
+
name: "Access: Apps and Policies Read",
|
|
231042
|
+
description: "Grants read access to Cloudflare Access applications and policies",
|
|
231043
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231044
|
+
},
|
|
231045
|
+
{
|
|
231046
|
+
id: "6db4e222e21248ac96a3f4c2a81e3b41",
|
|
231047
|
+
name: "Access: Apps and Policies Revoke",
|
|
231048
|
+
description: "Grants ability to revoke all tokens to Cloudflare Access zone resources",
|
|
231049
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231050
|
+
},
|
|
231051
|
+
{
|
|
231052
|
+
id: "6c9d1cfcfc6840a987d1b5bfb880a841",
|
|
231053
|
+
name: "Access: Apps and Policies Revoke",
|
|
231054
|
+
description: "Grants ability to revoke Cloudflare Access application tokens",
|
|
231055
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231056
|
+
},
|
|
231057
|
+
{
|
|
231058
|
+
id: "959972745952452f8be2452be8cbb9f2",
|
|
231059
|
+
name: "Access: Apps and Policies Write",
|
|
231060
|
+
description: "Grants write access to Cloudflare Access zone resources",
|
|
231061
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231062
|
+
},
|
|
231063
|
+
{
|
|
231064
|
+
id: "1e13c5124ca64b72b1969a67e8829049",
|
|
231065
|
+
name: "Access: Apps and Policies Write",
|
|
231066
|
+
description: "Grants write access to Cloudflare Access applications and policies",
|
|
231067
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231068
|
+
},
|
|
231069
|
+
{
|
|
231070
|
+
id: "b05b28e839c54467a7d6cba5d3abb5a3",
|
|
231071
|
+
name: "Access: Audit Logs Read",
|
|
231072
|
+
description: "Grants read access to Cloudflare Access audit logs",
|
|
231073
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231074
|
+
},
|
|
231075
|
+
{
|
|
231076
|
+
id: "08e61dabe81a422dab0dea6fdef1a98a",
|
|
231077
|
+
name: "Access: Custom Pages Read",
|
|
231078
|
+
description: "Grants read access to Cloudflare Access Custom Pages",
|
|
231079
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231080
|
+
},
|
|
231081
|
+
{
|
|
231082
|
+
id: "4e5fd8ac327b4a358e48c66fcbeb856d",
|
|
231083
|
+
name: "Access: Custom Pages Write",
|
|
231084
|
+
description: "Grants write access to Cloudflare Access Custom Pages",
|
|
231085
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231086
|
+
},
|
|
231087
|
+
{
|
|
231088
|
+
id: "0f4841f80adb4bada5a09493300e7f8d",
|
|
231089
|
+
name: "Access: Device Posture Read",
|
|
231090
|
+
description: "Grants read access to Cloudflare Access Device Posture",
|
|
231091
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231092
|
+
},
|
|
231093
|
+
{
|
|
231094
|
+
id: "2fc1072ee6b743828db668fcb3f9dee7",
|
|
231095
|
+
name: "Access: Device Posture Write",
|
|
231096
|
+
description: "Grants write access to Cloudflare Access Device Posture",
|
|
231097
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231098
|
+
},
|
|
231099
|
+
{
|
|
231100
|
+
id: "4f3196a5c95747b6ad82e34e1d0a694f",
|
|
231101
|
+
name: "Access: Mutual TLS Certificates Read",
|
|
231102
|
+
description: "Grants read access to Cloudflare Access mTLS certificates",
|
|
231103
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231104
|
+
},
|
|
231105
|
+
{
|
|
231106
|
+
id: "29d3afbfd4054af9accdd1118815ed05",
|
|
231107
|
+
name: "Access: Mutual TLS Certificates Write",
|
|
231108
|
+
description: "Grants write access to Cloudflare Access mTLS certificates",
|
|
231109
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231110
|
+
},
|
|
231111
|
+
{
|
|
231112
|
+
id: "26bc23f853634eb4bff59983b9064fde",
|
|
231113
|
+
name: "Access: Organizations, Identity Providers, and Groups Read",
|
|
231114
|
+
description: "Grants read access to Cloudflare Access account resources",
|
|
231115
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231116
|
+
},
|
|
231117
|
+
{
|
|
231118
|
+
id: "7121a0c7e9ed46e3829f9cca2bb572aa",
|
|
231119
|
+
name: "Access: Organizations, Identity Providers, and Groups Revoke",
|
|
231120
|
+
description: "Grants ability to revoke user sessions to Cloudflare Access account resources",
|
|
231121
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231122
|
+
},
|
|
231123
|
+
{
|
|
231124
|
+
id: "bfe0d8686a584fa680f4c53b5eb0de6d",
|
|
231125
|
+
name: "Access: Organizations, Identity Providers, and Groups Write",
|
|
231126
|
+
description: "Grants write access to Cloudflare Access account resources",
|
|
231127
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231128
|
+
},
|
|
231129
|
+
{
|
|
231130
|
+
id: "b8b7514ce5364cd8ac0455f3eb16eb5f",
|
|
231131
|
+
name: "Access: Policy Test Read",
|
|
231132
|
+
description: "Grants read access to Cloudflare Access Policy Tests",
|
|
231133
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231134
|
+
},
|
|
231135
|
+
{
|
|
231136
|
+
id: "6d23f290472f4e6fad5c4398c057c356",
|
|
231137
|
+
name: "Access: Policy Test Write",
|
|
231138
|
+
description: "Grants full access to Cloudflare Access Policy Tests",
|
|
231139
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231140
|
+
},
|
|
231141
|
+
{
|
|
231142
|
+
id: "de99c87e48d642ce8c985d027905b475",
|
|
231143
|
+
name: "Access: Population Read",
|
|
231144
|
+
description: "Grants read access to Cloudflare Access Populations",
|
|
231145
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231146
|
+
},
|
|
231147
|
+
{
|
|
231148
|
+
id: "bc783549a3a741aaa10556faf8b485bb",
|
|
231149
|
+
name: "Access: Population Write",
|
|
231150
|
+
description: "Grants write access to Cloudflare Access Populations",
|
|
231151
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231152
|
+
},
|
|
231153
|
+
{
|
|
231154
|
+
id: "e985ca9351db460faebbe8681c48e560",
|
|
231155
|
+
name: "Access: SCIM logs read",
|
|
231156
|
+
description: "Grants read access to SCIM audit logs",
|
|
231157
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231158
|
+
},
|
|
231159
|
+
{
|
|
231160
|
+
id: "99ff99e4e30247a99d3777a8c4c18541",
|
|
231161
|
+
name: "Access: SSH Auditing Read",
|
|
231162
|
+
description: "Grants read access to Cloudflare Access SSH certificate authorities (CAs)",
|
|
231163
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231164
|
+
},
|
|
231165
|
+
{
|
|
231166
|
+
id: "d30c9ad8b5224e7cb8d41bcb4757effc",
|
|
231167
|
+
name: "Access: SSH Auditing Write",
|
|
231168
|
+
description: "Grants write access to Cloudflare Access SSH certificate authorities (CAs)",
|
|
231169
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231170
|
+
},
|
|
231171
|
+
{
|
|
231172
|
+
id: "91f7ce32fa614d73b7e1fc8f0e78582b",
|
|
231173
|
+
name: "Access: Service Tokens Read",
|
|
231174
|
+
description: "Grants read access to Cloudflare Access Service Tokens",
|
|
231175
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231176
|
+
},
|
|
231177
|
+
{
|
|
231178
|
+
id: "a1c0fec57cf94af79479a6d827fa518c",
|
|
231179
|
+
name: "Access: Service Tokens Write",
|
|
231180
|
+
description: "Grants write access to Cloudflare Access Service Tokens",
|
|
231181
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231182
|
+
},
|
|
231183
|
+
{
|
|
231184
|
+
id: "5e5d3e8efeec49f3afb67bafecbcd511",
|
|
231185
|
+
name: "Account API Gateway",
|
|
231186
|
+
description: "Grants full access to API-Gateway Management (including API Shield) across the whole account",
|
|
231187
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231188
|
+
},
|
|
231189
|
+
{
|
|
231190
|
+
id: "05a2a65760a546439ed29762b163cece",
|
|
231191
|
+
name: "Account API Gateway Read",
|
|
231192
|
+
description: "Grants read access to API-Gateway Management (including API Shield) across the whole account",
|
|
231193
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231194
|
+
},
|
|
231195
|
+
{
|
|
231196
|
+
id: "eb56a6953c034b9d97dd838155666f06",
|
|
231197
|
+
name: "Account API Tokens Read",
|
|
231198
|
+
description: "Grants read access to account API Tokens",
|
|
231199
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231200
|
+
},
|
|
231201
|
+
{
|
|
231202
|
+
id: "5bc3f8b21c554832afc660159ab75fa4",
|
|
231203
|
+
name: "Account API Tokens Write",
|
|
231204
|
+
description: "Grants write access to account API Tokens",
|
|
231205
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231206
|
+
},
|
|
231207
|
+
{
|
|
231208
|
+
id: "b89a480218d04ceb98b4fe57ca29dc1f",
|
|
231209
|
+
name: "Account Analytics Read",
|
|
231210
|
+
description: "Grants read access to analytics",
|
|
231211
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231212
|
+
},
|
|
231213
|
+
{
|
|
231214
|
+
id: "c57ea647ef654b47bc8944fa739b570d",
|
|
231215
|
+
name: "Account Custom Pages Read",
|
|
231216
|
+
description: "Grants read access to account custom pages",
|
|
231217
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231218
|
+
},
|
|
231219
|
+
{
|
|
231220
|
+
id: "8a9d35a7c8504208ad5c3e8d58e6162d",
|
|
231221
|
+
name: "Account Custom Pages Write",
|
|
231222
|
+
description: "Grants write access to account custom pages",
|
|
231223
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231224
|
+
},
|
|
231225
|
+
{
|
|
231226
|
+
id: "cfa964bcdafc4ab39704e7476154e41b",
|
|
231227
|
+
name: "Account DNS Settings Read",
|
|
231228
|
+
description: "Grants read access to Account DNS Settings",
|
|
231229
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231230
|
+
},
|
|
231231
|
+
{
|
|
231232
|
+
id: "dc44f27f48ab405392a5f69fe822bd01",
|
|
231233
|
+
name: "Account DNS Settings Write",
|
|
231234
|
+
description: "Grants write access to Account DNS Settings",
|
|
231235
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231236
|
+
},
|
|
231237
|
+
{
|
|
231238
|
+
id: "de7a688cc47d43bd9ea700b467a09c96",
|
|
231239
|
+
name: "Account Firewall Access Rules Read",
|
|
231240
|
+
description: "Grants read access to account firewall access rules",
|
|
231241
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231242
|
+
},
|
|
231243
|
+
{
|
|
231244
|
+
id: "a416acf9ef5a4af19fb11ed3b96b1fe6",
|
|
231245
|
+
name: "Account Firewall Access Rules Write",
|
|
231246
|
+
description: "Grants write access to account firewall access rules",
|
|
231247
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231248
|
+
},
|
|
231249
|
+
{
|
|
231250
|
+
id: "4f1071168de8466e9808de86febfc516",
|
|
231251
|
+
name: "Account Rule Lists Read",
|
|
231252
|
+
description: "Grants read access to Rule Lists",
|
|
231253
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231254
|
+
},
|
|
231255
|
+
{
|
|
231256
|
+
id: "2edbf20661fd4661b0fe10e9e12f485c",
|
|
231257
|
+
name: "Account Rule Lists Write",
|
|
231258
|
+
description: "Grants write access to Rule Lists",
|
|
231259
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231260
|
+
},
|
|
231261
|
+
{
|
|
231262
|
+
id: "fb39996ee9044d2a8725921e02744b39",
|
|
231263
|
+
name: "Account Rulesets Read",
|
|
231264
|
+
description: "Grants read access to Account Rulesets",
|
|
231265
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231266
|
+
},
|
|
231267
|
+
{
|
|
231268
|
+
id: "56907406c3d548ed902070ec4df0e328",
|
|
231269
|
+
name: "Account Rulesets Write",
|
|
231270
|
+
description: "Grants write access to Account Rulesets",
|
|
231271
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231272
|
+
},
|
|
231273
|
+
{
|
|
231274
|
+
id: "ece81d7757ff406cad61f221a4920d55",
|
|
231275
|
+
name: "Account Security Center Insights Read",
|
|
231276
|
+
description: "Grants read access to Security Center Insights",
|
|
231277
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231278
|
+
},
|
|
231279
|
+
{
|
|
231280
|
+
id: "cfa2e2893226455c9b945914969dff7c",
|
|
231281
|
+
name: "Account Security Center Insights Write",
|
|
231282
|
+
description: "Grants write access to Security Center Insights",
|
|
231283
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231284
|
+
},
|
|
231285
|
+
{
|
|
231286
|
+
id: "c1fde68c7bcc44588cbb6ddbc16d6480",
|
|
231287
|
+
name: "Account Settings Read",
|
|
231288
|
+
description: "Grants read access to Account resources, account membership, and account level features",
|
|
231289
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231290
|
+
},
|
|
231291
|
+
{
|
|
231292
|
+
id: "1af1fa2adc104452b74a9a3364202f20",
|
|
231293
|
+
name: "Account Settings Write",
|
|
231294
|
+
description: "Grants write access to Account resources, account membership, and account level features",
|
|
231295
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231296
|
+
},
|
|
231297
|
+
{
|
|
231298
|
+
id: "56b2af4817c84ad99187911dc3986c23",
|
|
231299
|
+
name: "Account WAF Read",
|
|
231300
|
+
description: "Grants read access to Account WAF",
|
|
231301
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231302
|
+
},
|
|
231303
|
+
{
|
|
231304
|
+
id: "cde8c82463b6414ca06e46b9633f52a6",
|
|
231305
|
+
name: "Account WAF Write",
|
|
231306
|
+
description: "grants write access to account waf",
|
|
231307
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231308
|
+
},
|
|
231309
|
+
{
|
|
231310
|
+
id: "3e4e20ee40b9475dae22201c468fdb70",
|
|
231311
|
+
name: "Account Waiting Rooms Read",
|
|
231312
|
+
description: "Grants read access to Waiting Rooms\n",
|
|
231313
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231314
|
+
},
|
|
231315
|
+
{
|
|
231316
|
+
id: "a7a233f9604845c787d4c8c39ac09c21",
|
|
231317
|
+
name: "Account: SSL and Certificates Read",
|
|
231318
|
+
description: "Grants read access to SSL MTLS certificates or Certificate Store",
|
|
231319
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231320
|
+
},
|
|
231321
|
+
{
|
|
231322
|
+
id: "db37e5f1cb1a4e1aabaef8deaea43575",
|
|
231323
|
+
name: "Account: SSL and Certificates Write",
|
|
231324
|
+
description: "Grants read and write access to SSL MTLS certificates or Certificate Store",
|
|
231325
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231326
|
+
},
|
|
231327
|
+
{
|
|
231328
|
+
id: "d07270cea5484b08ad6440c985af2148",
|
|
231329
|
+
name: "Address Maps Read",
|
|
231330
|
+
description: "Grants read access to Address Maps",
|
|
231331
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231332
|
+
},
|
|
231333
|
+
{
|
|
231334
|
+
id: "6ffe7f4299db4d4cb54f64e0eb12a456",
|
|
231335
|
+
name: "Address Maps Write",
|
|
231336
|
+
description: "Grants write access to Address Maps",
|
|
231337
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231338
|
+
},
|
|
231339
|
+
{
|
|
231340
|
+
id: "151803815e4f47de854c2fb7f8284d57",
|
|
231341
|
+
name: "Agents Gateway Read",
|
|
231342
|
+
description: "Grants access to reading Agents Gateway",
|
|
231343
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231344
|
+
},
|
|
231345
|
+
{
|
|
231346
|
+
id: "82748b814dcd46b9b3e66b8151ba5e95",
|
|
231347
|
+
name: "Agents Gateway Run",
|
|
231348
|
+
description: "Grants access to running Agents Gateway",
|
|
231349
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231350
|
+
},
|
|
231351
|
+
{
|
|
231352
|
+
id: "e84fd345697c4036a14e7810da036e1a",
|
|
231353
|
+
name: "Agents Gateway Write",
|
|
231354
|
+
description: "Grants access to reading and editing Agents Gateway",
|
|
231355
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231356
|
+
},
|
|
231357
|
+
{
|
|
231358
|
+
id: "f3604047d46144d2a3e9cf4ac99d7f16",
|
|
231359
|
+
name: "Allow Request Tracer Read",
|
|
231360
|
+
description: "Allows read access to request tracer API",
|
|
231361
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231362
|
+
},
|
|
231363
|
+
{
|
|
231364
|
+
id: "9c88f9c5bce24ce7af9a958ba9c504db",
|
|
231365
|
+
name: "Analytics Read",
|
|
231366
|
+
description: "Grants read access to analytics",
|
|
231367
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231368
|
+
},
|
|
231369
|
+
{
|
|
231370
|
+
id: "d79c5e2a405b4516a322432287d40c31",
|
|
231371
|
+
name: "Application Security Reports Read",
|
|
231372
|
+
description: "Can read Application Security Reports",
|
|
231373
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231374
|
+
},
|
|
231375
|
+
{
|
|
231376
|
+
id: "094547ab6e77498c8c4dfa87fadd5c51",
|
|
231377
|
+
name: "Apps Write",
|
|
231378
|
+
description: "Grants full access to Cloudflare Apps",
|
|
231379
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231380
|
+
},
|
|
231381
|
+
{
|
|
231382
|
+
id: "d7887c7a417e4cf2a69f1d01c1a1dc3b",
|
|
231383
|
+
name: "Auto Rag Read",
|
|
231384
|
+
description: "Grants access to reading data from Auto Rag",
|
|
231385
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231386
|
+
},
|
|
231387
|
+
{
|
|
231388
|
+
id: "7fb8d27511b34d02994d005b520b679f",
|
|
231389
|
+
name: "Auto Rag Write",
|
|
231390
|
+
description: "Grants access to reading and writing data from Auto Rag",
|
|
231391
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231392
|
+
},
|
|
231393
|
+
{
|
|
231394
|
+
id: "234108c786084936a381bb19b7f4ea65",
|
|
231395
|
+
name: "Auto Rag Write Run Engine",
|
|
231396
|
+
description: "Grants access to run Auto RAG engine",
|
|
231397
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231398
|
+
},
|
|
231399
|
+
{
|
|
231400
|
+
id: "7cf72faf220841aabcfdfab81c43c4f6",
|
|
231401
|
+
name: "Billing Read",
|
|
231402
|
+
description: "Grants read access to billing profile, subscriptions, usage data and access to fetch invoices and entitlements",
|
|
231403
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231404
|
+
},
|
|
231405
|
+
{
|
|
231406
|
+
id: "6c80e02421494afc9ae14414ed442632",
|
|
231407
|
+
name: "Billing Write",
|
|
231408
|
+
description: "Grants write access to billing profile, subscriptions, and access to fetch invoices and entitlements",
|
|
231409
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231410
|
+
},
|
|
231411
|
+
{
|
|
231412
|
+
id: "51be404b56244056868226263a44a632",
|
|
231413
|
+
name: "Bot Management Feedback Report Read",
|
|
231414
|
+
description: "Grants read access to BOT Management Feedback Reports",
|
|
231415
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231416
|
+
},
|
|
231417
|
+
{
|
|
231418
|
+
id: "2002629aaff0454085bf5a201ed70a72",
|
|
231419
|
+
name: "Bot Management Feedback Report Write",
|
|
231420
|
+
description: "Grants write access to BOT Management Feedback Reports",
|
|
231421
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231422
|
+
},
|
|
231423
|
+
{
|
|
231424
|
+
id: "07bea2220b2343fa9fae15656c0d8e88",
|
|
231425
|
+
name: "Bot Management Read",
|
|
231426
|
+
description: "Grants read access to BOT Management",
|
|
231427
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231428
|
+
},
|
|
231429
|
+
{
|
|
231430
|
+
id: "3b94c49258ec4573b06d51d99b6416c0",
|
|
231431
|
+
name: "Bot Management Write",
|
|
231432
|
+
description: "Grants write access to BOT Management",
|
|
231433
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231434
|
+
},
|
|
231435
|
+
{
|
|
231436
|
+
id: "374b03fa229f4eb6b011bb1cd7f235ee",
|
|
231437
|
+
name: "Browser Rendering Read",
|
|
231438
|
+
description: "Grants read access to Browser Rendering API",
|
|
231439
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231440
|
+
},
|
|
231441
|
+
{
|
|
231442
|
+
id: "adddda876faa4a0590f1b23a038976e4",
|
|
231443
|
+
name: "Browser Rendering Write",
|
|
231444
|
+
description: "Grants write access to Browser Rendering API",
|
|
231445
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231446
|
+
},
|
|
231447
|
+
{
|
|
231448
|
+
id: "da5fe84b9c5446a0a5955b673fafa288",
|
|
231449
|
+
name: "CASB Read",
|
|
231450
|
+
description: "Grants read access to Cloudflare CASB",
|
|
231451
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231452
|
+
},
|
|
231453
|
+
{
|
|
231454
|
+
id: "b9ed086b20864ad89c5aac24cdd02365",
|
|
231455
|
+
name: "CASB Write",
|
|
231456
|
+
description: "Grants write access to Cloudflare CASB",
|
|
231457
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231458
|
+
},
|
|
231459
|
+
{
|
|
231460
|
+
id: "47b936e2027140c0a474cac8887b8c29",
|
|
231461
|
+
name: "CF Agents Read",
|
|
231462
|
+
description: "Grants read access to CF Agents",
|
|
231463
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231464
|
+
},
|
|
231465
|
+
{
|
|
231466
|
+
id: "cb142f7fbc3540f0bade0cbe75f606dc",
|
|
231467
|
+
name: "CF Agents Write",
|
|
231468
|
+
description: "Grants write access to CF Agents",
|
|
231469
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231470
|
+
},
|
|
231471
|
+
{
|
|
231472
|
+
id: "e17beae8b8cb423a99b1730f21238bed",
|
|
231473
|
+
name: "Cache Purge",
|
|
231474
|
+
description: "Grants access to purge cache",
|
|
231475
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231476
|
+
},
|
|
231477
|
+
{
|
|
231478
|
+
id: "3245da1cf36c45c3847bb9b483c62f97",
|
|
231479
|
+
name: "Cache Settings Read",
|
|
231480
|
+
description: "Grants read access to cache settings phase",
|
|
231481
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231482
|
+
},
|
|
231483
|
+
{
|
|
231484
|
+
id: "9ff81cbbe65c400b97d92c3c1033cab6",
|
|
231485
|
+
name: "Cache Settings Write",
|
|
231486
|
+
description: "Grants write access to cache settings phase",
|
|
231487
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231488
|
+
},
|
|
231489
|
+
{
|
|
231490
|
+
id: "686ab9a8b3854f25a1474f302d14b68d",
|
|
231491
|
+
name: "Calls Read",
|
|
231492
|
+
description: "Grants read access to Calls configuration",
|
|
231493
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231494
|
+
},
|
|
231495
|
+
{
|
|
231496
|
+
id: "b711942448db4b0aace44d1312f9fdb0",
|
|
231497
|
+
name: "Calls Write",
|
|
231498
|
+
description: "Grants read/write access to Calls configuration",
|
|
231499
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231500
|
+
},
|
|
231501
|
+
{
|
|
231502
|
+
id: "9ade9cfc8f8949bcb2371be2f0ec8db1",
|
|
231503
|
+
name: "China Network Steering Read",
|
|
231504
|
+
description: "Grants read access to China Network Steering",
|
|
231505
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231506
|
+
},
|
|
231507
|
+
{
|
|
231508
|
+
id: "c6f6338ceae545d0b90daaa1fed855e6",
|
|
231509
|
+
name: "China Network Steering Write",
|
|
231510
|
+
description: "Grants write access to China Network Steering",
|
|
231511
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231512
|
+
},
|
|
231513
|
+
{
|
|
231514
|
+
id: "0661ff47aa3a4786beab3b8128e0cd24",
|
|
231515
|
+
name: "Cloud Connector Read",
|
|
231516
|
+
description: "Grants read access to Cloud Connector",
|
|
231517
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231518
|
+
},
|
|
231519
|
+
{
|
|
231520
|
+
id: "eafd71286d0e4fdca404a7b4d203c5c9",
|
|
231521
|
+
name: "Cloud Connector Write",
|
|
231522
|
+
description: "Grants write access to Cloud Connector",
|
|
231523
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231524
|
+
},
|
|
231525
|
+
{
|
|
231526
|
+
id: "9e5a9912439940fca5898b5b8dc6d1a5",
|
|
231527
|
+
name: "Cloud Email Security: Read",
|
|
231528
|
+
description: "Grants read access to Cloudflare Cloud Email Security",
|
|
231529
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231530
|
+
},
|
|
231531
|
+
{
|
|
231532
|
+
id: "a3567c13e074447fb101babac3463566",
|
|
231533
|
+
name: "Cloud Email Security: Write",
|
|
231534
|
+
description: "Grants write access to Cloudflare Cloud Email Security",
|
|
231535
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231536
|
+
},
|
|
231537
|
+
{
|
|
231538
|
+
id: "65ec50cbde3d4c838bbe7500024d5745",
|
|
231539
|
+
name: "Cloudchamber Read",
|
|
231540
|
+
description: "Grants read access to Cloudchamber deployments",
|
|
231541
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231542
|
+
},
|
|
231543
|
+
{
|
|
231544
|
+
id: "26ce6c7d18a346528e7b905d5e269866",
|
|
231545
|
+
name: "Cloudchamber Write",
|
|
231546
|
+
description: "Grants write access to Cloudchamber deployments",
|
|
231547
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231548
|
+
},
|
|
231549
|
+
{
|
|
231550
|
+
id: "00ec19a0d4fa4e4aae23b50bf04c0630",
|
|
231551
|
+
name: "Cloudflare CDS Compute Account Read",
|
|
231552
|
+
description: "Grants read access to Cloudflare CDS compute account resources",
|
|
231553
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231554
|
+
},
|
|
231555
|
+
{
|
|
231556
|
+
id: "9bf884ba0de445dab37ea4a3e1a2c9f1",
|
|
231557
|
+
name: "Cloudflare CDS Compute Account Write",
|
|
231558
|
+
description: "Grants write access to Cloudflare CDS compute account resources",
|
|
231559
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231560
|
+
},
|
|
231561
|
+
{
|
|
231562
|
+
id: "3a1e1ef09dd34271bb44fc4c6a419952",
|
|
231563
|
+
name: "Cloudflare DEX",
|
|
231564
|
+
description: "Grants access to Cloudflare DEX",
|
|
231565
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231566
|
+
},
|
|
231567
|
+
{
|
|
231568
|
+
id: "3b376e0aa52c41cbb6afc9cab945afa8",
|
|
231569
|
+
name: "Cloudflare DEX Read",
|
|
231570
|
+
description: "Grants read access to Cloudflare DEX",
|
|
231571
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231572
|
+
},
|
|
231573
|
+
{
|
|
231574
|
+
id: "92c8dcd551cc42a6a57a54e8f8d3f3e3",
|
|
231575
|
+
name: "Cloudflare DEX Write",
|
|
231576
|
+
description: "Grants full access to Cloudflare DEX",
|
|
231577
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231578
|
+
},
|
|
231579
|
+
{
|
|
231580
|
+
id: "1cd960c063a0448481343372c963d8c7",
|
|
231581
|
+
name: "Cloudflare One Connector: WARP Read",
|
|
231582
|
+
description: "Grants read access to WARP Connectors",
|
|
231583
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231584
|
+
},
|
|
231585
|
+
{
|
|
231586
|
+
id: "5b5c774a5d174ca88d046c8889648b3f",
|
|
231587
|
+
name: "Cloudflare One Connector: WARP Write",
|
|
231588
|
+
description: "Grants write access to WARP Connectors",
|
|
231589
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231590
|
+
},
|
|
231591
|
+
{
|
|
231592
|
+
id: "c1968d31028d4239976ec3bc4750bbf6",
|
|
231593
|
+
name: "Cloudflare One Connector: cloudflared Read",
|
|
231594
|
+
description: "Grants read access to cloudflared connectors",
|
|
231595
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231596
|
+
},
|
|
231597
|
+
{
|
|
231598
|
+
id: "037b9e348b3b42d4b46ea2fcb1cfb3e7",
|
|
231599
|
+
name: "Cloudflare One Connector: cloudflared Write",
|
|
231600
|
+
description: "Grants write access to cloudflared connectors",
|
|
231601
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231602
|
+
},
|
|
231603
|
+
{
|
|
231604
|
+
id: "07cf1c1952a84b13b2cd542f3d2f29ab",
|
|
231605
|
+
name: "Cloudflare One Connectors Read",
|
|
231606
|
+
description: "Grants read access to Cloudflare One connectors",
|
|
231607
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231608
|
+
},
|
|
231609
|
+
{
|
|
231610
|
+
id: "a7030c9c98d544e092d8b099fabb1f06",
|
|
231611
|
+
name: "Cloudflare One Connectors Write",
|
|
231612
|
+
description: "Grants write access to Cloudflare One connectors",
|
|
231613
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231614
|
+
},
|
|
231615
|
+
{
|
|
231616
|
+
id: "4f1276d1e7e34c32a5012bbe02ece86d",
|
|
231617
|
+
name: "Cloudflare One Networks Read",
|
|
231618
|
+
description: "Grants read access to Cloudflare One routes, subnets, and virtual networks",
|
|
231619
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231620
|
+
},
|
|
231621
|
+
{
|
|
231622
|
+
id: "e2980d9241cf4939bbbd74fdc43b9651",
|
|
231623
|
+
name: "Cloudflare One Networks Write",
|
|
231624
|
+
description: "Grants write access to Cloudflare One routes, subnets, and virtual networks",
|
|
231625
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231626
|
+
},
|
|
231627
|
+
{
|
|
231628
|
+
id: "efea2ab8357b47888938f101ae5e053f",
|
|
231629
|
+
name: "Cloudflare Tunnel Read",
|
|
231630
|
+
description: "Grants access to view Cloudflare Tunnels",
|
|
231631
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231632
|
+
},
|
|
231633
|
+
{
|
|
231634
|
+
id: "c07321b023e944ff818fec44d8203567",
|
|
231635
|
+
name: "Cloudflare Tunnel Write",
|
|
231636
|
+
description: "Grants access to create and delete Cloudflare Tunnels",
|
|
231637
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231638
|
+
},
|
|
231639
|
+
{
|
|
231640
|
+
id: "e0e0edfbe8834df3b51424ba4fb7bb5f",
|
|
231641
|
+
name: "Cloudflare Zero Trust Secure DNS Locations Write",
|
|
231642
|
+
description: "Grants access to create and edit secure DNS Locations only in teams (Zero Trust)",
|
|
231643
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231644
|
+
},
|
|
231645
|
+
{
|
|
231646
|
+
id: "cf9353ed7978436e8fb20c03fce26449",
|
|
231647
|
+
name: "Cloudforce One Read",
|
|
231648
|
+
description: "Grants read access to Cloudforce One",
|
|
231649
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231650
|
+
},
|
|
231651
|
+
{
|
|
231652
|
+
id: "677767156f294485b497a8f103172e7d",
|
|
231653
|
+
name: "Cloudforce One Write",
|
|
231654
|
+
description: "Grants read access to Cloudforce One",
|
|
231655
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231656
|
+
},
|
|
231657
|
+
{
|
|
231658
|
+
id: "20e5ea084b2f491c86b8d8d90abff905",
|
|
231659
|
+
name: "Config Settings Read",
|
|
231660
|
+
description: "Grants read access to config settings phase",
|
|
231661
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231662
|
+
},
|
|
231663
|
+
{
|
|
231664
|
+
id: "06f0526e6e464647bd61b63c54935235",
|
|
231665
|
+
name: "Config Settings Write",
|
|
231666
|
+
description: "Grants write access to config settings phase",
|
|
231667
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231668
|
+
},
|
|
231669
|
+
{
|
|
231670
|
+
id: "77efc2c0724d4c4eb94bfd9656247130",
|
|
231671
|
+
name: "Connectivity Directory Admin",
|
|
231672
|
+
description: "Can view, edit, create, and delete Connectivity Directory Services, including the ability to create Services that bind to Cloudflare Tunnel",
|
|
231673
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231674
|
+
},
|
|
231675
|
+
{
|
|
231676
|
+
id: "95fa65ba51fd49c4a6ac4c8c78ebac93",
|
|
231677
|
+
name: "Connectivity Directory Bind",
|
|
231678
|
+
description: "Can read, list, and bind to Connectivity Directory services, as well as read and list Cloudflare Tunnels",
|
|
231679
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231680
|
+
},
|
|
231681
|
+
{
|
|
231682
|
+
id: "8764961c1edb4274be129d630b0b2671",
|
|
231683
|
+
name: "Connectivity Directory Read",
|
|
231684
|
+
description: "Can view Connectivity Directory services and Cloudflare Tunnels",
|
|
231685
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231686
|
+
},
|
|
231687
|
+
{
|
|
231688
|
+
id: "eeffa4d16812430cb4a0ae9e7f46fc24",
|
|
231689
|
+
name: "Constellation Read",
|
|
231690
|
+
description: "Grants read access to Constellation configuration and models",
|
|
231691
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231692
|
+
},
|
|
231693
|
+
{
|
|
231694
|
+
id: "7c81856725af47ce89a790d5fb36f362",
|
|
231695
|
+
name: "Constellation Write",
|
|
231696
|
+
description: "Grants write access to Constellation configuration and models",
|
|
231697
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231698
|
+
},
|
|
231699
|
+
{
|
|
231700
|
+
id: "a2b55cd504d44ef18b7ba6a7f2b8fbb1",
|
|
231701
|
+
name: "Custom Errors Read",
|
|
231702
|
+
description: "Grants read access to custom errors phase",
|
|
231703
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231704
|
+
},
|
|
231705
|
+
{
|
|
231706
|
+
id: "a9dba34cf5814d4ab2007b4ada0045bd",
|
|
231707
|
+
name: "Custom Errors Write",
|
|
231708
|
+
description: "Grants write access to custom errors phase",
|
|
231709
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231710
|
+
},
|
|
231711
|
+
{
|
|
231712
|
+
id: "a2431ca73b7d41f99c53303027392586",
|
|
231713
|
+
name: "Custom Pages Read",
|
|
231714
|
+
description: "Grants read access to custom pages",
|
|
231715
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231716
|
+
},
|
|
231717
|
+
{
|
|
231718
|
+
id: "c244ec076974430a88bda1cdd992d0d9",
|
|
231719
|
+
name: "Custom Pages Write",
|
|
231720
|
+
description: "Grants write access to custom pages",
|
|
231721
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231722
|
+
},
|
|
231723
|
+
{
|
|
231724
|
+
id: "192192df92ee43ac90f2aeeffce67e35",
|
|
231725
|
+
name: "D1 Read",
|
|
231726
|
+
description: "Grants read access to D1 configuration and SQL queries",
|
|
231727
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231728
|
+
},
|
|
231729
|
+
{
|
|
231730
|
+
id: "09b2857d1c31407795e75e3fed8617a1",
|
|
231731
|
+
name: "D1 Write",
|
|
231732
|
+
description: "Grants write access to D1 configuration and SQL queries",
|
|
231733
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231734
|
+
},
|
|
231735
|
+
{
|
|
231736
|
+
id: "dee7c22a57674abea8f942110b094717",
|
|
231737
|
+
name: "DDoS Botnet Feed Read",
|
|
231738
|
+
description: "Grants read access to Botnet Feed reports",
|
|
231739
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231740
|
+
},
|
|
231741
|
+
{
|
|
231742
|
+
id: "0caa90c9b186447397c8b00358d34a76",
|
|
231743
|
+
name: "DDoS Botnet Feed Write",
|
|
231744
|
+
description: "Grants write access to Botnet Feed configuration",
|
|
231745
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231746
|
+
},
|
|
231747
|
+
{
|
|
231748
|
+
id: "af1c363c35ba45b9a8c682ae50eb3f99",
|
|
231749
|
+
name: "DDoS Protection Read",
|
|
231750
|
+
description: "Grants read access to DDoS protection",
|
|
231751
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231752
|
+
},
|
|
231753
|
+
{
|
|
231754
|
+
id: "d44ed14bcc4340b194d3824d60edad3f",
|
|
231755
|
+
name: "DDoS Protection Write",
|
|
231756
|
+
description: "Grants write access to DDoS protection",
|
|
231757
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231758
|
+
},
|
|
231759
|
+
{
|
|
231760
|
+
id: "5f48a472240a4b489a21d43bd19a06e1",
|
|
231761
|
+
name: "DNS Firewall Read",
|
|
231762
|
+
description: "Grants read access to DNS Firewall",
|
|
231763
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231764
|
+
},
|
|
231765
|
+
{
|
|
231766
|
+
id: "da6d2d6f2ec8442eaadda60d13f42bca",
|
|
231767
|
+
name: "DNS Firewall Write",
|
|
231768
|
+
description: "Grants write access to DNS Firewall",
|
|
231769
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231770
|
+
},
|
|
231771
|
+
{
|
|
231772
|
+
id: "82e64a83756745bbbb1c9c2701bf816b",
|
|
231773
|
+
name: "DNS Read",
|
|
231774
|
+
description: "Grants read access to DNS",
|
|
231775
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231776
|
+
},
|
|
231777
|
+
{
|
|
231778
|
+
id: "95d69e8d6d5144bfb0923667355d9f11",
|
|
231779
|
+
name: "DNS View Read",
|
|
231780
|
+
description: "Grants read access to DNS Views",
|
|
231781
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231782
|
+
},
|
|
231783
|
+
{
|
|
231784
|
+
id: "5b7aedd821a548b9bf5a2acabbce98c7",
|
|
231785
|
+
name: "DNS View Write",
|
|
231786
|
+
description: "Grants write access to DNS Views",
|
|
231787
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231788
|
+
},
|
|
231789
|
+
{
|
|
231790
|
+
id: "4755a26eedb94da69e1066d98aa820be",
|
|
231791
|
+
name: "DNS Write",
|
|
231792
|
+
description: "Grants write access to DNS",
|
|
231793
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231794
|
+
},
|
|
231795
|
+
{
|
|
231796
|
+
id: "e199d584e69344eba202452019deafe3",
|
|
231797
|
+
name: "Disable ESC Read",
|
|
231798
|
+
description: "Grants read access to Cloudflare Disable ESC",
|
|
231799
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231800
|
+
},
|
|
231801
|
+
{
|
|
231802
|
+
id: "29eefa0805f94fdfae2b058b5b52f319",
|
|
231803
|
+
name: "Disable ESC Read",
|
|
231804
|
+
description: "Grants read access to Cloudflare Disable ESC",
|
|
231805
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231806
|
+
},
|
|
231807
|
+
{
|
|
231808
|
+
id: "9110d9dd749e464fb9f3961a2064efc5",
|
|
231809
|
+
name: "Disable ESC Write",
|
|
231810
|
+
description: "Grants write access to Cloudflare Disable ESC",
|
|
231811
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231812
|
+
},
|
|
231813
|
+
{
|
|
231814
|
+
id: "18555e39c5ba40d284dde87eda845a90",
|
|
231815
|
+
name: "Disable ESC Write",
|
|
231816
|
+
description: "Grants write access to Cloudflare Disable ESC",
|
|
231817
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231818
|
+
},
|
|
231819
|
+
{
|
|
231820
|
+
id: "f0235726de25444a84f704b7c93afadf",
|
|
231821
|
+
name: "Domain API Gateway",
|
|
231822
|
+
description: "Grants full access to API-Gateway Management (including API Shield)",
|
|
231823
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231824
|
+
},
|
|
231825
|
+
{
|
|
231826
|
+
id: "6ced5d0d69b1422396909a62c38ab41b",
|
|
231827
|
+
name: "Domain API Gateway Read",
|
|
231828
|
+
description: "Grants read access to API-Gateway Management (including API Shield)",
|
|
231829
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231830
|
+
},
|
|
231831
|
+
{
|
|
231832
|
+
id: "6134079371904d8ebd77931c8ca07e50",
|
|
231833
|
+
name: "Domain Page Shield",
|
|
231834
|
+
description: "Grants write access to Page Shield",
|
|
231835
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231836
|
+
},
|
|
231837
|
+
{
|
|
231838
|
+
id: "945315185a8f40518bf3e9e6d0bee126",
|
|
231839
|
+
name: "Domain Page Shield Read",
|
|
231840
|
+
description: "Grants read access to Page Shield",
|
|
231841
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231842
|
+
},
|
|
231843
|
+
{
|
|
231844
|
+
id: "d8e12db741544d1586ec1d6f5d3c7786",
|
|
231845
|
+
name: "Dynamic URL Redirects Read",
|
|
231846
|
+
description: "Grants read access to Dynamic URL Redirect",
|
|
231847
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231848
|
+
},
|
|
231849
|
+
{
|
|
231850
|
+
id: "74e1036f577a48528b78d2413b40538d",
|
|
231851
|
+
name: "Dynamic URL Redirects Write",
|
|
231852
|
+
description: "Grants write access to Dynamic URL Redirect",
|
|
231853
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231854
|
+
},
|
|
231855
|
+
{
|
|
231856
|
+
id: "5272e56105d04b5897466995b9bd4643",
|
|
231857
|
+
name: "Email Routing Addresses Read",
|
|
231858
|
+
description: "Grants read access to Email Routing target addresses\n",
|
|
231859
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231860
|
+
},
|
|
231861
|
+
{
|
|
231862
|
+
id: "e4589eb09e63436686cd64252a3aebeb",
|
|
231863
|
+
name: "Email Routing Addresses Write",
|
|
231864
|
+
description: "Grants full access to Email Routing target addresses\n",
|
|
231865
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231866
|
+
},
|
|
231867
|
+
{
|
|
231868
|
+
id: "1b600d9d8062443e986a973f097e728a",
|
|
231869
|
+
name: "Email Routing Rules Read",
|
|
231870
|
+
description: "Grants read access to Email Routing rules\n",
|
|
231871
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231872
|
+
},
|
|
231873
|
+
{
|
|
231874
|
+
id: "79b3ec0d10ce4148a8f8bdc0cc5f97f2",
|
|
231875
|
+
name: "Email Routing Rules Write",
|
|
231876
|
+
description: "Grants full access to Email Routing rules\n",
|
|
231877
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231878
|
+
},
|
|
231879
|
+
{
|
|
231880
|
+
id: "1047880d37b649b49db4a504a245896f",
|
|
231881
|
+
name: "Email Security DMARC Reports Read",
|
|
231882
|
+
description: "Grants read access to Email Security dmarc reports\n",
|
|
231883
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231884
|
+
},
|
|
231885
|
+
{
|
|
231886
|
+
id: "2eee71c9364c4cacaf469e8370f09056",
|
|
231887
|
+
name: "Email Security DMARC Reports Write",
|
|
231888
|
+
description: "Grants full access to Email Security dmarc reports\n",
|
|
231889
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231890
|
+
},
|
|
231891
|
+
{
|
|
231892
|
+
id: "2d5b4b1f6c89487bb7184c2c1dcd3bf1",
|
|
231893
|
+
name: "Email Sending Read",
|
|
231894
|
+
description: "Grants access to reading data from Email Sending",
|
|
231895
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231896
|
+
},
|
|
231897
|
+
{
|
|
231898
|
+
id: "5df633d6b41c42bcaf5b4a62b9d14b64",
|
|
231899
|
+
name: "Email Sending Write",
|
|
231900
|
+
description: "Grants access to reading and writing data from Email Sending",
|
|
231901
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231902
|
+
},
|
|
231903
|
+
{
|
|
231904
|
+
id: "4ec32dfcb35641c5bb32d5ef1ab963b4",
|
|
231905
|
+
name: "Firewall Services Read",
|
|
231906
|
+
description: "Grants read access to Firewall resources",
|
|
231907
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231908
|
+
},
|
|
231909
|
+
{
|
|
231910
|
+
id: "43137f8d07884d3198dc0ee77ca6e79b",
|
|
231911
|
+
name: "Firewall Services Write",
|
|
231912
|
+
description: "Grants write access to Firewall resources",
|
|
231913
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231914
|
+
},
|
|
231915
|
+
{
|
|
231916
|
+
id: "a2c61201f92a4e06a901f156795388a9",
|
|
231917
|
+
name: "Firewall for AI Read",
|
|
231918
|
+
description: "Grants read access to Firewall for AI settings.",
|
|
231919
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231920
|
+
},
|
|
231921
|
+
{
|
|
231922
|
+
id: "5af6a2f284144e95a89840408439adef",
|
|
231923
|
+
name: "Firewall for AI Write",
|
|
231924
|
+
description: "Grants full access to Firewall for AI settings.",
|
|
231925
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231926
|
+
},
|
|
231927
|
+
{
|
|
231928
|
+
id: "0d24e472a9654642a97df736e8b0d980",
|
|
231929
|
+
name: "Fraud Detection Read",
|
|
231930
|
+
description: "Grants read access to Fraud Detection",
|
|
231931
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231932
|
+
},
|
|
231933
|
+
{
|
|
231934
|
+
id: "685f9605fd4e44ec937b6a0db658e629",
|
|
231935
|
+
name: "Fraud Detection Write",
|
|
231936
|
+
description: "Grants write access to Fraud Detection",
|
|
231937
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231938
|
+
},
|
|
231939
|
+
{
|
|
231940
|
+
id: "6b60a5a87cae475da7e76e77e4209dd5",
|
|
231941
|
+
name: "HTTP Applications Read",
|
|
231942
|
+
description: "Grants read-only access to HTTP Applications",
|
|
231943
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231944
|
+
},
|
|
231945
|
+
{
|
|
231946
|
+
id: "4736c02a9f224c8196ae5b127beae78c",
|
|
231947
|
+
name: "HTTP Applications Write",
|
|
231948
|
+
description: "Grants full access to HTTP Applications",
|
|
231949
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231950
|
+
},
|
|
231951
|
+
{
|
|
231952
|
+
id: "c49f8d15f9f44885a544d945ef5aa6ae",
|
|
231953
|
+
name: "HTTP DDoS Managed Ruleset Read",
|
|
231954
|
+
description: "Grants read access to HTTP DDoS Managed Ruleset",
|
|
231955
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231956
|
+
},
|
|
231957
|
+
{
|
|
231958
|
+
id: "b88a3aa889474524bccea5cf18f122bf",
|
|
231959
|
+
name: "HTTP DDoS Managed Ruleset Write",
|
|
231960
|
+
description: "Grants write access to HTTP DDoS Managed Ruleset",
|
|
231961
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231962
|
+
},
|
|
231963
|
+
{
|
|
231964
|
+
id: "fac65912d42144aa86b7dd33281bf79e",
|
|
231965
|
+
name: "Health Checks Read",
|
|
231966
|
+
description: "Grants read access to Health Checks",
|
|
231967
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231968
|
+
},
|
|
231969
|
+
{
|
|
231970
|
+
id: "e0dc25a0fbdf4286b1ea100e3256b0e3",
|
|
231971
|
+
name: "Health Checks Write",
|
|
231972
|
+
description: "Grants write access to Health Checks",
|
|
231973
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
231974
|
+
},
|
|
231975
|
+
{
|
|
231976
|
+
id: "4d62ccf834df44808bc9283d65c4e4e9",
|
|
231977
|
+
name: "Hyperdrive Read",
|
|
231978
|
+
description: "Grants read access to Hyperdrive configuration",
|
|
231979
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231980
|
+
},
|
|
231981
|
+
{
|
|
231982
|
+
id: "721b2f51fba74871bd361de65aeb7e03",
|
|
231983
|
+
name: "Hyperdrive Write",
|
|
231984
|
+
description: "Grants write access to Hyperdrive configuration",
|
|
231985
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231986
|
+
},
|
|
231987
|
+
{
|
|
231988
|
+
id: "212c9ff247b9406d990c017482afb3a5",
|
|
231989
|
+
name: "IOT Read",
|
|
231990
|
+
description: "Grants read access to IOT devices",
|
|
231991
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231992
|
+
},
|
|
231993
|
+
{
|
|
231994
|
+
id: "865ebd55bc6d4b109de6813eccfefd13",
|
|
231995
|
+
name: "IOT Write",
|
|
231996
|
+
description: "Grants full access to IOT devices",
|
|
231997
|
+
scopes: ["com.cloudflare.api.account"]
|
|
231998
|
+
},
|
|
231999
|
+
{
|
|
232000
|
+
id: "e763fae6ee95443b8f56f19213c5f2a5",
|
|
232001
|
+
name: "IP Prefixes: BGP On Demand Read",
|
|
232002
|
+
description: "Grants access to read ip prefix bgp configuration",
|
|
232003
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232004
|
+
},
|
|
232005
|
+
{
|
|
232006
|
+
id: "2ae23e4939d54074b7d252d27ce75a77",
|
|
232007
|
+
name: "IP Prefixes: BGP On Demand Write",
|
|
232008
|
+
description: "Grants access to read and change ip prefix bgp configuration",
|
|
232009
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232010
|
+
},
|
|
232011
|
+
{
|
|
232012
|
+
id: "27beb7f8333b41e2b946f0e23cd8091e",
|
|
232013
|
+
name: "IP Prefixes: Read",
|
|
232014
|
+
description: "Grants access to read ip prefix settings",
|
|
232015
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232016
|
+
},
|
|
232017
|
+
{
|
|
232018
|
+
id: "92b8234e99f64e05bbbc59e1dc0f76b6",
|
|
232019
|
+
name: "IP Prefixes: Write",
|
|
232020
|
+
description: "Grants access to read/write ip prefix settings",
|
|
232021
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232022
|
+
},
|
|
232023
|
+
{
|
|
232024
|
+
id: "0cf6473ad41449e7b7b743d14fc20c60",
|
|
232025
|
+
name: "Images Read",
|
|
232026
|
+
description: "Grants read access to Images",
|
|
232027
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232028
|
+
},
|
|
232029
|
+
{
|
|
232030
|
+
id: "618ec6c64a3a42f8b08bdcb147ded4e4",
|
|
232031
|
+
name: "Images Write",
|
|
232032
|
+
description: "Grants write access to upload Images",
|
|
232033
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232034
|
+
},
|
|
232035
|
+
{
|
|
232036
|
+
id: "c6f97eeee13345db8cc00af0953a42de",
|
|
232037
|
+
name: "Integration Write",
|
|
232038
|
+
description: "Grants write access to integrations",
|
|
232039
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232040
|
+
},
|
|
232041
|
+
{
|
|
232042
|
+
id: "df1577df30ee46268f9470952d7b0cdf",
|
|
232043
|
+
name: "Intel Read",
|
|
232044
|
+
description: "Grants read access to Intel API",
|
|
232045
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232046
|
+
},
|
|
232047
|
+
{
|
|
232048
|
+
id: "92209474242d459690e2cdb1985eaa6c",
|
|
232049
|
+
name: "Intel Write",
|
|
232050
|
+
description: "Grants write access to Intel API",
|
|
232051
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232052
|
+
},
|
|
232053
|
+
{
|
|
232054
|
+
id: "4657621393f94f83b8ef94adba382e48",
|
|
232055
|
+
name: "L4 DDoS Managed Ruleset Read",
|
|
232056
|
+
description: "Grants read access to L4 DDoS Managed Ruleset",
|
|
232057
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232058
|
+
},
|
|
232059
|
+
{
|
|
232060
|
+
id: "7a4c3574054a4d0ba7c692893ba8bdd4",
|
|
232061
|
+
name: "L4 DDoS Managed Ruleset Write",
|
|
232062
|
+
description: "Grants write access to L4 DDoS Managed Ruleset",
|
|
232063
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232064
|
+
},
|
|
232065
|
+
{
|
|
232066
|
+
id: "59059f0c977b44f8b1c18e0aaf91c369",
|
|
232067
|
+
name: "Load Balancers Account Read",
|
|
232068
|
+
description: "Grants read access to account load balancers and associated resources",
|
|
232069
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232070
|
+
},
|
|
232071
|
+
{
|
|
232072
|
+
id: "419ec42810af4659ade77716dbe47bc6",
|
|
232073
|
+
name: "Load Balancers Account Write",
|
|
232074
|
+
description: "Grants write access to account load balancers and associated resources",
|
|
232075
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232076
|
+
},
|
|
232077
|
+
{
|
|
232078
|
+
id: "e9a975f628014f1d85b723993116f7d5",
|
|
232079
|
+
name: "Load Balancers Read",
|
|
232080
|
+
description: "Grants read access to load balancers and associated resources",
|
|
232081
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232082
|
+
},
|
|
232083
|
+
{
|
|
232084
|
+
id: "6d7f2f5f5b1d4a0e9081fdc98d432fd1",
|
|
232085
|
+
name: "Load Balancers Write",
|
|
232086
|
+
description: "Grants write access to load balancers and associated resources",
|
|
232087
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232088
|
+
},
|
|
232089
|
+
{
|
|
232090
|
+
id: "9d24387c6e8544e2bc4024a03991339f",
|
|
232091
|
+
name: "Load Balancing: Monitors and Pools Read",
|
|
232092
|
+
description: "Grants read access to account level load balancer resources",
|
|
232093
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232094
|
+
},
|
|
232095
|
+
{
|
|
232096
|
+
id: "d2a1802cc9a34e30852f8b33869b2f3c",
|
|
232097
|
+
name: "Load Balancing: Monitors and Pools Write",
|
|
232098
|
+
description: "Grants write access to account level load balancer resources",
|
|
232099
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232100
|
+
},
|
|
232101
|
+
{
|
|
232102
|
+
id: "6a315a56f18441e59ed03352369ae956",
|
|
232103
|
+
name: "Logs Read",
|
|
232104
|
+
description: "Grants read access to logs and logpush jobs",
|
|
232105
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232106
|
+
},
|
|
232107
|
+
{
|
|
232108
|
+
id: "c4a30cd58c5d42619c86a3c36c441e2d",
|
|
232109
|
+
name: "Logs Read",
|
|
232110
|
+
description: "Grants read access to logs and logpush jobs",
|
|
232111
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232112
|
+
},
|
|
232113
|
+
{
|
|
232114
|
+
id: "96163bd1b0784f62b3e44ed8c2ab1eb6",
|
|
232115
|
+
name: "Logs Write",
|
|
232116
|
+
description: "Grants write access to logpush jobs",
|
|
232117
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232118
|
+
},
|
|
232119
|
+
{
|
|
232120
|
+
id: "3e0b5820118e47f3922f7c989e673882",
|
|
232121
|
+
name: "Logs Write",
|
|
232122
|
+
description: "Grants write access to logpush jobs",
|
|
232123
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232124
|
+
},
|
|
232125
|
+
{
|
|
232126
|
+
id: "b84a912ebb4a418888fec65f65c8ff3b",
|
|
232127
|
+
name: "MCP Portals Read",
|
|
232128
|
+
description: "Grants access to reading MCP Portals",
|
|
232129
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232130
|
+
},
|
|
232131
|
+
{
|
|
232132
|
+
id: "db3d398df73946acb755c05b69edfc30",
|
|
232133
|
+
name: "MCP Portals Write",
|
|
232134
|
+
description: "Grants access to reading and editing MCP Portals",
|
|
232135
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232136
|
+
},
|
|
232137
|
+
{
|
|
232138
|
+
id: "3a46c728a0a040d5a65cd8e2f3bc6935",
|
|
232139
|
+
name: "Magic Firewall Packet Captures - Read PCAPs API",
|
|
232140
|
+
description: "Grants read access to Packet Captures",
|
|
232141
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232142
|
+
},
|
|
232143
|
+
{
|
|
232144
|
+
id: "4ea7d6421801452dbf07cef853a5ef39",
|
|
232145
|
+
name: "Magic Firewall Packet Captures - Write PCAPs API",
|
|
232146
|
+
description: "Grants write access to Packet Captures",
|
|
232147
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232148
|
+
},
|
|
232149
|
+
{
|
|
232150
|
+
id: "02b71f12bb0748e9af8126494e181342",
|
|
232151
|
+
name: "Magic Firewall Read",
|
|
232152
|
+
description: "Grants read access to Magic Firewall",
|
|
232153
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232154
|
+
},
|
|
232155
|
+
{
|
|
232156
|
+
id: "8bd1dac84d3d43e7bfb43145f010a15c",
|
|
232157
|
+
name: "Magic Firewall Write",
|
|
232158
|
+
description: "Grants write access to Magic Firewall",
|
|
232159
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232160
|
+
},
|
|
232161
|
+
{
|
|
232162
|
+
id: "8e6ed1ef6e864ad0ae477ceffa5aa5eb",
|
|
232163
|
+
name: "Magic Network Monitoring Admin",
|
|
232164
|
+
description: "Grants admin access to MNM settings",
|
|
232165
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232166
|
+
},
|
|
232167
|
+
{
|
|
232168
|
+
id: "3d85e9514f944bb4912c5871d92e5af5",
|
|
232169
|
+
name: "Magic Network Monitoring Config Read",
|
|
232170
|
+
description: "Grants read access to MNM config and rules",
|
|
232171
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232172
|
+
},
|
|
232173
|
+
{
|
|
232174
|
+
id: "09c77baecb6341a2b1ca2c62b658d290",
|
|
232175
|
+
name: "Magic Network Monitoring Config Write",
|
|
232176
|
+
description: "Grants write access to MNM rules and update access to account settings",
|
|
232177
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232178
|
+
},
|
|
232179
|
+
{
|
|
232180
|
+
id: "967ecf860a244dd1911a0331a0af582a",
|
|
232181
|
+
name: "Magic Transit Read",
|
|
232182
|
+
description: "Grants read access to Magic Transit",
|
|
232183
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232184
|
+
},
|
|
232185
|
+
{
|
|
232186
|
+
id: "0bc09a3cd4b54605990df4e307f138e1",
|
|
232187
|
+
name: "Magic Transit Write",
|
|
232188
|
+
description: "Grants write access to Magic Transit",
|
|
232189
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232190
|
+
},
|
|
232191
|
+
{
|
|
232192
|
+
id: "17fc856c4ebe49d4bb70f8e4744398cf",
|
|
232193
|
+
name: "Magic WAN Read",
|
|
232194
|
+
description: "Grants read access to Magic WAN",
|
|
232195
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232196
|
+
},
|
|
232197
|
+
{
|
|
232198
|
+
id: "a1a7389ba7e441dba95852e10970fcc3",
|
|
232199
|
+
name: "Magic WAN Write",
|
|
232200
|
+
description: "Grants write access to Magic WAN",
|
|
232201
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232202
|
+
},
|
|
232203
|
+
{
|
|
232204
|
+
id: "319f5059d33a410da0fac4d35a716157",
|
|
232205
|
+
name: "Managed headers Read",
|
|
232206
|
+
description: "Grants read access to managed headers phases",
|
|
232207
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232208
|
+
},
|
|
232209
|
+
{
|
|
232210
|
+
id: "0fd9d56bc2da43ad8ea22d610dd8cab1",
|
|
232211
|
+
name: "Managed headers Write",
|
|
232212
|
+
description: "Grants write access to managed headers phases",
|
|
232213
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232214
|
+
},
|
|
232215
|
+
{
|
|
232216
|
+
id: "429a068902904c5a9ed9fc267c67da9a",
|
|
232217
|
+
name: "Mass URL Redirects Read",
|
|
232218
|
+
description: "Grants read access to Mass URL Redirect",
|
|
232219
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232220
|
+
},
|
|
232221
|
+
{
|
|
232222
|
+
id: "abe78e2276664f4db588c1f675a77486",
|
|
232223
|
+
name: "Mass URL Redirects Write",
|
|
232224
|
+
description: "Grants write access to Mass URL Redirect",
|
|
232225
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232226
|
+
},
|
|
232227
|
+
{
|
|
232228
|
+
id: "ce18edbdcebf465e9d6d1d2fc80ffd42",
|
|
232229
|
+
name: "Notifications Read",
|
|
232230
|
+
description: "Grants read access to notifications",
|
|
232231
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232232
|
+
},
|
|
232233
|
+
{
|
|
232234
|
+
id: "c3c847c5802d4ce3ba00e3e97b3c8555",
|
|
232235
|
+
name: "Notifications Write",
|
|
232236
|
+
description: "Grants write access to Notifications",
|
|
232237
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232238
|
+
},
|
|
232239
|
+
{
|
|
232240
|
+
id: "7b32a91ece3140d4b3c2c56f23fc8e35",
|
|
232241
|
+
name: "Origin Read",
|
|
232242
|
+
description: "Grants read access to origin phase",
|
|
232243
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232244
|
+
},
|
|
232245
|
+
{
|
|
232246
|
+
id: "a4308c6855c84eb2873e01b6cc85cbb3",
|
|
232247
|
+
name: "Origin Write",
|
|
232248
|
+
description: "Grants write access to origin phase",
|
|
232249
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232250
|
+
},
|
|
232251
|
+
{
|
|
232252
|
+
id: "b415b70a4fd1412886f164451f20405c",
|
|
232253
|
+
name: "Page Rules Read",
|
|
232254
|
+
description: "Grants read access to Page Rules",
|
|
232255
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232256
|
+
},
|
|
232257
|
+
{
|
|
232258
|
+
id: "ed07f6c337da4195b4e72a1fb2c6bcae",
|
|
232259
|
+
name: "Page Rules Write",
|
|
232260
|
+
description: "Grants write access to Page Rules",
|
|
232261
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232262
|
+
},
|
|
232263
|
+
{
|
|
232264
|
+
id: "440e6958bcc947329f8d56328d7322ce",
|
|
232265
|
+
name: "Page Shield",
|
|
232266
|
+
description: "Grants write access to Page Shield",
|
|
232267
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232268
|
+
},
|
|
232269
|
+
{
|
|
232270
|
+
id: "050531528b044d58bbb71666fef7c07c",
|
|
232271
|
+
name: "Page Shield Read",
|
|
232272
|
+
description: "Grants read access to Page Shield across the whole account",
|
|
232273
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232274
|
+
},
|
|
232275
|
+
{
|
|
232276
|
+
id: "87065285ab38463481e72815eefd18c3",
|
|
232277
|
+
name: "Page Shield Write",
|
|
232278
|
+
description: "Grants write access to Page Shield",
|
|
232279
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232280
|
+
},
|
|
232281
|
+
{
|
|
232282
|
+
id: "e247aedd66bd41cc9193af0213416666",
|
|
232283
|
+
name: "Pages Read",
|
|
232284
|
+
description: "Grants read access to Cloudflare Pages",
|
|
232285
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232286
|
+
},
|
|
232287
|
+
{
|
|
232288
|
+
id: "8d28297797f24fb8a0c332fe0866ec89",
|
|
232289
|
+
name: "Pages Write",
|
|
232290
|
+
description: "Grants write access to Cloudflare Pages",
|
|
232291
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232292
|
+
},
|
|
232293
|
+
{
|
|
232294
|
+
id: "14b9cf2f410f4c0c9a16bb10a81c0e0b",
|
|
232295
|
+
name: "Pipelines Read",
|
|
232296
|
+
description: "Grants read access to Cloudflare Pipelines",
|
|
232297
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232298
|
+
},
|
|
232299
|
+
{
|
|
232300
|
+
id: "5606e7405dc542949d949d59993d321f",
|
|
232301
|
+
name: "Pipelines Send",
|
|
232302
|
+
description: "Grants access to Send Events to Cloudflare Pipelines",
|
|
232303
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232304
|
+
},
|
|
232305
|
+
{
|
|
232306
|
+
id: "e34111af393449539859485aa5ddd5bd",
|
|
232307
|
+
name: "Pipelines Write",
|
|
232308
|
+
description: "Grants write access to Cloudflare Pipelines",
|
|
232309
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232310
|
+
},
|
|
232311
|
+
{
|
|
232312
|
+
id: "fd7f886c75a244389e892c4c3c068292",
|
|
232313
|
+
name: "Pubsub Configuration Read",
|
|
232314
|
+
description: "Grants read access to Pubsub Configurations\n",
|
|
232315
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232316
|
+
},
|
|
232317
|
+
{
|
|
232318
|
+
id: "910b6ecca1c5411bb894e787362d1312",
|
|
232319
|
+
name: "Pubsub Configuration Write",
|
|
232320
|
+
description: "Grants full access to Pubsub Configurations\n",
|
|
232321
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232322
|
+
},
|
|
232323
|
+
{
|
|
232324
|
+
id: "84a7755d54c646ca87cd50682a34bf7c",
|
|
232325
|
+
name: "Queues Read",
|
|
232326
|
+
description: "Grants read access to Cloudflare Queues",
|
|
232327
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232328
|
+
},
|
|
232329
|
+
{
|
|
232330
|
+
id: "366f57075ffc42689627bcf8242a1b6d",
|
|
232331
|
+
name: "Queues Write",
|
|
232332
|
+
description: "Grants write access to Cloudflare Queues",
|
|
232333
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232334
|
+
},
|
|
232335
|
+
{
|
|
232336
|
+
id: "dfe525ec7b07472c827d8d009178b2ac",
|
|
232337
|
+
name: "Radar Read",
|
|
232338
|
+
description: "Grants access to reading Radar",
|
|
232339
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232340
|
+
},
|
|
232341
|
+
{
|
|
232342
|
+
id: "de62b15d79cc4d8d9c7b443c656eadbd",
|
|
232343
|
+
name: "Realtime",
|
|
232344
|
+
description: "Grants access to Realtime configuration excluding sensitive data",
|
|
232345
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232346
|
+
},
|
|
232347
|
+
{
|
|
232348
|
+
id: "ba6ce7d23a9544ccad0816691ba38e21",
|
|
232349
|
+
name: "Realtime Admin",
|
|
232350
|
+
description: "Grants admin access to Realtime configuration",
|
|
232351
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232352
|
+
},
|
|
232353
|
+
{
|
|
232354
|
+
id: "9bb90620717647a39679e1d951f140d6",
|
|
232355
|
+
name: "Registrar Domains Read",
|
|
232356
|
+
description: "Grants read access to Cloudflare Registrar domains",
|
|
232357
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232358
|
+
},
|
|
232359
|
+
{
|
|
232360
|
+
id: "93ae59e7a40c4287a57ff6e501186a63",
|
|
232361
|
+
name: "Response Compression Read",
|
|
232362
|
+
description: "Grants read access to the response compression phase",
|
|
232363
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232364
|
+
},
|
|
232365
|
+
{
|
|
232366
|
+
id: "4bd3fb513a23494aa1341a7e1eb6e080",
|
|
232367
|
+
name: "Response Compression Write",
|
|
232368
|
+
description: "Grants write access to the response compression phase",
|
|
232369
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232370
|
+
},
|
|
232371
|
+
{
|
|
232372
|
+
id: "58abbad6d2ce40abb2594fbe932a2e0e",
|
|
232373
|
+
name: "Rule Policies Read",
|
|
232374
|
+
description: "Grants read access to Rule Policies",
|
|
232375
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232376
|
+
},
|
|
232377
|
+
{
|
|
232378
|
+
id: "61ddc58f1da14f95b33b41213360cbeb",
|
|
232379
|
+
name: "Rule Policies Write",
|
|
232380
|
+
description: "Grants write access to Rule Policies",
|
|
232381
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232382
|
+
},
|
|
232383
|
+
{
|
|
232384
|
+
id: "d5812c023a5048b4882175a28952362d",
|
|
232385
|
+
name: "SCIM Provisioning",
|
|
232386
|
+
description: "Grants membership permissions needed for SCIM provisioning",
|
|
232387
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232388
|
+
},
|
|
232389
|
+
{
|
|
232390
|
+
id: "7b7216b327b04b8fbc8f524e1f9b7531",
|
|
232391
|
+
name: "SSL and Certificates Read",
|
|
232392
|
+
description: "Grants read access to SSL configuration and cert management",
|
|
232393
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232394
|
+
},
|
|
232395
|
+
{
|
|
232396
|
+
id: "c03055bc037c4ea9afb9a9f104b7b721",
|
|
232397
|
+
name: "SSL and Certificates Write",
|
|
232398
|
+
description: "Grants write access to SSL configuration and cert management",
|
|
232399
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232400
|
+
},
|
|
232401
|
+
{
|
|
232402
|
+
id: "1d80f6f165ea47f2b55d4a393fd697de",
|
|
232403
|
+
name: "SSO Connector Read",
|
|
232404
|
+
description: "Grants read access to Cloudflare SSO connectors\n",
|
|
232405
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232406
|
+
},
|
|
232407
|
+
{
|
|
232408
|
+
id: "901ca5e292584c6aa1b4cdb39248bb07",
|
|
232409
|
+
name: "SSO Connector Write",
|
|
232410
|
+
description: "Grants write access to Cloudflare SSO connectors\n",
|
|
232411
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232412
|
+
},
|
|
232413
|
+
{
|
|
232414
|
+
id: "853643ed57244ed1a05a7c024af9ab5a",
|
|
232415
|
+
name: "Sanitize Read",
|
|
232416
|
+
description: "Grants read access to sanitization",
|
|
232417
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232418
|
+
},
|
|
232419
|
+
{
|
|
232420
|
+
id: "89bb8c37d46042e98b84560eaaa6379f",
|
|
232421
|
+
name: "Sanitize Write",
|
|
232422
|
+
description: "Grants write access to sanitization",
|
|
232423
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232424
|
+
},
|
|
232425
|
+
{
|
|
232426
|
+
id: "5e33b7d77788455c9fdf18cbd38ee5a0",
|
|
232427
|
+
name: "Secrets Store Read",
|
|
232428
|
+
description: "Grants read access to Secrets Store",
|
|
232429
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232430
|
+
},
|
|
232431
|
+
{
|
|
232432
|
+
id: "adc8fa2bc6124928a8b3314dc63a1235",
|
|
232433
|
+
name: "Secrets Store Write",
|
|
232434
|
+
description: "Grants write access to Secrets Store",
|
|
232435
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232436
|
+
},
|
|
232437
|
+
{
|
|
232438
|
+
id: "595409c54a24444b80a495620b2d614c",
|
|
232439
|
+
name: "Select Configuration Read",
|
|
232440
|
+
description: "Grants read access to select configuration",
|
|
232441
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232442
|
+
},
|
|
232443
|
+
{
|
|
232444
|
+
id: "235eac9bb64942b49cb805cc851cb000",
|
|
232445
|
+
name: "Select Configuration Write",
|
|
232446
|
+
description: "Grants write access to select configuration",
|
|
232447
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232448
|
+
},
|
|
232449
|
+
{
|
|
232450
|
+
id: "74c654eb4aac40e28d6c6caa4c5aeb3d",
|
|
232451
|
+
name: "Snippets Read",
|
|
232452
|
+
description: "Grants read access to Snippets",
|
|
232453
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232454
|
+
},
|
|
232455
|
+
{
|
|
232456
|
+
id: "dadeaf3abdf14126a77a35e0c92fc36e",
|
|
232457
|
+
name: "Snippets Write",
|
|
232458
|
+
description: "Grants write access to Snippets",
|
|
232459
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232460
|
+
},
|
|
232461
|
+
{
|
|
232462
|
+
id: "de21485a24744b76a004aa153898f7fe",
|
|
232463
|
+
name: "Stream Read",
|
|
232464
|
+
description: "Grants read access to Cloudflare Stream",
|
|
232465
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232466
|
+
},
|
|
232467
|
+
{
|
|
232468
|
+
id: "714f9c13a5684c2885a793f5edb36f59",
|
|
232469
|
+
name: "Stream Write",
|
|
232470
|
+
description: "Grants write access to Cloudflare Stream",
|
|
232471
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232472
|
+
},
|
|
232473
|
+
{
|
|
232474
|
+
id: "a9a99455bf3245f6a5a244f909d74830",
|
|
232475
|
+
name: "Transform Rules Read",
|
|
232476
|
+
description: "Grants read access to transform rules",
|
|
232477
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232478
|
+
},
|
|
232479
|
+
{
|
|
232480
|
+
id: "ae16e88bc7814753a1894c7ce187ab72",
|
|
232481
|
+
name: "Transform Rules Write",
|
|
232482
|
+
description: "Grants write access to transform rules",
|
|
232483
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232484
|
+
},
|
|
232485
|
+
{
|
|
232486
|
+
id: "f0ba3733e746429182fcd40ec648c066",
|
|
232487
|
+
name: "Trust and Safety Read",
|
|
232488
|
+
description: "Grants access to read abuse reports and abuse actions",
|
|
232489
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232490
|
+
},
|
|
232491
|
+
{
|
|
232492
|
+
id: "120f843a9c074f399b830e542e5616b8",
|
|
232493
|
+
name: "Trust and Safety Write",
|
|
232494
|
+
description: "Grants access to interact with abuse reports and abuse actions",
|
|
232495
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232496
|
+
},
|
|
232497
|
+
{
|
|
232498
|
+
id: "5d78fd7895974fd0bdbbbb079482721b",
|
|
232499
|
+
name: "Turnstile Sites Read",
|
|
232500
|
+
description: "Grants read access to Turnstile",
|
|
232501
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232502
|
+
},
|
|
232503
|
+
{
|
|
232504
|
+
id: "755c05aa014b4f9ab263aa80b8167bd8",
|
|
232505
|
+
name: "Turnstile Sites Write",
|
|
232506
|
+
description: "Grants write access to Turnstile",
|
|
232507
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232508
|
+
},
|
|
232509
|
+
{
|
|
232510
|
+
id: "5d613a610b294788a29572aaac2f254d",
|
|
232511
|
+
name: "URL Scanner Read",
|
|
232512
|
+
description: "Grants read access to URL Scanner API",
|
|
232513
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232514
|
+
},
|
|
232515
|
+
{
|
|
232516
|
+
id: "2a400bcb29154daab509fe07e3facab0",
|
|
232517
|
+
name: "URL Scanner Write",
|
|
232518
|
+
description: "Grants write access to URL Scanner API",
|
|
232519
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232520
|
+
},
|
|
232521
|
+
{
|
|
232522
|
+
id: "1799edaae5db489294430e20d9b519e0",
|
|
232523
|
+
name: "Vectorize Read",
|
|
232524
|
+
description: "Grants read access to Vectorize configuration",
|
|
232525
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232526
|
+
},
|
|
232527
|
+
{
|
|
232528
|
+
id: "64156ba5be47441096c83c7fc17c488b",
|
|
232529
|
+
name: "Vectorize Write",
|
|
232530
|
+
description: "Grants write access to Vectorize configuration",
|
|
232531
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232532
|
+
},
|
|
232533
|
+
{
|
|
232534
|
+
id: "cab5202d07ef47beae788e6bc95cb6fe",
|
|
232535
|
+
name: "Waiting Rooms Read",
|
|
232536
|
+
description: "Grants read access to Waiting Rooms\n",
|
|
232537
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232538
|
+
},
|
|
232539
|
+
{
|
|
232540
|
+
id: "24fc124dc8254e0db468e60bf410c800",
|
|
232541
|
+
name: "Waiting Rooms Write",
|
|
232542
|
+
description: "Grants write access to Waiting Rooms\n",
|
|
232543
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232544
|
+
},
|
|
232545
|
+
{
|
|
232546
|
+
id: "8e31f574901c42e8ad89140b28d42112",
|
|
232547
|
+
name: "Web3 Hostnames Read",
|
|
232548
|
+
description: "Grants read access to Web3 Hostnames\n",
|
|
232549
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232550
|
+
},
|
|
232551
|
+
{
|
|
232552
|
+
id: "5ea6da42edb34811a78d1b007557c0ca",
|
|
232553
|
+
name: "Web3 Hostnames Write",
|
|
232554
|
+
description: "Grants write access to Web3 Hostnames\n",
|
|
232555
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232556
|
+
},
|
|
232557
|
+
{
|
|
232558
|
+
id: "a92d2450e05d4e7bb7d0a64968f83d11",
|
|
232559
|
+
name: "Workers AI Read",
|
|
232560
|
+
description: "Grants access to invoke Workers AI models",
|
|
232561
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232562
|
+
},
|
|
232563
|
+
{
|
|
232564
|
+
id: "bacc64e0f6c34fc0883a1223f938a104",
|
|
232565
|
+
name: "Workers AI Write",
|
|
232566
|
+
description: "Grants access to invoke Workers AI models and edit assets",
|
|
232567
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232568
|
+
},
|
|
232569
|
+
{
|
|
232570
|
+
id: "ad99c5ae555e45c4bef5bdf2678388ba",
|
|
232571
|
+
name: "Workers CI Read",
|
|
232572
|
+
description: "Grants read access to Workers CI",
|
|
232573
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232574
|
+
},
|
|
232575
|
+
{
|
|
232576
|
+
id: "2e095cf436e2455fa62c9a9c2e18c478",
|
|
232577
|
+
name: "Workers CI Write",
|
|
232578
|
+
description: "Grants write access to Workers CI",
|
|
232579
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232580
|
+
},
|
|
232581
|
+
{
|
|
232582
|
+
id: "cfd39eebc07c4e3ea849e4b3d2644637",
|
|
232583
|
+
name: "Workers Containers Read",
|
|
232584
|
+
description: "Grants read access to Workers Containers",
|
|
232585
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232586
|
+
},
|
|
232587
|
+
{
|
|
232588
|
+
id: "bdbcd690c763475a985e8641dddc09f7",
|
|
232589
|
+
name: "Workers Containers Write",
|
|
232590
|
+
description: "Grants write access to Workers Containers",
|
|
232591
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232592
|
+
},
|
|
232593
|
+
{
|
|
232594
|
+
id: "8b47d2786a534c08a1f94ee8f9f599ef",
|
|
232595
|
+
name: "Workers KV Storage Read",
|
|
232596
|
+
description: "Grants read access to Cloudflare Workers KV Storage",
|
|
232597
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232598
|
+
},
|
|
232599
|
+
{
|
|
232600
|
+
id: "f7f0eda5697f475c90846e879bab8666",
|
|
232601
|
+
name: "Workers KV Storage Write",
|
|
232602
|
+
description: "Grants write access to Cloudflare Workers KV Storage",
|
|
232603
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232604
|
+
},
|
|
232605
|
+
{
|
|
232606
|
+
id: "66c1ed49f4ed46098b75696a6d4ee3c9",
|
|
232607
|
+
name: "Workers Observability Read",
|
|
232608
|
+
description: "Grants read access to Cloudflare Workers Observability",
|
|
232609
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232610
|
+
},
|
|
232611
|
+
{
|
|
232612
|
+
id: "29c629fb7b5e4c408ca0f7b545724fcc",
|
|
232613
|
+
name: "Workers Observability Telemetry Write",
|
|
232614
|
+
description: "Grants write access for Telemetry to Cloudflare Workers Observability",
|
|
232615
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232616
|
+
},
|
|
232617
|
+
{
|
|
232618
|
+
id: "82c075da3f4647a2a03becd0fe240f8a",
|
|
232619
|
+
name: "Workers Observability Write",
|
|
232620
|
+
description: "Grants read and write access to Cloudflare Workers Observability",
|
|
232621
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232622
|
+
},
|
|
232623
|
+
{
|
|
232624
|
+
id: "45db74139a62490b9b60eb7c4f34994b",
|
|
232625
|
+
name: "Workers R2 Data Catalog Read",
|
|
232626
|
+
description: "Grants read access to R2 Data Catalog",
|
|
232627
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232628
|
+
},
|
|
232629
|
+
{
|
|
232630
|
+
id: "d229766a2f7f4d299f20eaa8c9b1fde9",
|
|
232631
|
+
name: "Workers R2 Data Catalog Write",
|
|
232632
|
+
description: "Grants write access to R2 Data Catalog",
|
|
232633
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232634
|
+
},
|
|
232635
|
+
{
|
|
232636
|
+
id: "f45430d92e2b4a6cb9f94f2594c141b8",
|
|
232637
|
+
name: "Workers R2 SQL Read",
|
|
232638
|
+
description: "Grants access to read-only SQL queries against R2 Data Catalog",
|
|
232639
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232640
|
+
},
|
|
232641
|
+
{
|
|
232642
|
+
id: "6a018a9f2fc74eb6b293b0c548f38b39",
|
|
232643
|
+
name: "Workers R2 Storage Bucket Item Read",
|
|
232644
|
+
description: "Grants read access to Cloudflare R2 Bucket Scoped Storage",
|
|
232645
|
+
scopes: ["com.cloudflare.edge.r2.bucket"]
|
|
232646
|
+
},
|
|
232647
|
+
{
|
|
232648
|
+
id: "2efd5506f9c8494dacb1fa10a3e7d5b6",
|
|
232649
|
+
name: "Workers R2 Storage Bucket Item Write",
|
|
232650
|
+
description: "Grants write access to Cloudflare R2 Bucket Scoped Storage",
|
|
232651
|
+
scopes: ["com.cloudflare.edge.r2.bucket"]
|
|
232652
|
+
},
|
|
232653
|
+
{
|
|
232654
|
+
id: "b4992e1108244f5d8bfbd5744320c2e1",
|
|
232655
|
+
name: "Workers R2 Storage Read",
|
|
232656
|
+
description: "Grants read access to Cloudflare R2 Storage",
|
|
232657
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232658
|
+
},
|
|
232659
|
+
{
|
|
232660
|
+
id: "bf7481a1826f439697cb59a20b22293e",
|
|
232661
|
+
name: "Workers R2 Storage Write",
|
|
232662
|
+
description: "Grants write access to Cloudflare R2 Storage",
|
|
232663
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232664
|
+
},
|
|
232665
|
+
{
|
|
232666
|
+
id: "2072033d694d415a936eaeb94e6405b8",
|
|
232667
|
+
name: "Workers Routes Read",
|
|
232668
|
+
description: "Grants read access to Cloudflare Workers and Workers KV Storage",
|
|
232669
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232670
|
+
},
|
|
232671
|
+
{
|
|
232672
|
+
id: "28f4b596e7d643029c524985477ae49a",
|
|
232673
|
+
name: "Workers Routes Write",
|
|
232674
|
+
description: "Grants write access to Cloudflare Workers and Workers KV Storage",
|
|
232675
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232676
|
+
},
|
|
232677
|
+
{
|
|
232678
|
+
id: "1a71c399035b4950a1bd1466bbe4f420",
|
|
232679
|
+
name: "Workers Scripts Read",
|
|
232680
|
+
description: "Grants read access to Cloudflare Workers scripts",
|
|
232681
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232682
|
+
},
|
|
232683
|
+
{
|
|
232684
|
+
id: "e086da7e2179491d91ee5f35b3ca210a",
|
|
232685
|
+
name: "Workers Scripts Write",
|
|
232686
|
+
description: "Grants write access to Cloudflare Workers scripts",
|
|
232687
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232688
|
+
},
|
|
232689
|
+
{
|
|
232690
|
+
id: "05880cd1bdc24d8bae0be2136972816b",
|
|
232691
|
+
name: "Workers Tail Read",
|
|
232692
|
+
description: "Grants `wrangler tail` read permissions",
|
|
232693
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232694
|
+
},
|
|
232695
|
+
{
|
|
232696
|
+
id: "cdeb15b336e640a2965df8c65052f1e0",
|
|
232697
|
+
name: "Zaraz Admin",
|
|
232698
|
+
description: "Can edit and publish Zaraz settings.",
|
|
232699
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232700
|
+
},
|
|
232701
|
+
{
|
|
232702
|
+
id: "89d5bf002389496e9994b8c30608b5d0",
|
|
232703
|
+
name: "Zaraz Edit",
|
|
232704
|
+
description: "Can edit Zaraz settings.",
|
|
232705
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232706
|
+
},
|
|
232707
|
+
{
|
|
232708
|
+
id: "5bdbde7e76144204a244274eac3eb0eb",
|
|
232709
|
+
name: "Zaraz Read",
|
|
232710
|
+
description: "Grants read access to Zaraz settings.",
|
|
232711
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232712
|
+
},
|
|
232713
|
+
{
|
|
232714
|
+
id: "3f376c8e6f764a938b848bd01c8995c4",
|
|
232715
|
+
name: "Zero Trust Read",
|
|
232716
|
+
description: "Grants read access to Cloudflare Zero Trust resources",
|
|
232717
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232718
|
+
},
|
|
232719
|
+
{
|
|
232720
|
+
id: "efb81b5cd37d49f3be1da9363a6d7a19",
|
|
232721
|
+
name: "Zero Trust Report",
|
|
232722
|
+
description: "Grants reporting access to Cloudflare Zero Trust",
|
|
232723
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232724
|
+
},
|
|
232725
|
+
{
|
|
232726
|
+
id: "07f91e3e32b647ffae0178d884f23ee0",
|
|
232727
|
+
name: "Zero Trust Resilience Read",
|
|
232728
|
+
description: "Grants read access to Cloudflare Zero Trust Resilience resources",
|
|
232729
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232730
|
+
},
|
|
232731
|
+
{
|
|
232732
|
+
id: "cc00ebddebca4b8399607562a78df084",
|
|
232733
|
+
name: "Zero Trust Resilience Write",
|
|
232734
|
+
description: "Grants write access to Cloudflare Zero Trust Resilience resources",
|
|
232735
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232736
|
+
},
|
|
232737
|
+
{
|
|
232738
|
+
id: "b33f02c6f7284e05a6f20741c0bb0567",
|
|
232739
|
+
name: "Zero Trust Write",
|
|
232740
|
+
description: "Grants write access to Cloudflare Zero Trust resources",
|
|
232741
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232742
|
+
},
|
|
232743
|
+
{
|
|
232744
|
+
id: "f5d857f67f144e3c8bacea88c17d4a13",
|
|
232745
|
+
name: "Zero Trust: PII Read",
|
|
232746
|
+
description: "Grants read access to Cloudflare Zero Trust PII.",
|
|
232747
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232748
|
+
},
|
|
232749
|
+
{
|
|
232750
|
+
id: "a1a6298e52584c8fb6313760a30c681e",
|
|
232751
|
+
name: "Zero Trust: Seats Write",
|
|
232752
|
+
description: "Grants write access to the Zero Trust seats your organization can use (and be billed for)",
|
|
232753
|
+
scopes: ["com.cloudflare.api.account"]
|
|
232754
|
+
},
|
|
232755
|
+
{
|
|
232756
|
+
id: "0a6cfe8cd3ed445e918579e2fb13087b",
|
|
232757
|
+
name: "Zone DNS Settings Read",
|
|
232758
|
+
description: "Grants read access to Zone DNS Settings",
|
|
232759
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232760
|
+
},
|
|
232761
|
+
{
|
|
232762
|
+
id: "c4df38be41c247b3b4b7702e76eadae0",
|
|
232763
|
+
name: "Zone DNS Settings Write",
|
|
232764
|
+
description: "Grants write access to Zone DNS Settings",
|
|
232765
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232766
|
+
},
|
|
232767
|
+
{
|
|
232768
|
+
id: "c8fed203ed3043cba015a93ad1616f1f",
|
|
232769
|
+
name: "Zone Read",
|
|
232770
|
+
description: "Grants read access to zone management",
|
|
232771
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232772
|
+
},
|
|
232773
|
+
{
|
|
232774
|
+
id: "517b21aee92c4d89936c976ba6e4be55",
|
|
232775
|
+
name: "Zone Settings Read",
|
|
232776
|
+
description: "Grants read access to zone settings",
|
|
232777
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232778
|
+
},
|
|
232779
|
+
{
|
|
232780
|
+
id: "3030687196b94b638145a3953da2b699",
|
|
232781
|
+
name: "Zone Settings Write",
|
|
232782
|
+
description: "Grants write access to zone settings",
|
|
232783
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232784
|
+
},
|
|
232785
|
+
{
|
|
232786
|
+
id: "211a4c0feb3e43b3a2d41f1443a433e7",
|
|
232787
|
+
name: "Zone Transform Rules Read",
|
|
232788
|
+
description: "Grants read access to transform rules at zone level",
|
|
232789
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232790
|
+
},
|
|
232791
|
+
{
|
|
232792
|
+
id: "0ac90a90249747bca6b047d97f0803e9",
|
|
232793
|
+
name: "Zone Transform Rules Write",
|
|
232794
|
+
description: "Grants write access to transform rules at zone level",
|
|
232795
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232796
|
+
},
|
|
232797
|
+
{
|
|
232798
|
+
id: "1b1ea24cf0904d33903f0cc7e54e280f",
|
|
232799
|
+
name: "Zone Versioning Read",
|
|
232800
|
+
description: "Grants read-only access to Zone Versioning",
|
|
232801
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232802
|
+
},
|
|
232803
|
+
{
|
|
232804
|
+
id: "c9915d86fbff46af9dd945c0a882294b",
|
|
232805
|
+
name: "Zone Versioning Write",
|
|
232806
|
+
description: "Grants full access to Zone Versioning",
|
|
232807
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232808
|
+
},
|
|
232809
|
+
{
|
|
232810
|
+
id: "dbc512b354774852af2b5a5f4ba3d470",
|
|
232811
|
+
name: "Zone WAF Read",
|
|
232812
|
+
description: "Grants read access to Zone WAF",
|
|
232813
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232814
|
+
},
|
|
232815
|
+
{
|
|
232816
|
+
id: "fb6778dc191143babbfaa57993f1d275",
|
|
232817
|
+
name: "Zone WAF Write",
|
|
232818
|
+
description: "Grants write access to Zone WAF",
|
|
232819
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232820
|
+
},
|
|
232821
|
+
{
|
|
232822
|
+
id: "e6d2666161e84845a636613608cee8d5",
|
|
232823
|
+
name: "Zone Write",
|
|
232824
|
+
description: "Grants write access to zone management",
|
|
232825
|
+
scopes: ["com.cloudflare.api.account.zone"]
|
|
232826
|
+
}
|
|
232827
|
+
];
|
|
232828
|
+
|
|
230733
232829
|
//#endregion
|
|
230734
232830
|
//#region bin/commands/util.ts
|
|
230735
232831
|
const createCloudflareToken = loggedProcedure.meta({ description: "Create a Cloudflare god token with API key and account IDs" }).input(zod_default.object({
|
|
@@ -230740,24 +232836,32 @@ const createCloudflareToken = loggedProcedure.meta({ description: "Create a Clou
|
|
|
230740
232836
|
else await createCloudflareProfileToken(input);
|
|
230741
232837
|
});
|
|
230742
232838
|
const util$1 = t.router({ "create-cloudflare-token": createCloudflareToken });
|
|
230743
|
-
|
|
230744
|
-
const
|
|
230745
|
-
"
|
|
230746
|
-
|
|
230747
|
-
|
|
230748
|
-
|
|
230749
|
-
|
|
230750
|
-
|
|
230751
|
-
|
|
230752
|
-
|
|
230753
|
-
|
|
230754
|
-
|
|
230755
|
-
|
|
230756
|
-
|
|
230757
|
-
|
|
230758
|
-
|
|
230759
|
-
|
|
230760
|
-
|
|
232839
|
+
function formatTokenPolicies(accountIds, predicate = () => true) {
|
|
232840
|
+
const policies = {
|
|
232841
|
+
"com.cloudflare.api.account": {
|
|
232842
|
+
effect: "allow",
|
|
232843
|
+
permission_groups: [],
|
|
232844
|
+
resources: Object.fromEntries(accountIds.map((id) => [`com.cloudflare.api.account.${id}`, "*"]))
|
|
232845
|
+
},
|
|
232846
|
+
"com.cloudflare.api.account.zone": {
|
|
232847
|
+
effect: "allow",
|
|
232848
|
+
permission_groups: [],
|
|
232849
|
+
resources: { "com.cloudflare.api.account.zone.*": "*" }
|
|
232850
|
+
},
|
|
232851
|
+
"com.cloudflare.edge.r2.bucket": {
|
|
232852
|
+
effect: "allow",
|
|
232853
|
+
permission_groups: [],
|
|
232854
|
+
resources: { "com.cloudflare.edge.r2.bucket.*": "*" }
|
|
232855
|
+
}
|
|
232856
|
+
};
|
|
232857
|
+
for (const group of PERMISSION_GROUPS) {
|
|
232858
|
+
if (!predicate(group)) continue;
|
|
232859
|
+
policies[group.scopes[0]].permission_groups.push({ id: group.id });
|
|
232860
|
+
}
|
|
232861
|
+
return Object.values(policies).filter((policy) => policy.permission_groups.length > 0);
|
|
232862
|
+
}
|
|
232863
|
+
async function createToken(name$1, policies, credentials) {
|
|
232864
|
+
return (await extractCloudflareResult("create cloudflare token", fetch("https://api.cloudflare.com/client/v4/user/tokens", {
|
|
230761
232865
|
method: "POST",
|
|
230762
232866
|
headers: {
|
|
230763
232867
|
"Content-Type": "application/json",
|
|
@@ -230765,25 +232869,11 @@ async function createToken(keyName, accountIds, permissionGroupIds, credentials)
|
|
|
230765
232869
|
"X-Auth-Email": credentials.accountEmail
|
|
230766
232870
|
},
|
|
230767
232871
|
body: JSON.stringify({
|
|
230768
|
-
name: `Alchemy Token - ${
|
|
232872
|
+
name: `Alchemy Token - ${name$1}`,
|
|
230769
232873
|
status: "active",
|
|
230770
|
-
policies
|
|
230771
|
-
effect: "allow",
|
|
230772
|
-
resources: accountIds.reduce((acc, id) => {
|
|
230773
|
-
acc[`com.cloudflare.api.account.${id}`] = "*";
|
|
230774
|
-
return acc;
|
|
230775
|
-
}, {}),
|
|
230776
|
-
permission_groups: permissionGroups["com.cloudflare.api.account"].map((group) => ({ id: group.id }))
|
|
230777
|
-
}, {
|
|
230778
|
-
effect: "allow",
|
|
230779
|
-
resources: { "com.cloudflare.api.account.zone.*": "*" },
|
|
230780
|
-
permission_groups: permissionGroups["com.cloudflare.api.account.zone"].map((group) => ({ id: group.id }))
|
|
230781
|
-
}]
|
|
232874
|
+
policies
|
|
230782
232875
|
})
|
|
230783
|
-
})
|
|
230784
|
-
M.error(pc.red(`Error creating cloudflare token: ${err.message}`));
|
|
230785
|
-
throw new CancelSignal();
|
|
230786
|
-
});
|
|
232876
|
+
}))).value;
|
|
230787
232877
|
}
|
|
230788
232878
|
async function createCloudflareGodToken() {
|
|
230789
232879
|
Ie(pc.cyan("🧪 Create Cloudflare God Token"));
|
|
@@ -230825,12 +232915,9 @@ async function createCloudflareGodToken() {
|
|
|
230825
232915
|
M.info(pc.dim("Token creation cancelled"));
|
|
230826
232916
|
throw new CancelSignal();
|
|
230827
232917
|
}
|
|
230828
|
-
const apiToken = await createToken("GOD-TOKEN", accountIds,
|
|
232918
|
+
const apiToken = await createToken("GOD-TOKEN", formatTokenPolicies(accountIds), {
|
|
230829
232919
|
apiKey,
|
|
230830
232920
|
accountEmail
|
|
230831
|
-
}).catch((err) => {
|
|
230832
|
-
M.error(pc.red(`Error creating cloudflare god token: ${err.message}`));
|
|
230833
|
-
throw new CancelSignal();
|
|
230834
232921
|
});
|
|
230835
232922
|
Se(`Cloudflare god token created: ${pc.magenta(apiToken)}`);
|
|
230836
232923
|
}
|
|
@@ -230844,11 +232931,8 @@ async function createCloudflareProfileToken(input) {
|
|
|
230844
232931
|
});
|
|
230845
232932
|
if (provider.method !== "oauth") throw new Error(`Profile ${pc.bold(name$1)} is not configured to use Cloudflare via OAuth`);
|
|
230846
232933
|
if (provider.scopes == null) throw new Error(`Profile ${pc.bold(name$1)} is not configured with any Cloudflare scopes`);
|
|
230847
|
-
const
|
|
230848
|
-
|
|
230849
|
-
const ids = CLOUDFLARE_OAUTH_SCOPES_TO_PERMISSION_GROUP_IDS[scope];
|
|
230850
|
-
if (ids != null) permissionGroupIds.push(...ids);
|
|
230851
|
-
}
|
|
232934
|
+
const groupNames = new Set(provider.scopes.flatMap((scope) => CLOUDFLARE_OAUTH_SCOPES_TO_PERMISSION_GROUP_NAMES[scope] ?? []));
|
|
232935
|
+
const policies = formatTokenPolicies([provider.metadata.id], (group) => groupNames.has(group.name));
|
|
230852
232936
|
const apiKey = await ge({ message: "Enter Cloudflare Global API Key. It can be found in the cloudflare dashboard: https://dash.cloudflare.com/profile/api-tokens" });
|
|
230853
232937
|
if (pD(apiKey)) throw new CancelSignal();
|
|
230854
232938
|
const accountEmail = await he({
|
|
@@ -230856,186 +232940,193 @@ async function createCloudflareProfileToken(input) {
|
|
|
230856
232940
|
placeholder: "user@example.com"
|
|
230857
232941
|
});
|
|
230858
232942
|
if (pD(accountEmail)) throw new CancelSignal();
|
|
230859
|
-
const apiToken = await createToken(name$1,
|
|
232943
|
+
const apiToken = await createToken(name$1, policies, {
|
|
230860
232944
|
apiKey,
|
|
230861
232945
|
accountEmail
|
|
230862
232946
|
});
|
|
230863
232947
|
Se(`Cloudflare token created for profile ${pc.bold(name$1)}: ${pc.magenta(apiToken)}`);
|
|
230864
232948
|
}
|
|
230865
|
-
const
|
|
232949
|
+
const CLOUDFLARE_OAUTH_SCOPES_TO_PERMISSION_GROUP_NAMES = {
|
|
230866
232950
|
"access:read": [
|
|
230867
|
-
"
|
|
230868
|
-
"
|
|
230869
|
-
"
|
|
230870
|
-
"
|
|
230871
|
-
"
|
|
230872
|
-
"
|
|
230873
|
-
"
|
|
230874
|
-
"
|
|
230875
|
-
"
|
|
230876
|
-
"
|
|
230877
|
-
"e985ca9351db460faebbe8681c48e560"
|
|
232951
|
+
"Access: Apps and Policies Read",
|
|
232952
|
+
"Access: Custom Pages Read",
|
|
232953
|
+
"Access: Device Posture Read",
|
|
232954
|
+
"Access: Mutual TLS Certificates Read",
|
|
232955
|
+
"Access: Organizations, Identity Providers, and Groups Read",
|
|
232956
|
+
"Access: Policy Test Read",
|
|
232957
|
+
"Access: Population Read",
|
|
232958
|
+
"Access: Service Tokens Read",
|
|
232959
|
+
"Access: SSH Auditing Read",
|
|
232960
|
+
"Access: SCIM logs read"
|
|
230878
232961
|
],
|
|
230879
232962
|
"access:write": [
|
|
230880
|
-
"
|
|
230881
|
-
"
|
|
230882
|
-
"
|
|
230883
|
-
"
|
|
230884
|
-
"
|
|
230885
|
-
"
|
|
230886
|
-
"
|
|
230887
|
-
"
|
|
230888
|
-
"
|
|
230889
|
-
"
|
|
230890
|
-
"
|
|
230891
|
-
"
|
|
230892
|
-
"
|
|
230893
|
-
"
|
|
230894
|
-
"
|
|
230895
|
-
"
|
|
230896
|
-
"
|
|
230897
|
-
"
|
|
230898
|
-
"
|
|
230899
|
-
"
|
|
230900
|
-
"
|
|
230901
|
-
"91f7ce32fa614d73b7e1fc8f0e78582b",
|
|
230902
|
-
"99ff99e4e30247a99d3777a8c4c18541",
|
|
230903
|
-
"e985ca9351db460faebbe8681c48e560"
|
|
232963
|
+
"Access: Service Tokens Write",
|
|
232964
|
+
"Access: SSH Auditing Write",
|
|
232965
|
+
"Access: Population Write",
|
|
232966
|
+
"Access: Policy Test Write",
|
|
232967
|
+
"Access: Organizations, Identity Providers, and Groups Write",
|
|
232968
|
+
"Access: Organizations, Identity Providers, and Groups Revoke",
|
|
232969
|
+
"Access: Mutual TLS Certificates Write",
|
|
232970
|
+
"Access: Device Posture Write",
|
|
232971
|
+
"Access: Custom Pages Write",
|
|
232972
|
+
"Access: Apps and Policies Write",
|
|
232973
|
+
"Access: Apps and Policies Revoke",
|
|
232974
|
+
"Access: Apps and Policies Read",
|
|
232975
|
+
"Access: Custom Pages Read",
|
|
232976
|
+
"Access: Device Posture Read",
|
|
232977
|
+
"Access: Mutual TLS Certificates Read",
|
|
232978
|
+
"Access: Organizations, Identity Providers, and Groups Read",
|
|
232979
|
+
"Access: Policy Test Read",
|
|
232980
|
+
"Access: Population Read",
|
|
232981
|
+
"Access: Service Tokens Read",
|
|
232982
|
+
"Access: SSH Auditing Read",
|
|
232983
|
+
"Access: SCIM logs read"
|
|
230904
232984
|
],
|
|
230905
|
-
"account:read": ["
|
|
230906
|
-
"agw:read": ["
|
|
230907
|
-
"agw:run": ["
|
|
230908
|
-
"ai:read": ["
|
|
230909
|
-
"ai:write": ["
|
|
230910
|
-
"aiaudit:read": ["
|
|
230911
|
-
"aiaudit:write": ["
|
|
230912
|
-
"aig:read": ["
|
|
232985
|
+
"account:read": ["Account Settings Read"],
|
|
232986
|
+
"agw:read": ["Account API Gateway Read"],
|
|
232987
|
+
"agw:run": ["Account API Gateway Read", "Account API Gateway"],
|
|
232988
|
+
"ai:read": ["Workers AI Read"],
|
|
232989
|
+
"ai:write": ["Workers AI Read", "Workers AI Write"],
|
|
232990
|
+
"aiaudit:read": ["AI Audit Read"],
|
|
232991
|
+
"aiaudit:write": ["AI Audit Read", "AI Audit Write"],
|
|
232992
|
+
"aig:read": ["AI Gateway Read"],
|
|
230913
232993
|
"aig:write": [
|
|
230914
|
-
"
|
|
230915
|
-
"
|
|
230916
|
-
"
|
|
232994
|
+
"AI Gateway Read",
|
|
232995
|
+
"AI Gateway Run",
|
|
232996
|
+
"AI Gateway Write"
|
|
230917
232997
|
],
|
|
230918
|
-
"auditlogs:read": ["
|
|
230919
|
-
"browser:read": ["
|
|
230920
|
-
"browser:write": ["
|
|
232998
|
+
"auditlogs:read": ["Access: Audit Logs Read"],
|
|
232999
|
+
"browser:read": ["Browser Rendering Read"],
|
|
233000
|
+
"browser:write": ["Browser Rendering Read", "Browser Rendering Write"],
|
|
230921
233001
|
"cfone:read": [
|
|
230922
|
-
"
|
|
230923
|
-
"
|
|
230924
|
-
"
|
|
233002
|
+
"Cloudflare One Connector: WARP Read",
|
|
233003
|
+
"Cloudflare One Connector: cloudflared Read",
|
|
233004
|
+
"Cloudflare One Connectors Read"
|
|
230925
233005
|
],
|
|
230926
233006
|
"cfone:write": [
|
|
230927
|
-
"
|
|
230928
|
-
"
|
|
230929
|
-
"
|
|
230930
|
-
"
|
|
230931
|
-
"
|
|
230932
|
-
"
|
|
233007
|
+
"Cloudflare One Connector: WARP Write",
|
|
233008
|
+
"Cloudflare One Connector: cloudflared Write",
|
|
233009
|
+
"Cloudflare One Connectors Write",
|
|
233010
|
+
"Cloudflare One Connector: WARP Read",
|
|
233011
|
+
"Cloudflare One Connector: cloudflared Read",
|
|
233012
|
+
"Cloudflare One Connectors Read"
|
|
230933
233013
|
],
|
|
230934
|
-
"cloudchamber:write": ["
|
|
230935
|
-
"constellation:write": ["
|
|
230936
|
-
"containers:write": ["
|
|
230937
|
-
"d1:write": ["
|
|
230938
|
-
"dex:read": ["
|
|
233014
|
+
"cloudchamber:write": ["Cloudchamber Read", "Cloudchamber Write"],
|
|
233015
|
+
"constellation:write": ["Constellation Read", "Constellation Write"],
|
|
233016
|
+
"containers:write": ["Workers Containers Read", "Workers Containers Write"],
|
|
233017
|
+
"d1:write": ["D1 Read", "D1 Write"],
|
|
233018
|
+
"dex:read": ["Cloudflare DEX Read"],
|
|
230939
233019
|
"dex:write": [
|
|
230940
|
-
"
|
|
230941
|
-
"
|
|
230942
|
-
"
|
|
233020
|
+
"Cloudflare DEX",
|
|
233021
|
+
"Cloudflare DEX Read",
|
|
233022
|
+
"Cloudflare DEX Write"
|
|
230943
233023
|
],
|
|
230944
233024
|
"dns_analytics:read": [],
|
|
230945
233025
|
"dns_records:edit": [
|
|
230946
|
-
"
|
|
230947
|
-
"
|
|
230948
|
-
"
|
|
230949
|
-
"
|
|
233026
|
+
"DNS Read",
|
|
233027
|
+
"DNS View Read",
|
|
233028
|
+
"DNS View Write",
|
|
233029
|
+
"DNS Write"
|
|
230950
233030
|
],
|
|
230951
|
-
"dns_records:read": ["
|
|
230952
|
-
"dns_settings:read": ["
|
|
230953
|
-
"firstpartytags:write": [],
|
|
233031
|
+
"dns_records:read": ["DNS Read", "DNS View Read"],
|
|
233032
|
+
"dns_settings:read": ["Account DNS Settings Read"],
|
|
233033
|
+
"firstpartytags:write": ["Zaraz Edit"],
|
|
230954
233034
|
"lb:edit": [
|
|
230955
|
-
"
|
|
230956
|
-
"
|
|
230957
|
-
"
|
|
230958
|
-
"
|
|
230959
|
-
"
|
|
233035
|
+
"Load Balancers Account Read",
|
|
233036
|
+
"Load Balancers Account Write",
|
|
233037
|
+
"Load Balancers Write",
|
|
233038
|
+
"Load Balancing: Monitors and Pools Read",
|
|
233039
|
+
"Load Balancing: Monitors and Pools Write"
|
|
230960
233040
|
],
|
|
230961
233041
|
"lb:read": [
|
|
230962
|
-
"
|
|
230963
|
-
"
|
|
230964
|
-
"
|
|
233042
|
+
"Load Balancers Account Read",
|
|
233043
|
+
"Load Balancing: Monitors and Pools Read",
|
|
233044
|
+
"Load Balancers Read"
|
|
230965
233045
|
],
|
|
230966
|
-
"logpush:read": ["
|
|
230967
|
-
"logpush:write": [
|
|
230968
|
-
|
|
230969
|
-
|
|
230970
|
-
|
|
230971
|
-
|
|
230972
|
-
],
|
|
230973
|
-
"
|
|
230974
|
-
"notification:write": ["ce18edbdcebf465e9d6d1d2fc80ffd42", "c3c847c5802d4ce3ba00e3e97b3c8555"],
|
|
230975
|
-
"pages:read": ["e247aedd66bd41cc9193af0213416666"],
|
|
230976
|
-
"pages:write": ["e247aedd66bd41cc9193af0213416666", "8d28297797f24fb8a0c332fe0866ec89"],
|
|
230977
|
-
"pipelines:read": ["14b9cf2f410f4c0c9a16bb10a81c0e0b"],
|
|
230978
|
-
"pipelines:setup": ["5606e7405dc542949d949d59993d321f"],
|
|
233046
|
+
"logpush:read": ["Logs Read"],
|
|
233047
|
+
"logpush:write": ["Logs Read", "Logs Write"],
|
|
233048
|
+
"notification:read": ["Notifications Read"],
|
|
233049
|
+
"notification:write": ["Notifications Read", "Notifications Write"],
|
|
233050
|
+
"pages:read": ["Pages Read"],
|
|
233051
|
+
"pages:write": ["Pages Read", "Pages Write"],
|
|
233052
|
+
"pipelines:read": ["Pipelines Read"],
|
|
233053
|
+
"pipelines:setup": ["Pipelines Send"],
|
|
230979
233054
|
"pipelines:write": [
|
|
230980
|
-
"
|
|
230981
|
-
"
|
|
230982
|
-
"
|
|
233055
|
+
"Pipelines Read",
|
|
233056
|
+
"Pipelines Send",
|
|
233057
|
+
"Pipelines Write"
|
|
230983
233058
|
],
|
|
230984
233059
|
"query_cache:write": [],
|
|
230985
|
-
"queues:write": ["
|
|
233060
|
+
"queues:write": ["Queues Read", "Queues Write"],
|
|
230986
233061
|
"r2_catalog:write": [
|
|
230987
|
-
"
|
|
230988
|
-
"
|
|
230989
|
-
"
|
|
233062
|
+
"Workers R2 Data Catalog Read",
|
|
233063
|
+
"Workers R2 Data Catalog Write",
|
|
233064
|
+
"Workers R2 SQL Read"
|
|
230990
233065
|
],
|
|
230991
|
-
"radar:read": ["
|
|
230992
|
-
"rag:read": ["
|
|
233066
|
+
"radar:read": ["Radar Read"],
|
|
233067
|
+
"rag:read": ["Auto Rag Read"],
|
|
230993
233068
|
"rag:write": [
|
|
230994
|
-
"
|
|
230995
|
-
"
|
|
230996
|
-
"
|
|
233069
|
+
"Auto Rag Read",
|
|
233070
|
+
"Auto Rag Write",
|
|
233071
|
+
"Auto Rag Write Run Engine"
|
|
230997
233072
|
],
|
|
230998
|
-
"secrets_store:read": ["
|
|
230999
|
-
"secrets_store:write": ["
|
|
231000
|
-
"sso-connector:read": ["
|
|
231001
|
-
"sso-connector:write": ["
|
|
233073
|
+
"secrets_store:read": ["Secrets Store Read"],
|
|
233074
|
+
"secrets_store:write": ["Secrets Store Read", "Secrets Store Write"],
|
|
233075
|
+
"sso-connector:read": ["SSO Connector Read"],
|
|
233076
|
+
"sso-connector:write": ["SSO Connector Read", "SSO Connector Write"],
|
|
231002
233077
|
"ssl_certs:write": [
|
|
231003
|
-
"
|
|
231004
|
-
"
|
|
231005
|
-
"
|
|
231006
|
-
"
|
|
233078
|
+
"Account: SSL and Certificates Read",
|
|
233079
|
+
"Account: SSL and Certificates Write",
|
|
233080
|
+
"SSL and Certificates Read",
|
|
233081
|
+
"SSL and Certificates Write"
|
|
231007
233082
|
],
|
|
231008
233083
|
"teams:pii": [],
|
|
231009
233084
|
"teams:read": [],
|
|
231010
233085
|
"teams:secure_location": [],
|
|
231011
233086
|
"teams:write": [],
|
|
231012
|
-
"url_scanner:read": ["
|
|
231013
|
-
"url_scanner:write": ["
|
|
233087
|
+
"url_scanner:read": ["URL Scanner Read"],
|
|
233088
|
+
"url_scanner:write": ["URL Scanner Read", "URL Scanner Write"],
|
|
231014
233089
|
"user:read": [],
|
|
231015
|
-
"vectorize:write": ["
|
|
233090
|
+
"vectorize:write": ["Vectorize Read", "Vectorize Write"],
|
|
231016
233091
|
"workers:write": [
|
|
231017
|
-
"
|
|
231018
|
-
"
|
|
231019
|
-
"
|
|
231020
|
-
"
|
|
233092
|
+
"Workers Routes Read",
|
|
233093
|
+
"Workers Routes Write",
|
|
233094
|
+
"Workers Scripts Read",
|
|
233095
|
+
"Workers Scripts Write",
|
|
233096
|
+
"Workers KV Storage Read",
|
|
233097
|
+
"Workers KV Storage Write",
|
|
233098
|
+
"Workers R2 Storage Write",
|
|
233099
|
+
"Workers R2 Storage Read"
|
|
231021
233100
|
],
|
|
231022
|
-
"workers_builds:read": ["
|
|
231023
|
-
"workers_builds:write": ["
|
|
231024
|
-
"workers_kv:write": ["
|
|
231025
|
-
"workers_observability:read": ["
|
|
231026
|
-
"
|
|
231027
|
-
"
|
|
231028
|
-
"
|
|
231029
|
-
"
|
|
231030
|
-
"workers_tail:read": ["05880cd1bdc24d8bae0be2136972816b"],
|
|
233101
|
+
"workers_builds:read": ["Workers CI Read"],
|
|
233102
|
+
"workers_builds:write": ["Workers CI Write"],
|
|
233103
|
+
"workers_kv:write": ["Workers KV Storage Read", "Workers KV Storage Write"],
|
|
233104
|
+
"workers_observability:read": ["Workers Observability Read"],
|
|
233105
|
+
"workers_observability_telemetry:write": ["Workers Observability Telemetry Write"],
|
|
233106
|
+
"workers_routes:write": ["Workers Routes Write"],
|
|
233107
|
+
"workers_scripts:write": ["Workers Scripts Write"],
|
|
233108
|
+
"workers_tail:read": ["Workers Tail Read"],
|
|
231031
233109
|
"zone:read": [
|
|
231032
|
-
"
|
|
231033
|
-
"
|
|
231034
|
-
"
|
|
231035
|
-
"
|
|
231036
|
-
"
|
|
233110
|
+
"Zone Read",
|
|
233111
|
+
"Zone Settings Read",
|
|
233112
|
+
"Zone Transform Rules Read",
|
|
233113
|
+
"Zone Versioning Read",
|
|
233114
|
+
"Zone WAF Read"
|
|
233115
|
+
],
|
|
233116
|
+
"agw:write": [
|
|
233117
|
+
"AI Gateway Read",
|
|
233118
|
+
"AI Gateway Run",
|
|
233119
|
+
"AI Gateway Write"
|
|
231037
233120
|
],
|
|
231038
|
-
|
|
233121
|
+
"connectivity:admin": ["Connectivity Directory Admin"],
|
|
233122
|
+
"connectivity:bind": ["Connectivity Directory Bind"],
|
|
233123
|
+
"connectivity:read": ["Connectivity Directory Read"],
|
|
233124
|
+
"workers:read": [
|
|
233125
|
+
"Workers Scripts Read",
|
|
233126
|
+
"Workers KV Storage Read",
|
|
233127
|
+
"Workers R2 Storage Read",
|
|
233128
|
+
"Workers Routes Read"
|
|
233129
|
+
]
|
|
231039
233130
|
};
|
|
231040
233131
|
|
|
231041
233132
|
//#endregion
|