deft/tracker.org
Yann Esposito (Yogsototh) 6a65d84364
tracker.org
2021-02-24 16:00:28 +01:00

62 KiB
Raw Blame History

2021

2021-W03

2021-01-21 Thursday

IN-PROGRESS code jwt-service   work

[2021-01-21 Thu 14:19]

ref
prepare standup bulletpoints for meeting

2021-01-22 Friday

Timestamp Tags Headline Time
Total time 8:56
2021-01-22 Friday 8:56
[2021-01-22 Fri 09:52] work refacto jwt-service 8:56
Clock summary at [2021-01-22 Fri 18:49]
IN-PROGRESS refacto jwt-service   work

CLOCK: [2021-01-22 Fri 09:53][2021-01-22 Fri 18:49] => 8:56

[2021-01-22 Fri 09:52]

ref

2021-W04

Timestamp Tags Headline Time
Total time 41:38
2021-W04 41:38
2021-01-25 Monday 7:28
[2021-01-25 Mon 19:23] work, meeting Posture Onboarding 0:38
[2021-01-25 Mon 15:04] work cleanup jwt extract feedback 4:19
[2021-01-25 Mon 14:36] work refacto JWT extraction reviews 0:15
[2021-01-25 Mon 10:16] work, chat morning chat issues org 2:16
[2021-01-26 Tue 19:06] 2021-01-26 Tuesday 9:03
[2021-01-26 Tue 10:36] work, review Victors UncaughtExceptionHandler 8:29
[2021-01-26 Tue 10:16] work, review PR review 0:06
[2021-01-26 Tue 09:47] work Weekly meeting Presentation 0:28
[2021-01-27 Wed 22:01] 2021-01-27 Wednesday 10:59
[2021-01-27 Wed 18:22] work, meeting CSA Migration workflow presentation 2:10
[2021-01-27 Wed 17:26] interruption, work Helping Jessica Bair about client 0:54
[2021-01-27 Wed 16:01] work, meeting weekly dev meeting 1:25
[2021-01-27 Wed 12:07] work CSA Migration notes preparation 3:54
[2021-01-27 Wed 09:31] work, chat morning chat 2:36
[2021-01-28 Thu 18:09] 2021-01-28 Thursday 8:09
[2021-01-28 Thu 09:52] work CSA Migration API PoC preparation 8:09
[2021-01-29 Fri 17:46] 2021-01-29 Friday 5:59
[2021-01-29 Fri 15:47] work create Client for Vitalii in TEST 1:59
[2021-01-29 Fri 15:46] work provisionning API 4:00
Clock summary at [2021-02-01 Mon 14:47]

2021-01-25 Monday

MEETING Posture Onboarding   work meeting

CLOCK: [2021-01-25 Mon 19:24][2021-01-25 Mon 20:02] => 0:38

[2021-01-25 Mon 19:23]

ref
cleanup jwt extract feedback
Notes

Martin, Trapani, Didi, Jyoti, Elias, Mirabell, Guillaume

@Martin:

I am a customer of SecureX

Sources (inTune, AMP, Custom, JAMF, Duo, Meraki) Creating the inventory on their behalf. Active AMP, should be onboarded in SecureX.

Onboard device managers, Meraki, etc… Into "my" SecureX Tenant.

Extra credit if we can do this with OAuth2.

Most important make a connection here.

  • email exchange.

@Jyoti

@Martin

Vault service and what is authorized between services. APIs underneath

@Didi

webhook to push changes. Ask the vault. Return keys, etc…

We need continuation.

@Didi

Google, trusts, etc…

@Martin

onboarding, revocation,

What about notification?

@Didi that's the idea of continuous data flow. Bidirectional webhooks. Some services will need to have webhooks. Orbital webehook is a very good example.

You go into orbital, you register webhook. And webhook is triggered.

@Elias to Didi

use cases?

@Martin

  • continuous flow of data? need to describe use cases.
DONE cleanup jwt extract feedback   work

CLOCK: [2021-01-25 Mon 15:04][2021-01-25 Mon 19:23] => 4:19

[2021-01-25 Mon 15:04]

ref
commander les fruits & légumes
DONE refacto JWT extraction reviews   work

CLOCK: [2021-01-25 Mon 14:36][2021-01-25 Mon 14:51] => 0:15

[2021-01-25 Mon 14:36]

ref
morning chat issues org
CHAT morning chat issues org   work chat

CLOCK: [2021-01-25 Mon 10:00][2021-01-25 Mon 12:16] => 2:16

[2021-01-25 Mon 10:16]

ref

2021-01-26 Tuesday

Timestamp Tags Headline Time
Total time 9:03
2021-01-26 Tuesday 9:03
[2021-01-26 Tue 10:36] work, review Victors UncaughtExceptionHandler 8:29
[2021-01-26 Tue 10:16] work, review PR review 0:06
[2021-01-26 Tue 09:47] work Weekly meeting Presentation 0:28
Clock summary at [2021-01-26 Tue 19:06]
REVIEW Victors UncaughtExceptionHandler   work review

CLOCK: [2021-01-26 Tue 10:37][2021-01-26 Tue 19:06] => 8:29

[2021-01-26 Tue 10:36]

GEEK Try to write JS warn in dashboard   perso

CLOCK: [2021-01-26 Tue 10:22][2021-01-26 Tue 10:32] => 0:10

[2021-01-26 Tue 10:22]

ref
Weekly meeting Presentation
REVIEW PR review   work review

CLOCK: [2021-01-26 Tue 10:16][2021-01-26 Tue 10:22] => 0:06

[2021-01-26 Tue 10:16]

DONE Weekly meeting Presentation   work

CLOCK: [2021-01-26 Tue 09:47][2021-01-26 Tue 10:15] => 0:28

[2021-01-26 Tue 09:47]

Weekly Status
  • Extracted a JWT service
  • Added audiences as an array. Does not appear to break anything
  • Updated the SSE OIDC Clients to support CSA Migration
  • Contacted QA for testing CSA Migration, Houman will probably ping me today.
  • Testing CSA Migration
Tech notes worth seeing by the team
naming conventions

After a few discussions choose a project/ns naming convention for the iroh-service lein template. We do not really have one. Selected this conventions because it is:

  • shorter than most actual used conventions
  • iroh specific to make it clear a ns is iroh related.

Need to find files via path, not just its name. Sounds ok to me. For an example look at the jwt service:

  • project.clj: (defproject iroh/foo ,,,,)
  • src/iroh/foo/service.clj => (ns iroh.foo.service ,,,)
  • src/iroh/foo/web_service.clj => (ns iroh.foo.web-service ,,,)
  • test/iroh/foo/service/test_helpers.clj => (ns iroh.foo.service.test-helpers ,,,)

I don't think we should move the existing code to the new conventions yet. But new services should probably try to follow this convention.

Refacto Plan: Testing web services and cycles.

Example:

(deftest my-web-service-test
  (tk-test app svc-helper
    (let [{:keys [mk-jwt svc-get client-post]}
          (init-tst-state app "/iroh/my-service")
          jwt (mk-jwt {})
          jwt-admin (mk-jwt {:role roles/admin})]
      (check-status 403 (svc-get "/sub-route" jwt {}))
      (check-status 200 (svc-get "/sub-route" jwt-admin {}))
      (check-status 200 (client-post "/sub-route" jwt
                                     {:form-parms {:foo "bar"}})))))

See a few init-tst-state examples which uses get-jetty-port, mk-http-callers, iroh-web.test-helpers.core/gen-jwt. Takes care of:

  • starting the web app on a random port.
  • providing functions to make http call

    • narrowed to your service (svc-get, svc-post, etc…)
    • narrowed only the localhost:PORT (client-get, client-post, etc…)
  • providing a jwt generator.
GEEK org-fc conf for doom-emacs   perso

CLOCK: [2021-01-26 Tue 09:39][2021-01-26 Tue 09:47] => 0:08

[2021-01-26 Tue 09:39]

ref
bouteilles

2021-01-27 Wednesday

Timestamp Tags Headline Time
Total time 10:59
2021-01-27 Wednesday 10:59
[2021-01-27 Wed 18:22] work, meeting CSA Migration workflow presentation 2:10
[2021-01-27 Wed 17:26] interruption, work Helping Jessica Bair about client 0:54
[2021-01-27 Wed 16:01] work, meeting weekly dev meeting 1:25
[2021-01-27 Wed 12:07] work CSA Migration notes preparation 3:54
[2021-01-27 Wed 09:31] work, chat morning chat 2:36
Clock summary at [2021-01-27 Wed 22:01]
MEETING CSA Migration workflow presentation   work meeting

CLOCK: [2021-01-27 Wed 18:22][2021-01-27 Wed 20:32] => 2:10

[2021-01-27 Wed 18:22]

AMP accounts, TG accounts, SSE devices, Orbital

Prepare a reset system to reset to before migration.

DONE Helping Jessica Bair about client   interruption work

CLOCK: [2021-01-27 Wed 17:27][2021-01-27 Wed 18:21] => 0:54

[2021-01-27 Wed 17:26]

MEETING weekly dev meeting   work meeting

CLOCK: [2021-01-27 Wed 16:01][2021-01-27 Wed 17:26] => 1:25

[2021-01-27 Wed 16:01]

  • Talk about dahsboard
DONE CSA Migration notes preparation   work

CLOCK: [2021-01-27 Wed 12:07][2021-01-27 Wed 16:01] => 3:54

[2021-01-27 Wed 12:07]

CHAT morning chat   work chat

CLOCK: [2021-01-27 Wed 09:31][2021-01-27 Wed 12:07] => 2:36

[2021-01-27 Wed 09:31]

ref
PR review

2021-01-28 Thursday

Timestamp Tags Headline Time
Total time 8:09
2021-01-28 Thursday 8:09
[2021-01-28 Thu 09:52] work CSA Migration API PoC preparation 8:09
Clock summary at [2021-01-28 Thu 18:09]
DONE CSA Migration API PoC preparation   work

CLOCK: [2021-01-29 Fri 15:46][2021-01-29 Fri 15:46] => 0:00 CLOCK: [2021-01-28 Thu 10:50][2021-01-28 Thu 18:09] => 7:19 CLOCK: [2021-01-28 Thu 09:52][2021-01-28 Thu 10:42] => 0:50

[2021-01-28 Thu 09:52]

ref
CSA Migration workflow presentation

2021-01-29 Friday

Timestamp Tags Headline Time
Total time 5:59
2021-01-29 Friday 5:59
[2021-01-29 Fri 15:47] work create Client for Vitalii in TEST 1:59
[2021-01-29 Fri 15:46] work provisionning API 4:00
Clock summary at [2021-01-29 Fri 17:46]
IN-PROGRESS create Client for Vitalii in TEST   work

CLOCK: [2021-01-29 Fri 15:47][2021-01-29 Fri 17:46] => 1:59

[2021-01-29 Fri 15:47]

ref
provisionning API
DONE provisionning API   work

CLOCK: [2021-01-29 Fri 14:16][2021-01-29 Fri 15:46] => 1:30 CLOCK: [2021-01-29 Fri 09:46][2021-01-29 Fri 12:16] => 2:30

[2021-01-29 Fri 15:46]

ref
CSA Migration API PoC preparation

2021-W05

2021-02-01 Monday

IN-PROGRESS enforce whoami db check to sync users.   work

CLOCK: [2021-02-01 Mon 17:19][2021-02-01 Mon 18:19] => 1:00

[2021-02-01 Mon 17:19]

ref
fix iroh-auth doc regarding jwks
DONE fix iroh-auth doc regarding jwks   work

CLOCK: [2021-02-01 Mon 10:35][2021-02-01 Mon 14:53] => 4:18

[2021-02-01 Mon 10:35]

ref
Améliorer son Anglais (bis) (italki)

2021-02-02 Tuesday

IN-PROGRESS Testing CSA Migration   work

CLOCK: [2021-02-02 Tue 10:42][2021-02-03 Wed 10:11] => 23:29

[2021-02-02 Tue 10:42]

DONE morning routine   work

CLOCK: [2021-02-02 Tue 09:48][2021-02-02 Tue 10:42] => 0:54

[2021-02-02 Tue 09:48]

2021-02-03 Wednesday

IN-PROGRESS CORS headers bug   work

CLOCK: [2021-02-03 Wed 14:42][2021-02-04 Thu 10:24] => 19:42

[2021-02-03 Wed 14:42]

ref
DONE IdP Migration Testing   work

CLOCK: [2021-02-03 Wed 10:11][2021-02-03 Wed 10:11] => 0:00

[2021-02-03 Wed 10:11]

Note quite complex workflow but worked as expected. Had the "You are in the middle of an Invitation" prompt.

2021-02-04 Thursday

Timestamp Tags Headline Time
Total time 9:46
2021-02-04 Thursday 9:46
[2021-02-04 Thu 17:32] work, meeting didi Posture 1:28
[2021-02-04 Thu 10:25] work, review morning review tour 7:07
[2021-02-04 Thu 10:24] work test and discussion about CSA… 1:11
Clock summary at [2021-02-04 Thu 19:00]
MEETING didi Posture   work meeting

CLOCK: [2021-02-04 Thu 17:32][2021-02-04 Thu 19:00] => 1:28

[2021-02-04 Thu 17:32]

Best user experience, etc..

Create a response issue about OAuth2/OIDC/trusted clients.

{
  "scopes": [
    "openid","profile"
  ],
  "description": "string",
  "redirects": [
    "https://127.0.0.1:5443/callback"
  ],
  "availability": "everyone",
  "name": "int-posture-test",
  "grants": [
    "auth-code"
  ],
  "audiences": [
    "posture"
  ]
}
REVIEW morning review tour   work review

CLOCK: [2021-02-04 Thu 10:25][2021-02-04 Thu 17:32] => 7:07

[2021-02-04 Thu 10:25]

DONE test and discussion about CSA Migration   work

CLOCK: [2021-02-04 Thu 09:14][2021-02-04 Thu 10:25] => 1:11

[2021-02-04 Thu 10:24]

2021-02-05 Friday

Timestamp Tags Headline Time
Total time 2:59
2021-02-05 Friday 2:59
work, chat Team discussion 0:36
[2021-02-05 Fri 11:34] work, review Ambrose review 0:28
[2021-02-05 Fri 09:49] work, chat Client creation review with Diana 1:55
Clock summary at [2021-02-05 Fri 13:58]
IN-PROGRESS playing?   work

CLOCK: [2021-02-05 Fri 13:57][2021-02-05 Fri 14:57] => 1:00

[2021-02-05 Fri 13:57]

ref
Ambrose review
CHAT Team discussion   work chat

CLOCK: [2021-02-05 Fri 11:42][2021-02-05 Fri 12:18] => 0:36

REVIEW Ambrose review   work review

CLOCK: [2021-02-05 Fri 11:14][2021-02-05 Fri 11:42] => 0:28

[2021-02-05 Fri 11:34]

ref
Client creation review with Diana
CHAT Client creation review with Diana   work chat

CLOCK: [2021-02-05 Fri 09:19][2021-02-05 Fri 11:14] => 1:55

[2021-02-05 Fri 09:49]

ref
https://ui-staging.int.iroh.site/platform/sx-help-docs-1-66-db/help/settings-api-clients

Hi Diana,

Thanks for reaching out.

While reviewing the doc, I also checked the second screenshot. I think it should be changed by another one. The screenshot was made by a super user, so the scopes displayed are private one that none of our customer will ever see.

The main difference between a "Client Credentials Grant Client" and an "Authorization Code Grant Client" (those are the technically correct and kind of bad names for the two different kind of clients) is that:

  1. Client Credentials Grant Client are for your user only. Also you do not need to own a website.
  2. Authorization Code Grant Client can be used to ask other users to trust your application. You need to have a website to host your application.

The reason why a customer would want to configure an Authorization Code Grant Client could be:

  1. The customer follow a documentation provided by Cisco to integrate a on-premise product. In that case, the customer will probably need to only select a client-preset and enter a custom Redirect URL.
  2. The customer want to build an integration with SecureX. In this case this will be an advanced usage and the creator will probably be a developer. In this case the advanced developer doc should be mentionned for that customer. https://visibility.amp.cisco.com/iroh/doc/iroh-auth/

So both kind of clients are sufficiently different that I think the section about "Using API Client Credentials to Get Access Token" should be moved just after the API client creation section and before OAuth Code client creation section.

Also Explaining how to retrieve the access token from a Authorization Code Grant client is quite a technically advanced topic. This is why I would advise to directly provide a link to the advanced developer doc (the one inside IROH not the Cisco DEVNET; thus https://visibility.amp.cisco.com/iroh/doc/iroh-auth/)

So I think it is important to mention important limitations about those client creations. There is a notion of "Auto-approved clients". So a customer will be able to create clients but if some criteria are not met the client will be disabled until an IROH admin approve the client.

I think this should probably need to be talked about with someone in the UI/UX team. This system was very convenient for our advanced usage, but I don't know how to handle that nicely in the UI.

So here are (some) of the constraints a newly client must have to be automatically approved:

  1. The URL must start with https://
  2. The URL must not contain any wildcard *
  3. The Availabily must not be everyone
  4. The client contain some restricted scope (this should never occurs as the UI take care to show only scopes not subject to restriction)
  5. The client must not be public (the UI does not appear to provide the confidential vs public option)
  6. The client configure a list of specific audiences (the UI does not appear to provide any mean to configure this field)

I think for the documentation perspective we should only be concerned by point 1, 2 and 3. And this should probably be mentionned. I think we could probably give a few hints. So in your point 6

> Enter the Redirect URL that the authorization server uses to redirect back to the application. > Click Add another Redirect URL to enter multiple URLs.

I think you should probably mention that all URL must start with https:// and should not contain any *.

And for point 7

> Choose the Availability from the drop-down list. You can make the client > available to User, Organization, or Everyone.

You should probably mention that selecting Everyone is subject to approval and will need the intervention of a Cisco Administrator to approve your client.

We should probably add a short sentence explaining what is Availbility for. This is not an OAuth2 standard field. Availabilty "Org" mean that only member of your own Organization will be able to approve your client and this should probably be your default choice.

I hope I have been helpful. Do not hesitate to reach out if you have more questions.

2021-W06

2021-02-08 Monday

Timestamp Tags Headline Time
Total time 7:36
2021-02-08 Monday 7:36
[2021-02-08 Mon 17:01] work, meeting CSA Migration meeting 2:44
[2021-02-08 Mon 12:08] work, review Module configuration doc 4:52
Clock summary at [2021-02-08 Mon 19:45]
MEETING CSA Migration meeting   work meeting

CLOCK: [2021-02-08 Mon 17:01][2021-02-08 Mon 19:45] => 2:44

[2021-02-08 Mon 17:01]

ref

Problem with prefixes.

Here is the fix: https://github.com/threatgrid/iroh/pull/4763

REVIEW Module configuration doc   work review

CLOCK: [2021-02-08 Mon 12:09][2021-02-08 Mon 17:01] => 4:52

[2021-02-08 Mon 12:08]

ref
https://github.com/threatgrid/response/blob/master/features/platform/module_activation.png

2021-02-10 Wednesday

Timestamp Tags Headline Time
Total time 3:19
2021-02-10 Wednesday 3:19
[2021-02-10 Wed 15:23] work, review Victor PR about build speed-up 1:14
[2021-02-10 Wed 11:01] work write weekly status 0:34
[2021-02-10 Wed 10:18] work, chat Jyoti CSA Migration, Account… 1:31
Clock summary at [2021-02-10 Wed 15:25]
IN-PROGRESS Document SBG single account   work
DONE Prepare meeting   work

CLOCK: [2021-02-10 Wed 15:26][2021-02-10 Wed 17:06] => 1:40

[2021-02-10 Wed 15:26]

  1. How's everyone? Good, Great, Bad, Sad?
  2. Short daily stand up.

    • Done
    • Doing
    • need help
REVIEW Victor PR about build speed-up   work review

CLOCK: [2021-02-10 Wed 14:10][2021-02-10 Wed 15:24] => 1:14

[2021-02-10 Wed 15:23]

DONE write weekly status   work

CLOCK: [2021-02-10 Wed 11:01][2021-02-10 Wed 11:35] => 0:34

[2021-02-10 Wed 11:01]

  • CSA Migration work:

    • Implemented a PoC for plan B (migration via provisioning API)
    • Tested the PoC using Vitalii work on AMP team
    • Jyoti/QA/AMP Team tests (engineering)
    • Propose other improvements (write a long detailed document about possibilities to help Elias think about what is possible)
CHAT Jyoti CSA Migration, Account Activation Simplification   work chat

CLOCK: [2021-02-10 Wed 09:30][2021-02-10 Wed 11:01] => 1:31

[2021-02-10 Wed 10:18]

ref

2021-02-11 Thursday

Timestamp Tags Headline Time
Total time 2:37
2021-02-11 Thursday 2:37
[2021-02-11 Thu 11:00] work write doc for Auth/Id improvements 1:07
[2021-02-11 Thu 09:10] work, review multiple reviews and comment 1:30
Clock summary at [2021-02-11 Thu 14:17]
IN-PROGRESS write doc for Auth/Id improvements   work

CLOCK: [2021-02-11 Thu 14:17][2021-02-15 Mon 11:20] => 93:03 CLOCK: [2021-02-11 Thu 11:00][2021-02-11 Thu 12:07] => 3:17

[2021-02-11 Thu 11:00]

REVIEW multiple reviews and comment   work review

CLOCK: [2021-02-11 Thu 09:10][2021-02-11 Thu 10:40] => 1:30

[2021-02-11 Thu 09:10]

2021-W07

2021-02-15 Monday

IN-PROGRESS Authentication, ID, Activation Optimisation   work

CLOCK: [2021-02-15 Mon 11:20][2021-02-16 Tue 09:07] => 21:47

[2021-02-15 Mon 11:20]

ref
managed IdP vs non-managed IdP and org-ids

2021-02-16 Tuesday

DONE create OAuth2 clients for Vitalii in PROD   work

CLOCK: [2021-02-16 Tue 16:34][2021-02-16 Tue 16:35] => 0:01

[2021-02-16 Tue 16:34]

ref
/yogsototh/deft/src/commit/6a65d843640809b7fea07d4feec1a1912a9778a7/~/dev/iroh/services/iroh-auth/test/iroh_auth/iroh_auth_web_service_test.clj:::expect-merge? true
DONE update SSE clients   work

CLOCK: [2021-02-16 Tue 15:22][2021-02-16 Tue 16:34] => 1:12

[2021-02-16 Tue 15:22]

ref
~/dev/iroh/ (magit-status)
NAM

client-id: client-3e55e6a3-4561-4733-b380-ffbd94733ba1

{
  "scopes": [
    "integration",
    "private-intel",
    "admin",
    "profile",
    "inspect",
    "iroh-master",
    "iroh-auth",
    "sse",
    "users",
    "casebook",
    "orbital",
    "enrich",
    "oauth",
    "global-intel",
    "collect",
    "response",
    "ui-settings",
    "openid",
    "ao"
  ],
  "description": "PROD NAM Environment for Security Services Exchange Admin Console",
  "approved?": true,
  "redirects": [
    "https://admin.sse.itd.cisco.com/*/*",
    "https://admin.sse.itd.cisco.com/*/*/*",
    "https://admin.sse.itd.cisco.com/*",
    "https://admin.sse.itd.cisco.com/*/*/*/*",
    "https://devops.sse.itd.cisco.com/*/*",
    "https://devops.sse.itd.cisco.com/*/*/*",
    "https://devops.sse.itd.cisco.com/*",
    "https://devops.sse.itd.cisco.com/*/*/*/*"
  ],
  "availability": "everyone",
  "access-token-lifetime-in-sec": 86400,
  "id-token-aliases": [
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg": "TG",
        "idb-amp": "AMP"
      },
      "default-value": "AMP",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/idp/id"
    },
    {
      "alias": "companyId",
      "replace-value": [
        [
          "^threatgrid[:]",
          ""
        ]
      ],
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/id"
    },
    {
      "alias": "companyName",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/name"
    },
    {
      "alias": "user_name",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/name"
    },
    {
      "alias": "user_email",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/email"
    },
    {
      "alias": "role",
      "case-value": {
        "admin": "admin",
        "master": "admin",
        "iroh-admin": "admin"
      },
      "default-value": "user",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/role"
    }
  ],
  "password": "$s0$f0801$yjznqcXJR2qIloN/JFc4LQ==$FPuIlE/C5Pk/vVG+VVJeTos5UtV5HPhDveM3T/m4wAg=",
  "id-token-lifetime-in-sec": 86400,
  "name": "sse-ui-prod-nam-client",
  "org-id": "576c9ad4-7820-44ca-9d5e-6ca678eadcd1",
  "enabled?": true,
  "grants": [
    "auth-code"
  ],
  "client-type": "confidential",
  "id": "client-3e55e6a3-4561-4733-b380-ffbd94733ba1",
  "approval-status": "approved",
  "owner-id": "d697511a-9164-49d0-8c7b-a5c1a11fb25d",
  "created-at": "2020-02-03T13:48:54.758Z"
}
PATCH
{
  "id-token-aliases": [
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg": "TG",
        "idb-amp": "AMP"
      },
      "default-value": "AMP",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/idp/id"
    },
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg": "TG",
        "idb-amp": "AMP"
      },
      "default-value": "AMP",
      "claim-to-alias": "old-idp-mapping-idp"
    },
    {
      "alias": "companyId",
      "replace-value": [
        [
          "^threatgrid[:]",
          ""
        ]
      ],
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/id"
    },
    {
      "alias": "companyId",
      "replace-value": [
        [
          "^threatgrid[:]",
          ""
        ]
      ],
      "claim-to-alias": "old-idp-mapping-organization-id"
    },
    {
      "alias": "companyName",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/name"
    },
    {
      "alias": "user_name",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/name"
    },
    {
      "alias": "user_email",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/email"
    },
    {
      "alias": "role",
      "case-value": {
        "admin": "admin",
        "master": "admin",
        "iroh-admin": "admin"
      },
      "default-value": "user",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/role"
    }
  ]
}
EU

become master:

user-id: 080c8271-e1c7-4fe6-b6e2-bc1fda123432 done.

{
  "scopes": [
    "integration",
    "private-intel",
    "admin",
    "profile",
    "inspect",
    "iroh-master",
    "iroh-auth",
    "sse",
    "users",
    "casebook",
    "orbital",
    "enrich",
    "oauth",
    "global-intel",
    "collect",
    "response",
    "ui-settings",
    "openid",
    "ao"
  ],
  "description": "PROD EU Environment for Security Services Exchange Admin Console",
  "approved?": true,
  "redirects": [
    "https://admin.eu.sse.itd.cisco.com/*/*",
    "https://admin.eu.sse.itd.cisco.com/*/*/*",
    "https://admin.eu.sse.itd.cisco.com/*",
    "https://admin.eu.sse.itd.cisco.com/*/*/*/*",
    "https://devops.eu.sse.itd.cisco.com/*/*",
    "https://devops.eu.sse.itd.cisco.com/*/*/*",
    "https://devops.eu.sse.itd.cisco.com/*",
    "https://devops.eu.sse.itd.cisco.com/*/*/*/*"
  ],
  "availability": "everyone",
  "access-token-lifetime-in-sec": 86400,
  "id-token-aliases": [
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg": "TG-EU",
        "idb-amp": "AMP-EU"
      },
      "default-value": "AMP-EU",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/idp/id"
    },
    {
      "alias": "companyId",
      "replace-value": [
        [
          "^threatgrid[:]",
          ""
        ]
      ],
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/id"
    },
    {
      "alias": "companyName",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/name"
    },
    {
      "alias": "user_name",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/name"
    },
    {
      "alias": "user_email",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/email"
    },
    {
      "alias": "role",
      "case-value": {
        "admin": "admin",
        "master": "admin",
        "iroh-admin": "admin"
      },
      "default-value": "user",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/role"
    }
  ],
  "password": "$s0$f0801$yjznqcXJR2qIloN/JFc4LQ==$FPuIlE/C5Pk/vVG+VVJeTos5UtV5HPhDveM3T/m4wAg=",
  "id-token-lifetime-in-sec": 86400,
  "name": "sse-ui-prod-eu-client",
  "org-id": "576c9ad4-7820-44ca-9d5e-6ca678eadcd1",
  "enabled?": true,
  "grants": [
    "auth-code"
  ],
  "client-type": "confidential",
  "id": "client-3e55e6a3-4561-4733-b380-ffbd94733ba1",
  "approval-status": "approved",
  "owner-id": "d697511a-9164-49d0-8c7b-a5c1a11fb25d",
  "created-at": "2020-02-03T13:48:54.758Z"
}

PATCH

{
    "id-token-aliases": [
        {
            "alias": "spId",
            "case-value": {
                "sxso": "SXSO",
                "idb-tg": "TG-EU",
                "idb-amp": "AMP-EU"
            },
            "default-value": "AMP-EU",
            "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/idp/id"
        },
        {
            "alias": "spId",
            "case-value": {
                "sxso": "SXSO",
                "idb-tg": "TG-EU",
                "idb-amp": "AMP-EU"
            },
            "default-value": "AMP-EU",
            "claim-to-alias": "old-idp-mapping-idp"
        },
        {
            "alias": "companyId",
            "replace-value": [
                [
                    "^threatgrid[:]",
                    ""
                ]
            ],
            "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/id"
        },
        {
            "alias": "companyId",
            "replace-value": [
                [
                    "^threatgrid[:]",
                    ""
                ]
            ],
            "claim-to-alias": "old-idp-mapping-organization-id"
        },
        {
            "alias": "companyName",
            "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/name"
        },
        {
            "alias": "user_name",
            "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/name"
        },
        {
            "alias": "user_email",
            "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/email"
        },
        {
            "alias": "role",
            "case-value": {
                "admin": "admin",
                "master": "admin",
                "iroh-admin": "admin"
            },
            "default-value": "user",
            "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/role"
        }
    ]}
APJC

Become master: user-id: b19d5dea-5aa4-4265-b42d-9acc1e913f01 done.

Client client-3e55e6a3-4561-4733-b380-ffbd94733ba1
{
  "scopes": [
    "integration",
    "private-intel",
    "admin",
    "profile",
    "inspect",
    "iroh-master",
    "iroh-auth",
    "sse",
    "users",
    "casebook",
    "orbital",
    "enrich",
    "oauth",
    "global-intel",
    "collect",
    "response",
    "ui-settings",
    "openid",
    "ao"
  ],
  "description": "PROD APJC Environment for Security Services Exchange Admin Console",
  "approved?": true,
  "redirects": [
    "https://admin.apj.sse.itd.cisco.com/*/*",
    "https://admin.apj.sse.itd.cisco.com/*/*/*",
    "https://admin.apj.sse.itd.cisco.com/*",
    "https://admin.apj.sse.itd.cisco.com/*/*/*/*",
    "https://devops.apj.sse.itd.cisco.com/*/*",
    "https://devops.apj.sse.itd.cisco.com/*/*/*",
    "https://devops.apj.sse.itd.cisco.com/*",
    "https://devops.apj.sse.itd.cisco.com/*/*/*/*",
    "https://devops.apj.sse.itd.cisco.com"
  ],
  "availability": "everyone",
  "access-token-lifetime-in-sec": 86400,
  "id-token-aliases": [
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg": "TG-APJ",
        "idb-amp": "AMP-APJ"
      },
      "default-value": "AMP",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/idp/id"
    },
    {
      "alias": "companyId",
      "replace-value": [
        [
          "^threatgrid[:]",
          ""
        ]
      ],
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/id"
    },
    {
      "alias": "companyName",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/name"
    },
    {
      "alias": "user_name",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/name"
    },
    {
      "alias": "user_email",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/email"
    },
    {
      "alias": "role",
      "case-value": {
        "admin": "admin",
        "master": "admin",
        "iroh-admin": "admin"
      },
      "default-value": "user",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/role"
    }
  ],
  "password": "$s0$f0801$yjznqcXJR2qIloN/JFc4LQ==$FPuIlE/C5Pk/vVG+VVJeTos5UtV5HPhDveM3T/m4wAg=",
  "id-token-lifetime-in-sec": 86400,
  "name": "sse-ui-prod-apjc-client",
  "org-id": "576c9ad4-7820-44ca-9d5e-6ca678eadcd1",
  "enabled?": true,
  "grants": [
    "auth-code"
  ],
  "client-type": "confidential",
  "id": "client-3e55e6a3-4561-4733-b380-ffbd94733ba1",
  "approval-status": "approved",
  "owner-id": "d697511a-9164-49d0-8c7b-a5c1a11fb25d",
  "created-at": "2020-02-03T13:48:54.758Z"
}

PATCH

{
  "id-token-aliases": [
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg": "TG-APJ",
        "idb-amp": "AMP-APJ"
      },
      "default-value": "AMP-APJ",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/idp/id"
    },
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg": "TG-APJ",
        "idb-amp": "AMP-APJ"
      },
      "default-value": "AMP-APJ",
      "claim-to-alias": "old-idp-mapping-idp"
    },
    {
      "alias": "companyId",
      "replace-value": [
        [
          "^threatgrid[:]",
          ""
        ]
      ],
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/id"
    },
    {
      "alias": "companyId",
      "replace-value": [
        [
          "^threatgrid[:]",
          ""
        ]
      ],
      "claim-to-alias": "old-idp-mapping-organization-id"
    },
    {
      "alias": "companyName",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/name"
    },
    {
      "alias": "user_name",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/name"
    },
    {
      "alias": "user_email",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/email"
    },
    {
      "alias": "role",
      "case-value": {
        "admin": "admin",
        "master": "admin",
        "iroh-admin": "admin"
      },
      "default-value": "user",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/role"
    }
  ]
}
Client client-92258bc0-196a-4f6c-a0b5-fe105de5f505
{
  "scopes": [
    "integration",
    "private-intel",
    "admin",
    "profile",
    "inspect",
    "iroh-master",
    "iroh-auth",
    "sse",
    "users",
    "casebook",
    "orbital",
    "enrich",
    "oauth",
    "global-intel",
    "collect",
    "response",
    "ui-settings",
    "openid",
    "ao"
  ],
  "description": "PROD APJC Environment for Security Services Exchange Admin Console",
  "approved?": true,
  "redirects": [
    "http://localhost:*/*",
    "https://localhost:*/*/*/*",
    "https://localhost:*/*/*",
    "https://admin.apj.sse.itd.cisco.com/*/*",
    "https://admin.apj.sse.itd.cisco.com/*/*/*",
    "https://admin.apj.sse.itd.cisco.com/*",
    "https://admin.apj.sse.itd.cisco.com/*/*/*/*",
    "https://localhost:*",
    "http://localhost:*/*/*/*",
    "https://localhost:*/*",
    "http://localhost:*/*/*",
    "http://localhost:*"
  ],
  "availability": "everyone",
  "access-token-lifetime-in-sec": 86400,
  "id-token-aliases": [
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg-staging": "TG",
        "idb-amp-staging": "AMP"
      },
      "default-value": "AMP",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/idp/id"
    },
    {
      "alias": "companyId",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/id"
    },
    {
      "alias": "companyName",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/name"
    },
    {
      "alias": "user_name",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/name"
    },
    {
      "alias": "user_email",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/email"
    },
    {
      "alias": "role",
      "case-value": {
        "admin": "admin",
        "master": "admin"
      },
      "default-value": "admin",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/role"
    }
  ],
  "password": "$s0$f0801$1oB9uodlfkUpACx2HNnVcQ==$eLNMiORI5R4jCWZp40fGyQvU59bqigGtwoYr8f7cVzU=",
  "id-token-lifetime-in-sec": 86400,
  "name": "sse-ui-dev-client",
  "org-id": "63489cf9-561c-4958-a13d-6d84b7ef09d4",
  "enabled?": true,
  "grants": [
    "auth-code"
  ],
  "client-type": "confidential",
  "id": "client-92258bc0-196a-4f6c-a0b5-fe105de5f505",
  "approval-status": "approved",
  "owner-id": "6ee52ee9-2e3a-4e1b-977d-961facb5fd84",
  "created-at": "2020-02-03T13:48:54.758Z"
}

PATCH

 { "id-token-aliases": [
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg-staging": "TG",
        "idb-amp-staging": "AMP"
      },
      "default-value": "AMP",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/idp/id"
    },
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg-staging": "TG",
        "idb-amp-staging": "AMP"
      },
      "default-value": "AMP",
      "claim-to-alias": "old-idp-mapping-idp"
    },
    {
      "alias": "companyId",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/id"
    },
    {
      "alias": "companyId",
      "claim-to-alias": "old-idp-mapping-organization-id"
    },
    {
      "alias": "companyName",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/org/name"
    },
    {
      "alias": "user_name",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/name"
    },
    {
      "alias": "user_email",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/email"
    },
    {
      "alias": "role",
      "case-value": {
        "admin": "admin",
        "master": "admin"
      },
      "default-value": "admin",
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/role"
    }
  ]}
DONE CSA Migration: merge user by email   work

CLOCK: [2021-02-16 Tue 09:07][2021-02-16 Tue 15:22] => 6:15

[2021-02-16 Tue 09:07]

2021-02-17 Wednesday

IN-PROGRESS clients SSE   work

CLOCK: [2021-02-17 Wed 17:25][2021-02-18 Thu 09:18] => 15:53

[2021-02-17 Wed 17:25]

ref
TEST
MEETING weekly meeting   work meeting

CLOCK: [2021-02-17 Wed 16:02][2021-02-17 Wed 17:25] => 1:23

[2021-02-17 Wed 16:02]

ref
IN-PROGRESS Update SSE client 2nd pass   work

CLOCK: [2021-02-17 Wed 14:52][2021-02-17 Wed 16:02] => 1:10

[2021-02-17 Wed 14:52]

2021-02-18 Thursday

IN-PROGRESS debug claim aliases   work

2021-02-19 Friday

IN-PROGRESS Device Grant analysis   work

[2021-02-19 Fri 15:41]

2021-W08

2021-02-22 Monday

MEETING Core Team: SecureX Account Activation Optimization   work meeting

CLOCK: [2021-02-22 Mon 16:02][2021-02-23 Tue 08:47] => 16:45

[2021-02-22 Mon 16:02]

ref
revision chaudiere

Meeting Agenda:

  • Discussion to drive forward SecureX Account Activation Optimization Q3 efforts

    • Account Creation Workflow
    • CSA Migration (has it own dedicated work stream but is there anything impacting the overall initiative?)
    • Firepower Onboarding (has it own dedicated work stream but is there anything impacting the overall initiative?)
    • Workflow
    • Role Based Access
    • Module Addition/Health Workflow
  • Status of action items from last core team call
  • What help is needed (decisions, clarity, etc.)
  • Any blockers or issues?

Doing in Q3.

Most conversation is good.

Agenda:

@Jyoti, this is a huge item. Audience in this meeting is too big.

Where to track. Some github issue are dead.

Namrata: focus on first 3 items. Martin: item named workflow, don't know what that is.

Module Addition.

2021-02-23 Tuesday

CHAT webex morning routine   work chat

CLOCK: [2021-02-23 Tue 08:47][2021-02-23 Tue 09:47] => 1:00

[2021-02-23 Tue 08:47]

TODO Houman

SCHEDULED: <2021-02-23 Tue 16:00>

@Houman

Hi Yann - something for tomorrow, none of the QA orgs in TEST or INT are showing the registered devices in SSE. When I cross launch to SSE, I am able to see the devices, but in SecureX there is no device. Both are AMP orgs and already migrated. Here are the org IDs:

c395f3c8-723b-4d15-b8b7-e17bec459c6b
cc6a35bc-1739-4fcd-a285-aa95adbd5e41

Could you please take a look and unblock QA orgs?

Investigation

INT org

{
  "id": "c395f3c8-723b-4d15-b8b7-e17bec459c6b",
  "name": "adminctrqa",
  "enabled?": true,
  "created-at": "2019-04-04T20:33:53.033Z",
  "idp-mapping": {
    "idp": "idb-amp-staging",
    "enabled?": true,
    "organization-id": "c395f3c8-723b-4d15-b8b7-e17bec459c6b"
  },
  "scim-status": "activated",
  "additional-scopes": [
    "iroh-admin",
    "iroh-master",
    "iroh-auth",
    "sse",
    "cisco"
  ]
}

Contains idp-mapping. Logs during OIDC does not contain it:

The client claim-aliases looks ok:

 "id-token-aliases": [
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg-staging": "TG",
        "idb-amp-staging": "AMP"
      },
      "claim-to-alias": "https://schemas.cisco.com/iroh/identity/claims/user/idp/id"
    },
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg-staging": "TG",
        "idb-amp-staging": "AMP"
      },
      "claim-to-alias": "idp-mapping-idp"
    },
    {
      "alias": "spId",
      "case-value": {
        "sxso": "SXSO",
        "idb-tg-staging": "TG",
        "idb-amp-staging": "AMP"
      },
      "claim-to-alias": "old-idp-mapping-idp"
    },

2021-02-24 Wednesday

MEETING dev weekly   work meeting

CLOCK: [2021-02-24 Wed 15:55]

[2021-02-24 Wed 15:55]

commits

IROH:

  • Provisioning: organization-id added to idp-mapping (#4855)
  • Use entities in DB during SSE id-token generation (#4844) …
  • Added tests to verify #4808 (#4817) …
  • Hide provisioning API routes (#4835)
  • OAuth2 client availabilty restriction for non admin (#4820) …
  • Prevent user merge by email for some IdP (#4819) …

Tenzin-config:

Provisioning API in PROD (#375) Mark some IdP as safe for email (#374)

Reviews
  • Extract `user->identity` helper
  • RFC Problem Statement: Managing transitive dependencies for "test" jars
  • Add schema validation for `gen-jwt`
  • Use EmailService in iroh-feedback
  • RFC: Prevent dependency confusion attack on our code base
  • Add a `svc-helper` for `iroh-int.test-helpers.auth`
Issues
  • Write tests for #4844
  • SSE wrong org object passed to id_token generation
  • Prevent merge user by email for TG accounts
  • Claim aliases bug fix
  • Prevent non-admin users to create client with availability "Org"
  • Update SSE Clients