הורדת חבילות Java באמצעות גישה ישירה למאגר

אחרי שמשלבים את Assured OSS עם Security Command Center, חבילות של Assured Open Source Software מתארחות במאגר Artifact Registry שנוצר בפרויקט שאתם שולטים בו.

בדף הזה מוסבר איך להתחבר למאגר של Artifact Registry בשביל Assured OSS כדי לגשת ישירות לחבילות Java ולהוריד אותן.

המסמך הזה רלוונטי רק למסלול הפרימיום Assured OSS. למידע על התוכנית בחינם, אפשר לעיין במאמר הורדת חבילות Java באמצעות גישה ישירה למאגר לתוכנית בחינם.

לפני שמתחילים

  1. צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM אדמין של מפתח של חשבון שירות (roles/iam.serviceAccountKeyAdmin) בארגון. ההרשאה הזו נדרשת כדי לקבל את המחרוזת המקודדת ב-Base64 של מפתח חשבון השירות. להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

  2. שילוב של Assured OSS עם Security Command Center.

  3. מאמתים את הקישוריות אל Assured OSS עבור חשבונות השירות המבוקשים.

  4. מתקינים את הגרסה האחרונה של Google Cloud CLI. אם התקנתם את Google Cloud CLI בעבר, צריך לוודא שפועלת אצלכם הגרסה העדכנית ביותר באמצעות הפקודה הבאה:

    gcloud components update
    

מגדירים אימות

‫Artifact Registry תומך בשיטות האימות הבאות:

  • אימות באמצעות כלי עזר לפרטי כניסה
  • אימות באמצעות סיסמה

בקטעים הבאים מוסבר איך מגדירים את שיטות האימות האלה.

אימות באמצעות כלי עזר לאימות

‫Artifact Registry מספק Maven wagon וGradle plugin לשימוש כcredential helpers. האפשרות הזו מספקת את הגמישות הגדולה ביותר.

במאמר הגדרת אימות מוסבר איך מגדירים Application Default Credentials.

הגדרת כלי עזר לפרטי הכניסה

אם אתם משתמשים בכלי עזר לפרטי כניסה כדי להגדיר אימות, צריך לבצע את השינויים הבאים בהתאם לכלי הבנייה.

Maven

<project>
  <build>
    <extensions>
      <extension>
        <groupId>com.google.cloud.artifactregistry</groupId>
        <artifactId>artifactregistry-maven-wagon</artifactId>
        <version>2.2.0</version>
      </extension>
    </extensions>
  </build>
</project>

Gradle

plugins {
  id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.0"
}

אימות באמצעות סיסמה

אימות באמצעות סיסמה כשנדרש אימות באפליקציית Java עם שם משתמש וסיסמה ספציפיים. משנים את ההגדרות בהתאם לכלי הבנייה:

Maven

מוסיפים את הגדרות האימות הבאות בקטע settings בקובץ ~/.m2/settings.xml. אם הקובץ לא קיים, יוצרים אותו. מידע נוסף מופיע במאמר בנושא הגדרות Maven.

<settings>
  <servers>
    <server>
      <id>artifact-registry</id>
      <configuration>
        <httpConfiguration>
          <get>
            <usePreemptive>true</usePreemptive>
          </get>
          <head>
            <usePreemptive>true</usePreemptive>
          </head>
          <put>
            <params>
              <property>
                <name>http.protocol.expect-continue</name>
                <value>false</value>
              </property>
            </params>
          </put>
        </httpConfiguration>
      </configuration>
      <username>_json_key_base64</username>
      <password>KEY</password>
    </server>
  </servers>
</settings>

מחליפים את KEY בקידוד base64 של קובץ מפתח ה-JSON של חשבון השירות כולו. כדי לעשות זאת, מריצים את הפקודה הבאה:

cat KEY_FILE_LOCATION  | base64

מחליפים את KEY_FILE_LOCATION במיקום של קובץ מפתח ה-JSON של חשבון השירות.

Gradle

מוסיפים את השורה הבאה לקובץ ~/.gradle/gradle.properties כדי שהמפתח לא יוצג בגרסאות או במאגר של בקרת המקור.

artifactRegistryMavenSecret = KEY

מחליפים את KEY במפתח הפרטי מקובץ מפתח ה-JSON של חשבון השירות. עבור json_key_base64, הקובץ artifactRegistryMavenSecret מכיל את הסיסמה המוצפנת בקידוד base64. לדוגמה, base64 -w 0 KEY.

בקובץ build.gradle, מציינים את הגדרות המאגר באמצעות הדוגמה הבאה:

repositories {
  maven {
    url "artifactregistry://us-maven.pkg.dev/PROJECT_ID/assuredoss-java"
    credentials {
      username = "_json_key_base64"
      password = "$artifactRegistryMavenSecret"
    }
    authentication {
      basic(BasicAuthentication)
    }
  }
}

מחליפים את PROJECT_ID במזהה הפרויקט שבחרתם כשהגדרתם את Assured Open Source Software.

עדכון קובץ התצורה של הפרויקט כך שיצביע על המאגר

Maven

מוסיפים את ההגדרות הבאות לקטע המתאים בקובץ pom.xml של פרויקט Maven. לא להחליף את הגדרות האימות.

<project>
  <repositories>
    <repository>
      <id>artifact-registry</id>
      <url>artifactregistry://us-maven.pkg.dev/PROJECT_ID/assuredoss-java</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
</project>

מחליפים את PROJECT_ID במזהה הפרויקט שבחרתם כשהגדרתם את Assured Open Source Software.

פרטים על מבנה הקובץ זמינים בהפניה ל-POM ב-Maven.

Gradle

מציינים את הגדרות המאגר הבאות בקובץ build.gradle. לא להחליף את הגדרות האימות.

repositories {
  maven {
  url "artifactregistry://us-maven.pkg.dev/PROJECT_ID/assuredoss-java"
  }
}

מחליפים את PROJECT_ID במזהה הפרויקט שבחרתם כשהגדרתם את Assured Open Source Software.

עדכון קובץ התצורה של הפרויקט כדי להוסיף תלויות

כדי להוריד פריט מידע שנוצר בתהליך פיתוח (Artifact) כחלק מה-Build, צריך להצהיר על הפריט כתלות.

Maven

מצהירים על החבילות שרוצים להוריד בקובץ pom.xml של פרויקט Maven.

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.17.1</version>
</dependency>

Gradle

מצהירים על החבילות שרוצים להוריד בקובץ build.gradle.

dependencies {
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.17.1'
}

רשימה של כל חבילות Java שזמינות ב-Assured OSS

כדי להשתמש ב-API כדי לקבל רשימה של כל חבילות Java שזמינות במאגר Artifact Registry, אפשר לעיין במאמר איך מציגים את כל חבילות Java שזמינות ב-Security Command Center.

המאמרים הבאים