Navigation

    Inedo Community Forums

    Forums

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    1. Home
    2. sgardj_2482
    S
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    sgardj_2482

    @sgardj_2482

    0
    Reputation
    5
    Posts
    1
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    sgardj_2482 Follow

    Best posts made by sgardj_2482

    This user hasn't posted anything yet.

    Latest posts made by sgardj_2482

    • RE: Running ProGet with Group Managed Service Account

      I was trying to do the same thing. These are the steps I took to get it working. Some of the steps I gave examples for both a standard service account and a group managed service account to help show how to do it either way. The PostgreSQL references to the group managed service account can be swapped for the service account if a standard service account is the preference.

      File Permissions

      Change only the 'ProGetService' logon_as to service account.
      Note: If using a Group Managed Service Account, leave the password fields blank

      Grant 'Full Control' permissions over each directory configured in Advanced settings for the following settings:

      • Extensions.BuiltInExtensionsPath
      • Extensions.CommonCachePath
      • Extensions.ExtensionsPath
      • Storage.PackagesRootPath
      • Storage.LocalStoragePath

      Certificate Key Permissions

      Navigate to the certificate used by the server for SSL encryption:

      • Start > Run > MMC
      • File > Add/Remove Snap-in...
      • Add 'Certificates' for "Computer Account"
      • In the Personal certificates store, right-click the appropriate certificate, select "All Tasks > Manage Private Keys..."
      • Add the service account and grant it 'Read' permissions

      HTTPS Binding to a Hostname

      Edit C:\ProgramData\Inedo\SharedConfig\ProGet.config
      Update 'WebServer' Urls element to use "https://*:443".

      • Note: Using the hostname instead of the wildcard will cause all feeds and assets to use Windows Integrated Authentication making any attempt to authenticate with an API key fail.

      Run the following from an elevated administrator privilege console:

      • (Service Account)
        netsh http add urlacl url=https://*:443/ user=svcServiceAccount

      <or>

      • (Group Managed Service Account)
        netsh http add urlacl url=https://*:443/ user=DOMAIN\gmsaServiceAccount$

      Execute the command:
      netsh http add sslcert hostnameport=myproget.com:443 certhash=<thumbprint> certstorename=My appid="{E7FD8489-4931-45D9-8D42-427367B12584}"

      Run as a user with domain administrator privileges:

      • (Service Account)
        setspn -U -S HTTP/server.fqdn.com svcServiceAccount

        <or>

      • (Group Managed Service Account)
        setspn -S HTTP/server.fqdn.com gmsaServiceAccount

      PostgreSQL SSPI Authentication

      Edit C:\ProgramData\Inedo\SharedConfig\ProGet.config

      • Note: Save the password from the database connection string as it will be needed to connect to the database later

      Update the connection string to delete the 'Password' attribute and value, change the username to 'Username=gmsaServiceAccount$@DOMAIN"

      • Note: The user name must end with the '$' character if it is a group managed service account. Also the name is case sensitive.

      Edit C:\ProgramData\ProGet\Database\pg_hba.conf
      Add the following line:
      host all gmsaServiceAccount$@DOMAIN 127.0.0.1/32 sspi

      PostgreSQL Login/Group Roles

      Execute the command:
      "C:\Program Files\ProGet\Service\postgres\bin\psql.exe" -d proget -U proget -h 127.0.0.1 -p 5728 -c "CREATE ROLE ""gmsaServiceAccount$@DOMAIN"" WITH LOGIN SUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION BYPASSRLS;"

      When prompted, enter the password that was saved from the database connection string in C:\ProgramData\Inedo\SharedConfig\ProGet.config

      <or>

      You can create a SQL script file named C:\Temp\init_roles.sql and add the following:

      -- Role: "gmsaServiceAccount$@DOMAIN"
      -- DROP ROLE IF EXISTS "gmsaServiceAccount$@DOMAIN";
      
      CREATE ROLE "gmsaServiceAccount$@DOMAIN" WITH
        LOGIN
        SUPERUSER
        INHERIT
        CREATEDB
        CREATEROLE
        REPLICATION
        BYPASSRLS;
      

      Execute the script:
      "C:\Program Files\ProGet\Service\postgres\bin\psql.exe" -d proget -U proget -h 127.0.0.1 -p 5728 -f C:\Temp\init_roles.sql

      Alternatively, you can install pgAdmin (https://www.pgadmin.org/download/pgadmin-4-windows/) and add the role by navigating down the Object Explorer, right-clicking on 'Log/Group Roles > Create > Login/Group Role...'

      Give the name in the format "gmsaServiceAccount$@DOMAIN", and on the Privileges tab enable all privileges, then Save.

      posted in Support
      S
      sgardj_2482
    • IIS/WIA deprecation and support

      I see at Windows Integrated Authentication ProGet 2025 will no longer run on IIS, but at Windows Integrated Authentication it says it will be supported. Will ProGet 2025 offer WIA through a custom web service built on HTTP.SYS or will that not be a login option for 2025?

      posted in Support
      S
      sgardj_2482
    • RE: Security task to view asset metadata only

      Ok thanks for the explanation.

      posted in Support
      S
      sgardj_2482
    • RE: Security task to view asset metadata only

      I had already tried that, but it just gives the message "Anonymous is not permitted to perform the Feeds_DownloadPackage task for the current scope.". This when trying to hit the URL like "https://mypackages.corp.com/endpoints/server-isos/metadata/gold-master.iso" I thought it was curious it says 'DownloadPackage' specifically when I wasn't trying to download. After granting the download permissions I then see the expected metadata response, copied below, using the above URL.

      {
      "name": "gold-master.iso",
      "size": 5536286720,
      "type": "application/octet-stream",
      "content": "https://mypackages.corp.com/endpoints/server-isos/metadata/gold-master.iso",
      "md5": "583fa95fa343bf17d9900292001a3bda",
      "sha1": "9e569930948b38b46f63518f6399af700c034095",
      "sha256": "9976b3e125050542ca50de3c7347d132113834edc151c64c55f9e30bc4d2160f",
      "sha512": "8962ccd82d4898a84d11cb218b6a9b1d8aa6c96712a87cc1965aebd4a7534e09daeec29cbee8f097bebf423e136b2384e87dcd2089d2ca4bf361afbb98b4168b",
      "created": "2023-03-27T20:18:33.697Z",
      "modified": "2023-03-27T20:18:33.697Z",
      "cacheHeader": {
      "type": "Inherit"
      }
      }

      posted in Support
      S
      sgardj_2482
    • Security task to view asset metadata only

      Is this possible? It seems the 'Download package' task grants permission to view metadata. I would like to allow anonymous users to view metadata of the files in a particular asset directory, without them being able to download the files.

      posted in Support
      S
      sgardj_2482