msbuild

Форк
0
/
get-delegation-sas.yml 
43 строки · 1.5 Кб
1
parameters:
2
- name: federatedServiceConnection
3
  type: string
4
- name: outputVariableName
5
  type: string
6
- name: expiryInHours
7
  type: number
8
  default: 1
9
- name: base64Encode
10
  type: boolean
11
  default: false
12
- name: storageAccount
13
  type: string
14
- name: container
15
  type: string
16
- name: permissions
17
  type: string
18
  default: 'rl'
19

20
steps:
21
- task: AzureCLI@2
22
  displayName: 'Generate delegation SAS Token for ${{ parameters.storageAccount }}/${{ parameters.container }}'
23
  inputs:
24
    azureSubscription: ${{ parameters.federatedServiceConnection }}
25
    scriptType: 'pscore'
26
    scriptLocation: 'inlineScript'
27
    inlineScript: |
28
      # Calculate the expiration of the SAS token and convert to UTC
29
      $expiry = (Get-Date).AddHours(${{ parameters.expiryInHours }}).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
30

31
      $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv
32

33
      if ($LASTEXITCODE -ne 0) {
34
        Write-Error "Failed to generate SAS token."
35
        exit 1
36
      }
37

38
      if ('${{ parameters.base64Encode }}' -eq 'true') {
39
        $sas = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($sas))
40
      }
41

42
      Write-Host "Setting '${{ parameters.outputVariableName }}' with the access token value"
43
      Write-Host "##vso[task.setvariable variable=${{ parameters.outputVariableName }};issecret=true]$sas"
44

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.