Cloudflare PagesでうっかりAccess ポリシーを有効化してしまったのですが、
画面のどこにも無効化するボタンがありません。

image

今回はこれを無効にする方法を記載していきます。

方法としてはAPIを使って無効化します。

アカウントIDを取得

各ドメインのトップを開くと画面の右の方に記載されています。

こちらをコピーしておきます。 (画像のIDはダミーです)

image

API Keyの取得

https://dash.cloudflare.com/profile/api-tokens から取得します。

image

APIでCloudflare AccessのIDを取得

GET accounts/:identifier/access/apps のAPIを実行します。

:identifier にアカウントID
X-Auth-Email Cloudflareに登録したメールアドレス
X-Auth-Key にAPI Key

を入れて送信します。

curlコマンドでの実行例は下記になります。

1
2
3
curl -X GET "https://api.cloudflare.com/client/v4/accounts/210633af64c159ad68068d05af10ff8c/access/apps" \
  -H "X-Auth-Email: ***@example.com" \
  -H "X-Auth-Key: 8ccfaa1e152ff1f7c3e59869eebaf095cd906a"

成功しますとJSONデータが帰ってきますので、ドメインなどを見て該当appのIDをコピーします。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{
  "result": [
    {
      "aud": "cbc3f0b311e29d48c812df2a502666565107cf34d7ab09fe8868e6aecb13d46e",
      "created_at": "2021-08-14T03:11:31Z",
      "domain": "*.eggpan-net.pages.dev",
      "id": "0e799e75-700c-4488-9b41-ae8d395fabcb", // ここのIDをコピー
      "name": "eggpan-net - Cloudflare Pages",
      "policies": [
        {
          "created_at": "2021-08-14T03:11:31Z",
          "decision": "allow",
          "exclude": [],
          "id": "eb75cce8-087b-4040-800a-838fd3a4d363",
          "include": [
            {
              "email": {
                "email": "***@example.com"
              }
            }
          ],
          "name": "Allow Members - Cloudflare Pages",
          "precedence": 1,
          "require": [],
          "purpose_justification_required": false,
          "purpose_justification_prompt": "",
          "uid": "eb75cce8-087b-4040-800a-838fd3a4d363",
          "updated_at": "2021-08-14T03:11:31Z"
        }
      ],
      "allowed_idps": [
        "da511cde-1ea5-4694-ad70-3ec2782a6013"
      ],
      "auto_redirect_to_identity": false,
      "session_duration": "24h",
      "uid": "0e799e75-700c-4488-9b41-ae8d395fabcb",
      "updated_at": "2021-08-14T03:11:31Z",
      "type": "self_hosted"
    }
  ],
  "success": true,
  "errors": [],
  "messages": []
}

APIでCloudflare Accessの設定を削除

DELETE accounts/:identifier/access/apps/:uuid のAPIを実行します。

:identifier にアカウントID
:uuid にAPIで取得したID
X-Auth-Email Cloudflareに登録したメールアドレス
X-Auth-Key にAPI Key

を入れて送信します。

curlコマンドでの実行例は下記になります。

1
2
3
curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/210633af64c159ad68068d05af10ff8c/access/apps/0e799e75-700c-4488-9b41-ae8d395fabcb" \
  -H "X-Auth-Email: ***@example.com" \
  -H "X-Auth-Key: 8ccfaa1e152ff1f7c3e59869eebaf095cd906a"

成功すると "success": true を含んだレスポンスが帰ってきます。

1
2
3
4
5
6
7
8
{
  "result": {
    "id": "0e799e75-700c-4488-9b41-ae8d395fabcb"
  },
  "success": true,
  "errors": [],
  "messages": []
}

以上でAccess ポリシーが無効化されます。お疲れさまでした。

参考

https://community.cloudflare.com/t/how-can-i-disable-the-access-policy-of-cloudflare-pages/292358/4

https://api.cloudflare.com/#access-applications-list-access-applications

https://api.cloudflare.com/#access-applications-delete-access-application