SnykのUser Roleを作成してみた #Snyk

SnykのUser Roleを作成してみた #Snyk

節分の翌日です、海鮮の恵方巻きを食べました。美味しかったです!南南東を向きながらSnyk触りますか!੯‧̀͡u\🐾
2026.02.04

おはようございます( ◜◡◝ )
ゲームソリューション部/業務効率化ソリューション部のきだぱんです。

Snykでユーザーロールをカスタマイズ可能なことをご存知でしょうか!
標準で用意されている「Admin(管理者)」や「Collaborator(コラボレーター)」といったロールだけではありません!

本記事では、カスタムロールを作成していきたいと思います。

前提条件

まず、カスタムロール機能を利用するには以下の条件を満たしている必要があります。

  • Snyk Enterprise プランであること
    FreeプランやTeamプランでは利用できません。
  • 適切な管理者権限を持っていること
    設定を行うユーザーは「Group Admin(グループ管理者)」権限を持つロールである必要があります

さっそくカスタムロールを作成してみましょう!

設定画面へアクセス

対象のテナントへGroupを選択します。
スクリーンショット 2026-01-22 16.54.23

Snyk UIの画面上部にある歯車アイコン(Settings)をクリックし、左メニューから [Member Roles] を選択します。
スクリーンショット 2026-01-22 16.56.27

デフォルトで設定されているロールはこちらにも表示されていますね
スクリーンショット 2026-01-22 16.56.56

  • New role name
  • Role Type
    • Group
    • Org
  • Description
    を入力します。
    Groupの権限かOrganizationの権限かもここで選択します。
    スクリーンショット 2026-01-22 17.03.12

権限のカスタマイズ

大項目はこんな感じです。それぞれにView~やCreate~があります。

  • Organization management
  • Audit Log management
  • Billing management
  • Collection management
  • Container Image management
  • Entitlement management
  • Integration management
  • Kubernetes Integration management
  • Package management
  • Project management
  • Ignore management
  • Project pull request management
  • Reports management
  • SAST Rule Extensions Management
  • Service account management
  • Snyk Apps management
  • Snyk Cloud management
  • Snyk Preview management

必要な権限をチェックします。

必要な権限をカスタマイズしてもいいですし、Snyk社が出しているテンプレートもありますので参考に権限を付与します。
https://docs.snyk.io/snyk-platform-administration/user-roles/custom-role-templates

スクリーンショット 2026-02-03 19.06.37
スクリーンショット 2026-02-03 19.07.08

いきなり「Create new role」を押すのではなく、作成したい役割に近いロールを探し、対象ロールの横にある [Duplicate] をクリック。基本的な権限セットがコピーされた状態で編集をスタートできます!

スクリーンショット 2026-02-03 19.09.33

作成してみました。ロール一覧に追加されます!
スクリーンショット 2026-02-04 14.49.06

招待する時に選択できるようになりました。
スクリーンショット 2026-02-04 14.57.41

Snyk APIでの権限管理

組織の規模が大きくなると、GUI画面で一人ひとりユーザーのロールを変更するのは現実的ではありません。
Snyk APIを活用すれば、社員の入社・異動に伴う権限変更をスクリプトで自動化したり、TerraformなどのIaCツールと連携させたりすることが可能です。

API利用の準備

APIを利用するには、SnykのAPIトークンが必要です。

  • Authorization: token <YOUR_API_TOKEN>

IDを取得する

まず、割り当てたいロールの正確なIDを特定します。
カスタムロールはGroupレベルで管理されることが多いため、以下のエンドポイントが推奨されます。

Request: GET /group/{groupId}/roles

curl --request GET \
  --url https://api.snyk.io/v1/group/<YOUR_GROUP_ID>/roles 
// Response(一部)
{
  "orgs": [
    {
      "name": "Org-Developer",
      "id": "xxx",
      "slug": "xxx",
      "url": "xxx.xxx",
      "group": {}
    }
  ]
}

ロールを更新する

取得した rolePublicIduserId を使用して、ロールを更新します。

Request PUT https://api.snyk.io/v1/org/{orgId}/members/update/{userId}

curl --request PUT \
  --url https://api.snyk.io/v1/org/<YOUR_ORG_ID>/members/update/<USER_ID> \
  --header 'Authorization: token <YOUR_API_TOKEN>' \
  --header 'Content-Type: application/json' \
  --data '{
    "rolePublicId": "aaaa..." 
  }'

さいごに

本記事では、Snykのカスタムロールを作成してみました。
標準の「Admin」や「Collaborator」だけではカバーしきれない、細かい権限設定も、カスタムロールを使えば柔軟に実現可能です。

Snykに関するブログも沢山展開されていますので、是非こちらもご覧ください。
https://dev.classmethod.jp/tags/snyk/
この記事がどなたかのお役に立てば幸いです。
以上、きだぱんでした。

この記事をシェアする

FacebookHatena blogX

関連記事