Примечание.
Поддержка Actions для Google Cloud Storage в настоящее время находится в public preview и подлежит изменению.
О внешнем хранилище для Actions
Actions использует внешнее хранилище BLOB-объектов для хранения данных, созданных рабочими процессами. Сохраненные данные включают журналы рабочих процессов, кэши и артефакты сборки, отправленные пользователем. Дополнительные сведения см. в разделе Начало работы с Actions для сервера Enterprise.
Существует два варианта настройки Enterprise Server для подключения к внешнему поставщику хранилища:
- OpenID Connect (OIDC)
- Традиционная проверка подлинности на основе учетных данных с помощью секретов
Мы рекомендуем использовать OIDC, если это возможно, так как вам не потребуется создавать конфиденциальные и длительные секреты учетных данных для поставщика хранилища и риск их предоставления. После определения доверия с помощью OIDC поставщик облачных хранилищ автоматически выдает маркеры доступа с коротким сроком действия к экземпляр Enterprise Server, которые автоматически истекают.
Необходимые компоненты
Перед включением Actions выполните следующие действия:
Создайте контейнер Google Cloud Storage для хранения данных, созданных рабочими процессами.
Ознакомьтесь с требованиями к оборудованию для Actions. Дополнительные сведения см. в разделе Начало работы с Actions для сервера Enterprise.
Протокол TLS должен быть настроен для домена Enterprise Server. Дополнительные сведения см. в разделе Настройка TLS.
Примечание.
Настоятельно рекомендуется настроить TLS в Enterprise Server с сертификатом, подписанным доверенным центром авторизации. Хотя самозаверяющий сертификат можно использовать, необходимо дополнительно настроить локальные средства выполнения тестов, и не рекомендуется использовать сертификат для рабочих сред.
Если у вас есть http-прокси-сервер **, настроенный **на :
Необходимо добавить
.localhost
и127.0.0.1``::1
в список исключений **** прокси-сервера HTTP (в этом порядке).Если расположение внешнего хранилища не является маршрутизируемым, необходимо также добавить URL-адрес внешнего хранилища в список исключений.
Дополнительные сведения об изменении параметров прокси-сервера см. в разделе Настройка сервера веб-прокси исходящего трафика.
Если вы используете OIDC для подключения к поставщику хранилища, необходимо предоставить следующие URL-адреса службы маркеров OIDC на экземпляр Enterprise Server в общедоступном Интернете:
https://HOSTNAME/_services/token/.well-known/openid-configuration https://HOSTNAME/_services/token/.well-known/jwks
Это гарантирует, что поставщик хранилища может связаться с экземпляр Enterprise Server для проверки подлинности.
Включение Actions с google Cloud Storage с помощью OIDC (рекомендуется)
Чтобы настроить Enterprise Server для использования OIDC с Google Cloud Storage, необходимо сначала создать учетную запись службы Google Cloud, а затем создать пул удостоверений Google Cloud и поставщик удостоверений, а затем настроить Enterprise Server для доступа к контейнеру облачного хранилища Google.
1. Создание учетной записи службы
Создайте учетную запись службы, которая может получить доступ к контейнеру с помощью OIDC. Дополнительные сведения см. в статье Создание учетных записей служб и управление ими документации Google Cloud.
При создании учетной записи службы убедитесь, что вы выполните указанные ниже действия.
- Включите API IAM, как описано в начале создания учетных записей служб и управления ими.
- Добавьте следующие роли в учетную запись службы:
- Создатель маркера учетной записи службы
- Администратор объекта хранилища
После создания учетной записи службы запишите его адрес электронной почты, так как он понадобится позже. Адрес электронной почты учетной записи службы находится в формате
[email protected]
.
2. Создание пула удостоверений и поставщика удостоверений
В консоли Google Cloud перейдите на страницу "Новый поставщик рабочей нагрузки" и страницу пула .
В разделе "Создание пула удостоверений" введите имя пула удостоверений и нажмите кнопку "Продолжить".
В разделе "Добавление поставщика в пул":
Для параметра "Выбор поставщика" выберите OpenID Connect (OIDC).
В поле "Имя поставщика" введите имя поставщика.
В поле "Издатель (URL-адрес)" введите следующий URL-адрес, заменив
HOSTNAME
общедоступным именем узла для экземпляр Enterprise Server:https://HOSTNAME/_services/token
Например:
https://my-ghes-host.example.com/_services/token
В разделе "Аудитории" оставьте выбранную аудиторию по умолчанию, но обратите внимание на URL-адрес поставщика удостоверений, так как это необходимо позже. URL-адрес поставщика удостоверений находится в формате
https://iam.googleapis.com/projects/PROJECT-NUMBER/locations/global/workloadIdentityPools/POOL-NAME/providers/PROVIDER-NAME
.Нажмите кнопку Продолжить.
В разделе "Настройка атрибутов поставщика":
Введите
assertion.sub
для сопоставления "OIDC 1".В разделе "Условия атрибута" нажмите кнопку "Добавить условие".
В поле "Условие CEL" введите следующее условие, заменив
HOSTNAME
общедоступным именем узла экземпляр Enterprise Server:google.subject == "HOSTNAME"
Например:
google.subject == "my-ghes-host.example.com"
Примечание.
Имя узла экземпляр Enterprise Server, используемое здесь , не должно включать протокол.
Нажмите кнопку Сохранить.
После создания пула удостоверений в верхней части страницы пула удостоверений нажмите кнопку "Предоставить доступ".
- В разделе "Выбор учетной записи службы" выберите учетную запись службы, созданную в предыдущей процедуре.
- В разделе "Выбор субъектов (удостоверений, которые могут получить доступ к учетной записи службы)", выберите только удостоверения, соответствующие фильтру.
- В поле "Имя атрибута" выберите тему.
- В поле "Значение атрибута" введите имя узла Enterprise Server без протокола. Например,
my-ghes-host.example.com
. - Нажмите кнопку Сохранить.
- Диалоговое окно "Настройка приложения" можно закрыть, так как файл конфигурации не нужен.
3. Настройка Enterprise Server для подключения к Облачному хранилищу Google с помощью OIDC
В учетной записи администратора Enterprise Server, в правом верхнем углу любой страницы щелкните .
Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.
На боковой панели " "Администратор сайта" щелкните Консоль управления.
На боковой панели "Параметры" щелкните "Действия".
В разделе " Actions" выберите "Включить действия ".
В разделе "Артефакт и хранилище журналов" рядом с пунктом "Google Cloud Storage" нажмите кнопку "Настройка".
В разделе "Проверка подлинности" выберите OpenID Connect (OIDC) и введите значения для хранилища:
URL-адрес службы: URL-адрес службы для контейнера. Обычно
https://storage.googleapis.com
это .Имя контейнера: имя контейнера.
Идентификатор поставщика удостоверений рабочей нагрузки: идентификатор поставщика удостоверений для пула удостоверений.
Это в формате
projects/PROJECT-NUMBER/locations/global/workloadIdentityPools/POOL-NAME/providers/PROVIDER-NAME
. Обратите внимание, что необходимо удалитьhttps://iam.googleapis.com/
префикс из значения, указанного в предыдущей процедуре.Например,
projects/1234567890/locations/global/workloadIdentityPools/my-pool/providers/my-provider
.Учетная запись службы: адрес электронной почты учетной записи службы, указанный в предыдущей процедуре. Например,
[email protected]
.
Нажмите кнопку "Проверить параметры хранилища"**, **чтобы проверить параметры хранилища.
Если есть ошибки, проверяющие параметры хранилища, проверьте параметры с поставщиком хранилища и повторите попытку.
На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".
Примечание.
Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простоям, видимым пользователем.
Подождите завершения запуска конфигурации.
Включение Actions с помощью Google Cloud Storage с помощью ключа HMAC
Создайте учетную запись службы Google Cloud, которая может получить доступ к контейнеру и создайте ключ проверки подлинности на основе хэша сообщений (HMAC) для учетной записи службы. Дополнительные сведения см. в разделе "Управление ключами HMAC для учетных записей служб" в документации по Google Cloud.
Учетная запись службы должна иметь следующие разрешения на управление удостоверениями и доступом (IAM) для контейнера:
storage.objects.create
storage.objects.get
storage.objects.list
storage.objects.update
storage.objects.delete
storage.multipartUploads.create
storage.multipartUploads.abort
storage.multipartUploads.listParts
storage.multipartUploads.list
1. В учетной записи администратора Enterprise Server, в правом верхнем углу любой страницы щелкните .
Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.
На боковой панели " "Администратор сайта" щелкните Консоль управления.
На боковой панели "Параметры" щелкните "Действия".
В разделе " Actions" выберите "Включить действия ".
В разделе "Артефакт и хранилище журналов" рядом с пунктом "Google Cloud Storage" нажмите кнопку "Настройка".
В разделе "Проверка подлинности" выберите "Учетные данные" и введите сведения о контейнере хранилища:
- URL-адрес службы: URL-адрес службы для контейнера. Обычно
https://storage.googleapis.com
это . - Имя контейнера: имя контейнера.
- Идентификатор доступа HMAC и секрет HMAC: идентификатор доступа к Google Cloud и секрет учетной записи хранения. Дополнительные сведения см. в разделе "Управление ключами HMAC для учетных записей служб" в документации по Google Cloud.
- URL-адрес службы: URL-адрес службы для контейнера. Обычно
Нажмите кнопку "Проверить параметры хранилища"**, **чтобы проверить параметры хранилища.
Если есть ошибки, проверяющие параметры хранилища, проверьте параметры с поставщиком хранилища и повторите попытку.
На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".
Примечание.
Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простоям, видимым пользователем.
Подождите завершения запуска конфигурации.
Следующие шаги
После успешного завершения выполнения конфигурации Actions будет включен на . Для следующих действий, таких как управление разрешениями доступа Actions и добавление локальных средств выполнения, вернитесь в Начало работы с Actions для сервера Enterprise.