INTEGRITY Dokumentace

User Groups

User Groups představují sadu členové účtu se kterými se z hlediska řízení přístupu zachází stejně. Uživatelským skupinám lze přiřadit zásady oprávnění, přičemž jednotliví členové skupiny získávají všechna oprávnění rolí přiřazených dané uživatelské skupině. Pokud mají uživatelé také individuálně přiřazená oprávnění, pak jejich efektivní oprávnění představují sjednocení všech jejich individuálních oprávnění a oprávnění všech uživatelských skupin, jejichž jsou členy.

Vytvoření User Group ručně

  1. V dashboardu Cloudflare přejděte na Členové stránce.

    Přejděte na Členové ↗
  2. Vyberte Skupiny kartě.

  3. Vyberte Vytvoření skupiny a zadejte název a popis nové skupiny.

  4. Vyberte Vytvořit skupinu pro potvrzení změn. Členové skupiny karta zobrazuje.

  5. Vyberte Přidání členů.

  6. Vyberte příslušné členy, které chcete zahrnout do skupiny, a poté vyberte Přidat do skupiny.

Přiřadit zásadu oprávnění

Jakmile máte skupinu vytvořenou, můžete nyní přidat Zásada oprávnění do vaší skupiny.

  1. V Skupiny kartu pod Zásady oprávnění, vyberte Přidání zásady.
  2. Zadejte rozsah a oprávnění, která chcete použít pro členy skupiny.
  3. Vyberte Create Policy pro použití na skupinu.

Pomocí identifikátorů rolí z předchozí části můžete pro svou skupinu vytvořit zásadu oprávnění.

export ADMIN_ROLE='...' # id field from admin or desired role entry from permission_groups API response

Příklad požadavku
$ cat <<-PAYLOAD | curl -XPUT  -H "Authorization: Bearer $AOT" -H "Content-type: application/json" --data-binary @- https://api.cloudflare.com/client/v4/accounts/$ACCT/iam/user_groups/$PUSHED_GROUP  | jq .
{
    "policies": [
        {
            "access": "allow",
            "permission_groups": [{"id": "$ADMIN_ROLE"}],
            "resource_groups": [{
                "scope": {
                    "key": "com.cloudflare.api.account.$ACCT",
                    "objects": [{"key":"*"}]
                }
            }]
        }
    ]
}
PAYLOAD

Resetování zásady do prázdného stavu

Pokud jste při vytváření skupinové zásady udělali chybu nebo potřebujete zásadu vrátit do prázdného stavu, odešlete další požadavek PUT na group API s prázdným polem policy, čímž ji přepíšete novou zásadou.

$ cat <<-PAYLOAD | curl -XPUT  -H "Authorization: Bearer $AOT" -H "Content-type: application/json" --data-binary @- https://api.cloudflare.com/client/v4/accounts/$ACCT/iam/user_groups/$PUSHED_GROUP  | jq .
{
    "policies": []
}
PAYLOAD

Vytvoření User Group pomocí SCIM

Zákazníci s nakonfigurovanou integrací SCIM mohou synchronizovat User Groups z nadřazeného poskytovatele identity do Cloudflare. Integrace SCIM od Cloudflare vyžaduje jednu externí aplikaci na účet.

Chcete-li nastavit skupinu uživatelů pomocí SCIM, přečtěte si Průvodce zřizováním pomocí SCIM.

Nastavení oprávnění pro skupiny uživatelů

Jakmile je skupina uživatelů vytvořena, ať už ručně v Cloudflare dashboardu, nebo prostřednictvím integrace SCIM, posledním krokem je přiřazení oprávnění k této skupině.

  1. Přejděte na Správa členů > Členové > Skupiny uživatelů.
  2. Vyberte skupinu uživatelů, ke které chcete přiřadit oprávnění.
  3. Vyberte Zásady oprávnění kartu a vyberte Přidat zásadu.
  4. Vyberte rozsah a roli, které chcete použít v zásadě.
  5. Vyberte Save pro použití zásady.

Než začnete, pomocí níže uvedeného příkazu ověřte skupiny, které byly vytvořeny interně nebo odeslány do Cloudflare.

1. Získejte skupiny uživatelů

Příklad požadavku
$ curl -X GET -H "Authorization: Bearer $AOT" https://api.cloudflare.com/client/v4/accounts/$ACCT/iam/user_groups | jq .
Ukázková odpověď
{
    "errors": [],
    "messages": [],
    "result": [
        {
            "created_on": "2025-01-24T15:31:36.759979Z",
            "id": "f234f49f66df4db8864c5189fe78c87f",
            "modified_on": "2025-01-24T15:35:50.151764Z",
            "name": "My Cool Demo Group",
            "status": "V"
        },
        {
            "created_on": "2025-01-16T20:43:01.019311Z",
            "id": "7148c1e4d9f247f5b6dcd3ef20f998f9",
            "modified_on": "2025-01-16T20:44:07.627233Z",
            "name": "My Cool Demo Group, now with policies!",
            "policies": [
                {
                    "access": "allow",
                    "created_on": "2025-01-16T20:44:07.627233Z",
                    "id": "8d82cf8c15c64e07a4bee58e00d80bca",
                    "modified_on": "2025-01-16T20:44:07.627233Z",
                    "permission_groups": [
                        {
                            "created_on": "2023-06-21T18:58:29.907496Z",
                            "id": "a1a099e3256942259bfde18c688b67d5",
                            "meta": {
                                "description": "Grants write access to Page Shield for domain",
                                "editable": "false",
                                "label": "domain_page_shield",
                                "scopes": "com.cloudflare.api.account.zone"
                            },
                            "modified_on": "2023-06-21T18:58:29.907496Z",
                            "name": "Domain Page Shield",
                            "permissions": ["dev note: snipped for length"],
                            "status": "V"
                        }
                    ],
                    "resource_groups": [
                        {
                            "created_on": "2025-01-16T20:44:07.627233Z",
                            "modified_on": "2025-01-16T20:44:07.627233Z",
                            "scope": {
                                "key": "com.cloudflare.api.account.a3324a084cd290080b563ab39c91545a",
                                "objects": [
                                    {
                                        "key": "*"
                                    }
                                ]
                            }
                        }
                    ],
                    "status": "V"
                }
            ],
            "status": "V"
        }
    ],
    "result_info": {
        "count": 2,
        "page": 1,
        "per_page": 100,
        "total_count": 2,
        "total_pages": 1
    },
    "success": true
}

2. Proveďte dotaz na ID prostředku

Vyhledejte tag skupiny, kterou jste odeslali z IdP, a použijte ho k přímému dotazu na její ID prostředku:

export PUSHED_GROUP='...' # Pull this value from the "id" json field in the group list response

Příklad požadavku
$ curl -XGET -H "Authorization: Bearer $AOT" https://api.cloudflare.com/client/v4/accounts/$ACCT/iam/user_groups/$PUSHED_GROUP | jq .

Odpověď by měla obsahovat název skupiny zadaný v poskytovateli identity bez připojených zásad.

3. Zkontrolujte dostupné skupiny oprávnění

Než upravíte zásady skupiny, zkontrolujte dostupné skupiny oprávnění (role) v účtu pomocí dotazu na jeho API.

Příklad požadavku
$ curl -XGET -H "Authorization: Bearer $DEMO_AOT" https://api.cloudflare.com/client/v4/accounts/$ACCT/iam/permission_groups | jq .
Ukázková odpověď
{
  "result": [
    {
      "id": "1a0fc8bdeae24387b64d5b8de1ad052a",
      "name": "Administrator Read Only",
      "status": "V",
      "meta": {
        "description": "Can access the full account in read-only mode.",
        "editable": "false",
        "label": "admin_readonly",
        "scopes": "com.cloudflare.api.account"
      },
      "created_on": "2020-07-06T12:19:13.099114Z",
      "modified_on": "2020-10-13T11:18:00.208228Z"
    },
    {
      "id": "ce2c69b09baf4ca38223910a8b7e07a9",
      "name": "Administrator",
      "status": "V",
      "meta": {
        "description": "Can access the full account, except for membership management and billing.",
        "editable": "false",
        "label": "admin",
        "scopes": "com.cloudflare.api.account"
      },
      "created_on": "2020-07-06T12:19:13.099114Z",
      "modified_on": "2020-10-13T11:18:00.208228Z"
    }
  ],
  "success": true,
  "errors": [],
  "messages": []
}

Kontrola členů skupiny

Chcete-li ověřit, že IdP synchronizoval skupinu a členy uživatelů odeslané v operaci SCIM, dotažte se na Group Members API.

Příklad požadavku
$ curl -XGET -H "Authorization: Bearer $DEMO_AOT" https://api.cloudflare.com/client/v4/accounts/$ACCT/iam/user_groups/$PUSHED_GROUP/members | jq .
Ukázková odpověď
{
  "result": [
    {
      "id": "a4366a09c43a0b0c4606dc5528472bb6",
      "email": "[email protected]"
    },
    {
      "id": "0329c17f6c13f5202dc38d2036efb1a9",
      "email": "[email protected]"
    }
  ],
  "result_info": {
    "page": 1,
    "per_page": 100,
    "total_pages": 1,
    "count": 2,
    "total_count": 2
  },
  "success": true,
  "errors": [],
  "messages": []
}