Tworzenie tokenu z uprawnieniami w zakresie repozytorium

W tym artykule opisano sposób tworzenia tokenów i map zakresu w celu zarządzania dostępem do repozytoriów w rejestrze kontenerów. Tworząc tokeny, właściciel rejestru może zapewnić użytkownikom lub usługom o określonym zakresie, ograniczony czasowo dostęp do repozytoriów w celu ściągnięcia lub wypychania obrazów lub wykonywania innych akcji. Token zapewnia bardziej szczegółowe uprawnienia niż inne opcje uwierzytelniania rejestru, które mają zakres uprawnień do całego rejestru.

Typowe scenariusze tworzenia tokenu obejmują:

  • Zezwalaj urządzeniom IoT z poszczególnymi tokenami na ściąganie obrazu z repozytorium.
  • Podaj organizacji zewnętrznej uprawnienia do ścieżki repozytorium.
  • Ogranicz dostęp repozytorium do różnych grup użytkowników w organizacji. Na przykład zapewnij deweloperom dostęp do zapisu i odczytu, którzy tworzą obrazy przeznaczone dla określonych repozytoriów, oraz dostęp do odczytu do zespołów wdrażanych z tych repozytoriów.

Ta funkcja jest dostępna we wszystkich warstwach usług. Aby uzyskać informacje o warstwach i limitach usługi rejestru, zobacz Azure Container Registry service tiers (Warstwy usługi Azure Container Registry)

Ograniczenia

  • Obecnie nie można przypisać uprawnień o zakresie repozytorium do tożsamości firmy Microsoft Entra, takiej jak jednostka usługi lub tożsamość zarządzana.

Pojęcia

Aby skonfigurować uprawnienia w zakresie repozytorium, należy utworzyć token ze skojarzona mapa zakresu.

  • Token wraz z wygenerowanym hasłem umożliwia użytkownikowi uwierzytelnianie w rejestrze. Możesz ustawić datę wygaśnięcia hasła tokenu lub wyłączyć token w dowolnym momencie.

    Po uwierzytelnieniu przy użyciu tokenu użytkownik lub usługa może wykonać co najmniej jedną akcję w zakresie co najmniej jednego repozytorium.

    Akcja Opis Przykład
    content/delete Usuwanie danych z repozytorium Usuwanie repozytorium lub manifestu
    content/read Odczytywanie danych z repozytorium Ściąganie artefaktu
    content/write Zapisywanie danych w repozytorium Używanie z elementem content/read do wypychania artefaktu
    metadata/read Odczytywanie metadanych z repozytorium Wyświetlanie listy tagów lub manifestów
    metadata/write Zapisywanie metadanych w repozytorium Włączanie lub wyłączanie operacji odczytu, zapisu lub usuwania

Uwaga

Uprawnienia w zakresie repozytorium nie obsługują możliwości wyświetlania wykazu wszystkich repozytoriów w rejestrze.

  • Mapa zakresu grupuje uprawnienia repozytorium stosowane do tokenu i może ponownie zastosować do innych tokenów. Każdy token jest skojarzony z pojedynczą mapą zakresu. Za pomocą mapy zakresu można wykonywać następujące czynności:

    • Skonfiguruj wiele tokenów z identycznymi uprawnieniami do zestawu repozytoriów.
    • Zaktualizuj uprawnienia tokenu podczas dodawania lub usuwania akcji repozytorium na mapie zakresu lub stosowania innej mapy zakresu.

    Usługa Azure Container Registry udostępnia również kilka map zakresu zdefiniowanych przez system, które można zastosować podczas tworzenia tokenów. Uprawnienia map zakresu zdefiniowanego przez system mają zastosowanie do wszystkich repozytoriów w rejestrze. Poszczególne akcje odpowiadają limitowi repozytoriów na mapę zakresu.

Na poniższej ilustracji przedstawiono relację między tokenami i mapami zakresu.

Registry tokens and scope maps

Wymagania wstępne

  • Interfejs wiersza polecenia platformy Azure — przykłady poleceń interfejsu wiersza polecenia platformy Azure w tym artykule wymagają interfejsu wiersza polecenia platformy Azure w wersji 2.17.0 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
  • Docker — aby uwierzytelnić się w rejestrze w celu ściągnięcia lub wypychania obrazów, potrzebna jest lokalna instalacja platformy Docker. Platforma Docker dostarcza instrukcje na temat instalacji w systemach macOS, Windows i Linux.
  • Rejestr kontenerów — jeśli go nie masz, utwórz rejestr kontenerów w ramach subskrypcji platformy Azure. Na przykład użyj witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Tworzenie tokenu — interfejs wiersza polecenia

Tworzenie tokenu i określanie repozytoriów

Utwórz token przy użyciu polecenia az acr token create . Podczas tworzenia tokenu można określić co najmniej jedno repozytorium i skojarzone akcje w każdym repozytorium. Repozytoria nie muszą jeszcze znajdować się w rejestrze. Aby utworzyć token, określając istniejącą mapę zakresu, zobacz następną sekcję.

Poniższy przykład tworzy token w rejestrze myregistry z następującymi uprawnieniami w samples/hello-world repozytorium: content/write i content/read. Domyślnie polecenie ustawia domyślny stan tokenu na enabledwartość , ale stan można zaktualizować do disabled w dowolnym momencie.

az acr token create --name MyToken --registry myregistry \
  --repository samples/hello-world \
  content/write content/read \
  --output json

Dane wyjściowe zawierają szczegółowe informacje o tokenie. Domyślnie są generowane dwa hasła, które nie wygasają, ale opcjonalnie można ustawić datę wygaśnięcia. Zaleca się zapisanie haseł w bezpiecznym miejscu do późniejszego użycia na potrzeby uwierzytelniania. Nie można ponownie pobrać haseł, ale można wygenerować nowe.

{
  "creationDate": "2020-01-18T00:15:34.066221+00:00",
  "credentials": {
    "certificates": [],
    "passwords": [
      {
        "creationTime": "2020-01-18T00:15:52.837651+00:00",
        "expiry": null,
        "name": "password1",
        "value": "uH54BxxxxK7KOxxxxRbr26dAs8JXxxxx"
      },
      {
        "creationTime": "2020-01-18T00:15:52.837651+00:00",
        "expiry": null,
        "name": "password2",
        "value": "kPX6Or/xxxxLXpqowxxxxkA0idwLtmxxxx"
      }
    ],
    "username": "MyToken"
  },
  "id": "/subscriptions/xxxxxxxx-adbd-4cb4-c864-xxxxxxxxxxxx/resourceGroups/myresourcegroup/providers/Microsoft.ContainerRegistry/registries/myregistry/tokens/MyToken",
  "name": "MyToken",
  "objectId": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "myresourcegroup",
  "scopeMapId": "/subscriptions/xxxxxxxx-adbd-4cb4-c864-xxxxxxxxxxxx/resourceGroups/myresourcegroup/providers/Microsoft.ContainerRegistry/registries/myregistry/scopeMaps/MyToken-scope-map",
  "status": "enabled",
  "type": "Microsoft.ContainerRegistry/registries/tokens"
}

Uwaga

Aby ponownie wygenerować hasła tokenu i okresy wygaśnięcia, zobacz Ponowne generowanie haseł tokenu w dalszej części tego artykułu.

Dane wyjściowe zawierają szczegółowe informacje o mapie zakresu utworzonego polecenia. Możesz użyć mapy zakresu o nazwie MyToken-scope-map, aby zastosować te same akcje repozytorium do innych tokenów. Możesz też zaktualizować mapę zakresu później, aby zmienić uprawnienia skojarzonych tokenów.

Tworzenie tokenu i określanie mapy zakresu

Alternatywnym sposobem utworzenia tokenu jest określenie istniejącej mapy zakresu. Jeśli nie masz jeszcze mapy zakresu, najpierw utwórz mapę, określając repozytoria i skojarzone akcje. Następnie określ mapę zakresu podczas tworzenia tokenu.

Aby utworzyć mapę zakresu, użyj polecenia az acr scope-map create . Poniższe polecenie tworzy mapę zakresu z tymi samymi uprawnieniami w samples/hello-world repozytorium, które było wcześniej używane.

az acr scope-map create --name MyScopeMap --registry myregistry \
  --repository samples/hello-world \
  content/write content/read \
  --description "Sample scope map"

Uruchom polecenie az acr token create , aby utworzyć token, określając mapę zakresu MyScopeMap . Podobnie jak w poprzednim przykładzie polecenie ustawia domyślny stan tokenu na enabledwartość .

az acr token create --name MyToken \
  --registry myregistry \
  --scope-map MyScopeMap

Dane wyjściowe zawierają szczegółowe informacje o tokenie. Domyślnie są generowane dwa hasła. Zaleca się zapisanie haseł w bezpiecznym miejscu do późniejszego użycia na potrzeby uwierzytelniania. Nie można ponownie pobrać haseł, ale można wygenerować nowe.

Uwaga

Aby ponownie wygenerować hasła tokenu i okresy wygaśnięcia, zobacz Ponowne generowanie haseł tokenu w dalszej części tego artykułu.

Jak używać map zakresu do definiowania i przypisywania uprawnień dla wielu repozytoriów

Mapa zakresu umożliwia używanie symbolu wieloznakowego do definiowania i udzielania podobnych uprawnień dla wielu repozytoriów, które mają wspólny prefiks. Repozytoria z określonymi uprawnieniami, repozytoria z symbolem wieloznacznym mogą być również używane w tej samej mapie zakresu. Zapewnia to elastyczność zarządzania uprawnieniami dla wielu zestawów repozytoriów w jednej mapie zakresu.

Uprawnienia repozytorium można utworzyć po utworzeniu mapy zakresu i przypisaniu jej do tokenu. Alternatywnie można utworzyć i bezpośrednio przypisać token do repozytorium.

Poniższy przykład tworzy mapę zakresu z symbolem wieloznacznymi, a następnie przypisuje ją do tokenu.

az acr scope-map create --name MyScopeMapWildcard --registry myregistry \
  --repository samples/* \
  content/write content/read \
  --description "Sample scope map with wildcards"
az acr token create --name MyTokenWildcard \
  --registry myregistry \
  --scope-map MyScopeMapWildcard

Poniższy przykład tworzy token z symbolem wieloznacznymi.

 az acr token create --name MyTokenWildcard --registry myregistry \
  --repository samples/* \
  content/write content/read \

Uprawnienia z symbolami wieloznacznymi są addytywne, co oznacza, że w przypadku uzyskania dostępu do określonego repozytorium wynikowe uprawnienia będą zawierać uprawnienia dla wszystkich reguł mapy zakresu pasujących do prefiksu symboli wieloznacznych.

W tym przykładzie mapa zakresu definiuje uprawnienia dla trzech różnych typów repozytoriów:

Repozytorium Uprawnienie
sample/* content/read
sample/teamA/* content/write
sample/teamA/projectB content/delete

Token ma przypisaną mapę zakresu w celu udzielenia [content/read, content/write, content/delete] uprawnień dostępu do repozytorium sample/teamA/projectB. Jeśli jednak ten sam token jest używany do uzyskiwania sample/teamA/projectC dostępu do repozytorium, ma [content/read, content/write] tylko uprawnienia.

Ważne

Repozytoria korzystające z symboli wieloznacznych na mapie zakresu powinny zawsze kończyć się sufiksem prawidłowym /* i mieć pojedynczy symbol wieloznaczny w nazwie repozytorium. Oto kilka przykładów nieprawidłowych symboli wieloznacznych:

  • sample/*/teamA symbol wieloznaczny w środku nazwy repozytorium.
  • sample/teamA* symbol wieloznaczny nie kończy się symbolem "/*".
  • sample/teamA/*/projectB/* z wieloma symbolami wieloznacznymi w nazwie repozytorium.

Symbole wieloznaczne na poziomie głównym

Symbole wieloznaczne można również stosować na poziomie głównym. Oznacza to, że wszystkie uprawnienia przypisane do repozytorium zdefiniowane jako *, będą stosowane w całym rejestrze.

W przykładzie pokazano, jak utworzyć token z symbolem wieloznacznymi poziomu głównego, który da uprawnienia tokenu [content/read, content/write] do wszystkich repozytoriów w rejestrze. Zapewnia to prosty sposób udzielania uprawnień do wszystkich repozytoriów w rejestrze bez konieczności indywidualnego określania każdego repozytorium.

 az acr token create --name MyTokenWildcard --registry myregistry \
  --repository * \
  content/write content/read \

Ważne

Jeśli reguła z symbolami wieloznacznymi obejmuje repozytorium, które jeszcze nie istnieje, uprawnienia reguły wieloznacznych będą nadal stosowane do tej nazwy repozytorium. Na przykład token przypisany do mapy zakresu, która przyznaje [content/write, metadata/write] uprawnienia do sample/* repozytoriów. Ponadto załóżmy, że repozytorium sample/teamC/teamCimage jeszcze nie istnieje. Token będzie miał uprawnienia do wypychania obrazów do repozytorium sample/teamC/teamCimage, co spowoduje jednoczesne utworzenie repozytorium podczas pomyślnego wypychania.

Tworzenie tokenu — portal

Za pomocą witryny Azure Portal można tworzyć tokeny i mapy zakresu. Podobnie jak w przypadku polecenia interfejsu az acr token create wiersza polecenia, możesz zastosować istniejącą mapę zakresu lub utworzyć mapę zakresu podczas tworzenia tokenu, określając co najmniej jedno repozytoria i skojarzone akcje. Repozytoria nie muszą jeszcze znajdować się w rejestrze.

Poniższy przykład tworzy token i tworzy mapę zakresu z następującymi uprawnieniami w samples/hello-world repozytorium: content/write i content/read.

  1. W portalu przejdź do rejestru kontenerów.

  2. W obszarze Uprawnienia repozytorium wybierz pozycję Tokeny > +Dodaj.

    Create token in portal

  3. Wprowadź nazwę tokenu.

  4. W obszarze Mapa zakresu wybierz pozycję Utwórz nową.

  5. Skonfiguruj mapę zakresu:

    1. Wprowadź nazwę i opis mapy zakresu.

    2. W obszarze Repozytoria wprowadź ciąg samples/hello-world, a następnie w obszarze Uprawnienia wybierz pozycję content/read i content/write. Następnie wybierz pozycję +Dodaj.

      Create scope map in portal

    3. Po dodaniu repozytoriów i uprawnień wybierz pozycję Dodaj , aby dodać mapę zakresu.

  6. Zaakceptuj domyślny stan tokenu Włączone, a następnie wybierz pozycję Utwórz.

Po zweryfikowaniu i utworzeniu tokenu na ekranie Tokeny zostaną wyświetlone szczegóły tokenu.

Dodawanie hasła tokenu

Aby użyć tokenu utworzonego w portalu, musisz wygenerować hasło. Możesz wygenerować jedno lub dwa hasła i ustawić datę wygaśnięcia dla każdego z nich. Nowe hasła utworzone dla tokenów są natychmiast dostępne. Ponowne generowanie nowych haseł dla tokenów potrwa 60 sekund, aby replikować i być dostępne.

  1. W portalu przejdź do rejestru kontenerów.

  2. W obszarze Uprawnienia repozytorium wybierz pozycję Tokeny i wybierz token.

  3. W szczegółach tokenu wybierz pozycję password1 lub password2, a następnie wybierz ikonę Generuj.

  4. Na ekranie hasła opcjonalnie ustaw datę wygaśnięcia hasła i wybierz pozycję Generuj. Zaleca się ustawienie daty wygaśnięcia.

  5. Po wygenerowaniu hasła skopiuj je i zapisz w bezpiecznej lokalizacji. Nie można pobrać wygenerowanego hasła po zamknięciu ekranu, ale możesz wygenerować nowe.

    Create token password in portal

Uwierzytelnianie przy użyciu tokenu

Gdy użytkownik lub usługa używa tokenu do uwierzytelniania w rejestrze docelowym, udostępnia nazwę tokenu jako nazwę użytkownika i jedno z wygenerowanych haseł.

Metoda uwierzytelniania zależy od skonfigurowanej akcji lub akcji skojarzonych z tokenem.

Akcja Jak uwierzytelnić
content/delete az acr repository delete w interfejsie wiersza polecenia platformy Azure

Przykład: az acr repository delete --name myregistry --repository myrepo --username MyToken --password xxxxxxxxxx
content/read docker login

az acr login w interfejsie wiersza polecenia platformy Azure

Przykład: az acr login --name myregistry --username MyToken --password xxxxxxxxxx
content/write docker login

az acr login w interfejsie wiersza polecenia platformy Azure
metadata/read az acr repository show

az acr repository show-tags

az acr manifest list-metadata w interfejsie wiersza polecenia platformy Azure
metadata/write az acr repository untag

az acr repository update w interfejsie wiersza polecenia platformy Azure

Przykłady: Używanie tokenu

W poniższych przykładach użyto tokenu utworzonego wcześniej w tym artykule, aby wykonać typowe operacje w repozytorium: wypychanie i ściąganie obrazów, usuwanie obrazów i tagów repozytorium listy. Token został początkowo skonfigurowany przy użyciu uprawnień wypychania (content/write i content/read akcji) w samples/hello-world repozytorium.

Ściąganie i tagowanie obrazów testowych

W poniższych przykładach ściągaj publiczne hello-world i nginx obrazy z usługi Microsoft Container Registry i taguj je dla rejestru i repozytorium.

docker pull mcr.microsoft.com/hello-world
docker pull mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine
docker tag mcr.microsoft.com/hello-world myregistry.azurecr.io/samples/hello-world:v1
docker tag mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine myregistry.azurecr.io/samples/nginx:v1

Uwierzytelnianie przy użyciu tokenu

Uruchom docker login polecenie lub az acr login , aby uwierzytelnić się w rejestrze, aby wypchnąć lub ściągnąć obrazy. Podaj nazwę tokenu jako nazwę użytkownika i podaj jedno z jego haseł. Token musi mieć Enabled stan.

Poniższy przykład jest sformatowany dla powłoki bash i zawiera wartości używające zmiennych środowiskowych.

TOKEN_NAME=MyToken
TOKEN_PWD=<token password>

echo $TOKEN_PWD | docker login --username $TOKEN_NAME --password-stdin myregistry.azurecr.io

Dane wyjściowe powinny pokazywać pomyślne uwierzytelnianie:

Login Succeeded

Wypychanie obrazów do rejestru

Po pomyślnym zalogowaniu spróbuj wypchnąć oznakowane obrazy do rejestru. Ponieważ token ma uprawnienia do wypychania obrazów do samples/hello-world repozytorium, następujące wypychanie zakończy się pomyślnie:

docker push myregistry.azurecr.io/samples/hello-world:v1

Token nie ma uprawnień do samples/nginx repozytorium, więc następująca próba wypychania kończy się niepowodzeniem z błędem podobnym do requested access to the resource is denied:

docker push myregistry.azurecr.io/samples/nginx:v1

Aktualizowanie uprawnień tokenu

Aby zaktualizować uprawnienia tokenu, zaktualizuj uprawnienia na skojarzonej mapie zakresu. Zaktualizowana mapa zakresu jest stosowana natychmiast do wszystkich skojarzonych tokenów.

Na przykład zaktualizuj MyToken-scope-map element i content/writecontent/read akcje w samples/ngnx repozytorium i usuń content/write akcję w samples/hello-world repozytorium.

Aby użyć interfejsu wiersza polecenia platformy Azure, uruchom polecenie az acr scope-map update , aby zaktualizować mapę zakresu:

az acr scope-map update \
  --name MyScopeMap \
  --registry myregistry \
  --add-repository samples/nginx content/write content/read \
  --remove-repository samples/hello-world content/write 

W witrynie Azure Portal:

  1. Przejdź do rejestru kontenerów.
  2. W obszarze Uprawnienia repozytorium wybierz pozycję Mapy zakresu i wybierz mapę zakresu do zaktualizowania.
  3. W obszarze Repozytoria wprowadź ciąg samples/nginx, a następnie w obszarze Uprawnienia wybierz pozycję content/read i content/write. Następnie wybierz pozycję +Dodaj.
  4. W obszarze Repozytoria wybierz pozycję samples/hello-world i w obszarze Uprawnienia usuń zaznaczenie pozycji content/write. Następnie wybierz opcję Zapisz.

Po zaktualizowaniu mapy zakresu następujące wypychanie zakończy się pomyślnie:

docker push myregistry.azurecr.io/samples/nginx:v1

Ponieważ mapa zakresu ma content/read uprawnienia tylko do samples/hello-world repozytorium, próba wypychania do samples/hello-world repozytorium kończy się teraz niepowodzeniem:

docker push myregistry.azurecr.io/samples/hello-world:v1

Ściąganie obrazów z obu repozytoriów kończy się pomyślnie, ponieważ mapa zakresu zapewnia content/read uprawnienia do obu repozytoriów:

docker pull myregistry.azurecr.io/samples/nginx:v1
docker pull myregistry.azurecr.io/samples/hello-world:v1

Usuwanie obrazów

Zaktualizuj mapę zakresu, dodając content/delete akcję do nginx repozytorium. Ta akcja umożliwia usunięcie obrazów w repozytorium lub usunięcie całego repozytorium.

W przypadku zwięzłości wyświetlamy tylko polecenie az acr scope-map update , aby zaktualizować mapę zakresu:

az acr scope-map update \
  --name MyScopeMap \
  --registry myregistry \
  --add-repository samples/nginx content/delete

Aby zaktualizować mapę zakresu przy użyciu portalu, zobacz poprzednią sekcję.

Użyj następującego polecenia az acr repository delete , aby usunąć samples/nginx repozytorium. Aby usunąć obrazy lub repozytoria, przekaż nazwę tokenu i hasło do polecenia . W poniższym przykładzie użyto zmiennych środowiskowych utworzonych wcześniej w artykule:

az acr repository delete \
  --name myregistry --repository samples/nginx \
  --username $TOKEN_NAME --password $TOKEN_PWD

Pokaż tagi repozytorium

Zaktualizuj mapę zakresu, dodając metadata/read akcję do hello-world repozytorium. Ta akcja umożliwia odczytywanie danych manifestu i tagu w repozytorium.

W przypadku zwięzłości wyświetlamy tylko polecenie az acr scope-map update , aby zaktualizować mapę zakresu:

az acr scope-map update \
  --name MyScopeMap \
  --registry myregistry \
  --add-repository samples/hello-world metadata/read 

Aby zaktualizować mapę zakresu przy użyciu portalu, zobacz poprzednią sekcję.

Aby odczytać metadane w samples/hello-world repozytorium, uruchom polecenie az acr manifest list-metadata lub az acr repository show-tags .

Aby odczytać metadane, przekaż nazwę i hasło tokenu do dowolnego polecenia. W poniższym przykładzie użyto zmiennych środowiskowych utworzonych wcześniej w artykule:

az acr repository show-tags \
  --name myregistry --repository samples/hello-world \
  --username $TOKEN_NAME --password $TOKEN_PWD

Przykładowe dane wyjściowe:

[
  "v1"
]

Zarządzanie tokenami i mapami zakresu

Mapy zakresu listy

Użyj polecenia az acr scope-map list lub ekranu Mapy zakresu w portalu, aby wyświetlić listę wszystkich map zakresu skonfigurowanych w rejestrze. Na przykład:

az acr scope-map list \
  --registry myregistry --output table

Dane wyjściowe składają się z trzech map zakresu zdefiniowanego przez system i innych map zakresu generowanych przez Użytkownika. Tokeny można skonfigurować przy użyciu dowolnej z tych map zakresu.

NAME                 TYPE           CREATION DATE         DESCRIPTION
-------------------  -------------  --------------------  ------------------------------------------------------------
_repositories_admin  SystemDefined  2020-01-20T09:44:24Z  Can perform all read, write and delete operations on the ...
_repositories_pull   SystemDefined  2020-01-20T09:44:24Z  Can pull any repository of the registry
_repositories_push   SystemDefined  2020-01-20T09:44:24Z  Can push to any repository of the registry
MyScopeMap           UserDefined    2019-11-15T21:17:34Z  Sample scope map

Pokaż szczegóły tokenu

Aby wyświetlić szczegóły tokenu, takie jak jego stan i daty wygaśnięcia hasła, uruchom polecenie az acr token show lub wybierz token na ekranie Tokeny w portalu. Na przykład:

az acr scope-map show \
  --name MyScopeMap --registry myregistry

Użyj polecenia az acr token list lub ekranu Tokens (Tokens) w portalu, aby wyświetlić listę wszystkich tokenów skonfigurowanych w rejestrze. Na przykład:

az acr token list --registry myregistry --output table

Ponowne generowanie haseł tokenu

Jeśli nie wygenerowaliśmy hasła tokenu lub chcesz wygenerować nowe hasła, uruchom polecenie az acr token credential generate . Ponowne generowanie nowych haseł dla tokenów potrwa 60 sekund, aby replikować i być dostępne.

Poniższy przykład generuje nową wartość dla hasła1 dla tokenu MyToken z upływem 30 dni. Przechowuje hasło w zmiennej środowiskowej TOKEN_PWD. Ten przykład jest sformatowany dla powłoki bash.

TOKEN_PWD=$(az acr token credential generate \
  --name MyToken --registry myregistry --expiration-in-days 30 \
  --password1 --query 'passwords[0].value' --output tsv)

Aby wygenerować hasło tokenu przy użyciu witryny Azure Portal, zobacz kroki opisane w artykule Tworzenie tokenu — portal wcześniej w tym artykule.

Aktualizowanie tokenu za pomocą nowej mapy zakresu

Jeśli chcesz zaktualizować token za pomocą innej mapy zakresu, uruchom polecenie az acr token update i określ nową mapę zakresu. Na przykład:

az acr token update --name MyToken --registry myregistry \
  --scope-map MyNewScopeMap

W portalu na ekranie Tokeny wybierz token, a następnie w obszarze Mapa zakresu wybierz inną mapę zakresu.

Napiwek

Po zaktualizowaniu tokenu przy użyciu nowej mapy zakresu możesz wygenerować nowe hasła tokenu. Użyj polecenia az acr token credential generate lub ponownie wygeneruj hasło tokenu w witrynie Azure Portal.

Wyłączanie lub usuwanie tokenu

Może być konieczne tymczasowe wyłączenie użycia poświadczeń tokenu dla użytkownika lub usługi.

Za pomocą interfejsu wiersza polecenia platformy Azure uruchom polecenie az acr token update , aby ustawić wartość statusdisabledna :

az acr token update --name MyToken --registry myregistry \
  --status disabled

W portalu wybierz token na ekranie Tokeny , a następnie wybierz pozycję Wyłączone w obszarze Stan.

Aby usunąć token w celu trwałego unieważnienia dostępu przez wszystkich użytkowników przy użyciu poświadczeń, uruchom polecenie az acr token delete .

az acr token delete --name MyToken --registry myregistry

W portalu wybierz token na ekranie Tokeny , a następnie wybierz pozycję Odrzuć.

Następne kroki

  • Aby zarządzać mapami i tokenami zakresu, użyj dodatkowych poleceń w grupach poleceń az acr scope-map i az acr token .
  • Zapoznaj się z omówieniem uwierzytelniania, aby zapoznać się z innymi opcjami uwierzytelniania w rejestrze kontenerów platformy Azure, w tym przy użyciu tożsamości Entra firmy Microsoft, jednostki usługi lub konta administratora.
  • Dowiedz się więcej o połączonych rejestrach i używaniu tokenów na potrzeby dostępu.