外部 ID プロバイダーを信頼するようにユーザー割り当てマネージド ID を構成する
この記事では、Microsoft Entra ID のユーザー割り当てマネージド ID でフェデレーション ID 資格情報を管理する方法について説明します。 フェデレーション ID 資格情報は、ユーザー割り当てマネージド ID と外部 ID プロバイダー (IdP) の間に信頼関係を作成します。 システム割り当てマネージド ID でのフェデレーション ID 資格情報の構成はサポートされていません。
外部 IdP を信頼するようにユーザー割り当てマネージド ID を構成した後、外部 IdP からのトークンを Microsoft ID プラットフォームからのアクセス トークンと交換するように外部ソフトウェア ワークロードを構成します。 外部ワークロードは、シークレットを管理する必要なく、アクセス トークンを使用して、Microsoft Entra で保護されたリソースにアクセスします (サポートされているシナリオの場合)。 トークン交換ワークフローの詳細については、ワークロード ID フェデレーションに関する記事をお読みください。
この記事では、ユーザー割り当てマネージド ID でフェデレーション ID 資格情報を作成、一覧表示、削除する方法について説明します。
重要な考慮事項と制限事項
アプリケーションまたはユーザー割り当てマネージド ID に、最大 20 個のフェデレーション ID 資格情報を追加できます。
フェデレーション ID 資格情報を構成する場合に指定する重要な情報がいくつかあります。
issuerとsubjectは、信頼関係を設定するために必要な重要な情報です。
issuer
とsubject
の組合せは、アプリで一意である必要があります。 外部ソフトウェア ワークロードが Microsoft ID プラットフォーム に対してアクセス トークンの外部トークンの交換を要求すると、フェデレーション ID 資格情報の subject と subject の値が、外部トークンで指定されたissuer
およびsubject
要求に対してチェックされます。 その検証チェックに合格するとMicrosoft ID プラットフォームは外部ソフトウェア ワークロードにアクセス トークンを発行します。issuer は、外部 ID プロバイダーの URL であり、交換される外部トークンの要求と
issuer
一致する必要があります。 必須です。issuer
要求の値に先頭または末尾の空白がある場合、トークン交換はブロックされます。 このフィールドの文字数制限は 600 文字です。subjectは、外部 ソフトウェア ワークロードの識別子であり、交換される外部トークンの要求と
sub
(subject
) 一致する必要があります。 subjectには固定形式はありません。各 IdP は独自の GUID (場合によってはコロンで区切られた識別子、もしくは任意の文字列) が使用されます。 このフィールドの文字数制限は 600 文字です。重要
subject の設定値は、GitHub ワークフローの構成と完全に一致する必要があります。 そうしないと、Microsoft ID プラットフォームは、受信した外部トークンを確認し、アクセス トークンとの交換を拒否します。 エラーは発生しませんが、交換はエラーなしで失敗します。
重要
誤って subject 設定に正しくない外部ワークロード情報を追加した場合でも、フェデレーション ID 資格情報はエラーなしで正常に作成されます。 エラーは、トークンの交換が失敗するまで明らかになりません。
audiences は、外部トークンに指定できる対象ユーザーの一覧を示します。 必須です。 1 つの対象ユーザーの値を追加する必要があり、この値には 600 文字の制限があります。 推奨値は "api://AzureADTokenExchange" です。 これは、Microsoft ID プラットフォームが受信トークンの
aud
要求で受け入れる必要があるものを示しています。name は、フェデレーション ID 資格情報の一意識別子です。 必須です。 このフィールドの文字数は 3 から 120 文字に制限され、URL に対応している必要があります。 英数字、ダッシュ、またはアンダースコア文字がサポートされており、最初の文字は英数字でなければなりません。 作成後は変更できません。
description は、フェデレーション ID 資格情報のユーザー提供の説明です。 省略可能。 この説明は Microsoft Entra ID によって検証および確認されません。 このフィールドには、600 文字の制限があります。
フェデレーション ID 資格情報のプロパティ値では、ワイルドカード文字はサポートされていません。
サポートされているリージョン、フェデレーション資格情報更新プログラムを反映する時間、サポートされている発行者などについては、フェデレーション ID 資格情報に関する重要な考慮事項と制限事項に関するページを参照してください。
前提条件
- Azure リソースのマネージド ID の基本点な事柄については、概要に関するセクションを参照してください。 システム割り当てマネージド ID とユーザー割り当てマネージド ID の違いを必ず確認してください。
- まだ Azure アカウントを持っていない場合は、無料のアカウントにサインアップしてから先に進んでください。
- 以下の手順で必要になる、外部 IdP およびソフトウェア ワークロードの情報を取得します。
- ユーザー割り当てマネージド ID を作成し、フェデレーション ID 資格情報を構成するには、お使いのアカウントに共同作成者または所有者ロールが割り当てられている必要があります。
- ユーザー割り当てマネージド ID を作成する
- ユーザー割り当てマネージド ID の名前を見つけます。この ID は、次の手順で必要になります。
ユーザー割り当てマネージド ID でフェデレーション ID 資格情報を構成する
Microsoft Entra 管理センターで、作成したユーザー割り当てマネージド ID に移動します。 左側ナビゲーション バーの [設定] で、[フェデレーション資格情報] を選択し、[資格情報の追加] を選択します。
[フェデレーション資格情報のシナリオ] ドロップダウン ボックスで、シナリオを選択します。
Azure リソースをデプロイする GitHub Actions
GitHub アクションにフェデレーション ID を追加するには、次の手順に従います。
[エンティティ型] で [環境]、[Branch](ブランチ)、[Pull Request]、または [タグ] を選択し、値を指定します。 値は、 GitHub ワークフローの構成と完全に一致する必要があります。 詳細については、 例を参照してください。
フェデレーション資格情報の [名前] を追加します。
[発行者]、[Audiences](対象)、および [Subject identifier](サブジェクト識別子) フィールドには、入力した値に基づいて自動的に値が設定されます。
[追加] を選び、フェデレーション資格情報を構成します。
GitHub ワークフローには、Microsoft Entra マネージド ID から次の値を使用します:
AZURE_CLIENT_ID
: マネージド ID クライアント IDAZURE_SUBSCRIPTION_ID
: サブスクリプション ID次のスクリーンショットは、マネージド ID とサブスクリプション ID をコピーする方法を示しています。
AZURE_TENANT_ID
: ディレクトリ (テナント) ID Microsoft Entra テナント ID を見つける方法 について説明します。
エンティティ型の例
ブランチの例
メイン ブランチでプッシュまたはプル要求イベントによってトリガーされるワークフローの場合:
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
ブランチのエンティティ型と、GitHub ブランチ名 "main" を指定します。
環境の例
"Production" という名前の環境に関連付けられているジョブの場合:
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment: production
steps:
- name: deploy
# ...deployment-specific steps
環境のエンティティ型と、GitHub 環境名 "production" を指定します。
タグの例
たとえば、"v2" という名前のタグへのプッシュによってトリガーされるワークフローの場合は、次のようになります。
on:
push:
# Sequence of patterns matched against refs/heads
branches:
- main
- 'mona/octocat'
- 'releases/**'
# Sequence of patterns matched against refs/tags
tags:
- v2
- v1.*
タグのエンティティ型と、GitHub タグ名 "v2" を指定します。
プル要求の例
プル要求イベントによってトリガーされるワークフローの場合は、プル要求のエンティティ型を指定します
Azure リソースにアクセスする Kubernetes
[クラスター発行者の URL]、[名前空間]、[サービス アカウント名]、[名前] の各フィールドに入力します。
- [クラスター発行者の URL] は、マネージド クラスターの OIDC Issuer URL または自己管理型クラスターの OIDC Issuer URL です。
- [サービス アカウント名] は、Kubernetes サービス アカウントの名前であり、ポッドで実行されるプロセスの ID を提供するものです。
- [名前空間] は、サービス アカウントの名前空間です。
- [名前] はフェデレーション資格情報の名前です。これを後で変更することはできません。
[追加] を選び、フェデレーション資格情報を構成します。
その他
ドロップダウン メニューから [Other issuer] (その他の発行者) のシナリオを選択します。
次のフィールドを指定します (例として、Google Cloud で実行されているソフトウェア ワークロードを使用しています)。
- [名前] はフェデレーション資格情報の名前です。これを後で変更することはできません。
- サブジェクト識別子: 外部 ID プロバイダーによって発行されたトークン内の
sub
要求と一致する必要があります。 Google Cloud を使用しているこの例では、subject は、使用する予定のサービス アカウントの一意の ID です。 - 発行者: 外部 ID プロバイダーによって発行されたトークン内の
iss
要求と一致する必要があります。 OIDC Discovery 仕様に準拠する URL です。Microsoft Entra ID では、この発行者 URL を使用して、トークンを検証するために必要なキーをフェッチします。 Google Cloud の場合、issuer は "https://accounts.google.com" です。
[追加] を選び、フェデレーション資格情報を構成します。
ユーザー割り当てマネージド ID のフェデレーション ID 資格情報を一覧表示する
Microsoft Entra 管理センターで、作成したユーザー割り当てマネージド ID に移動します。 左側ナビゲーション バーの [設定] で、[フェデレーション資格情報] を選択します。
そのユーザー割り当てマネージド ID で構成されたフェデレーション ID 資格情報が一覧表示されます。
ユーザー割り当てマネージド ID からフェデレーション ID 資格情報を削除する
Microsoft Entra 管理センターで、作成したユーザー割り当てマネージド ID に移動します。 左側ナビゲーション バーの [設定] で、[フェデレーション資格情報] を選択します。
そのユーザー割り当てマネージド ID で構成されたフェデレーション ID 資格情報が一覧表示されます。
特定のフェデレーション ID 資格情報を削除するには、資格情報の [削除] アイコンを選択します。
前提条件
- Azure リソースのマネージド ID の基本点な事柄については、概要に関するセクションを参照してください。 システム割り当てマネージド ID とユーザー割り当てマネージド ID の違いを必ず確認してください。
- まだ Azure アカウントを持っていない場合は、無料のアカウントにサインアップしてから先に進んでください。
- 以下の手順で必要になる、外部 IdP およびソフトウェア ワークロードの情報を取得します。
- ユーザー割り当てマネージド ID を作成し、フェデレーション ID 資格情報を構成するには、お使いのアカウントに共同作成者または所有者ロールが割り当てられている必要があります。
- ユーザー割り当てマネージド ID を作成する
- ユーザー割り当てマネージド ID の名前を見つけます。この ID は、次の手順で必要になります。
Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。
CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。
初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。
az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。
ユーザー割り当てマネージド ID でフェデレーション ID 資格情報を構成する
az identity federated-credential create コマンドを実行して、ユーザー割り当てマネージド ID (名前で指定) の新しいフェデレーション ID 資格情報を作成します。 name、issuer、subject とその他のパラメーターを指定します。
az login
# set variables
location="centralus"
subscription="{subscription-id}"
rg="fic-test-rg"
# user assigned identity name
uaId="fic-test-ua"
# federated identity credential name
ficId="fic-test-fic-name"
# create prerequisites if required.
# otherwise make sure that existing resources names are set in variables above
az account set --subscription $subscription
az group create --location $location --name $rg
az identity create --name $uaId --resource-group $rg --location $location --subscription $subscription
# Create/update a federated identity credential
az identity federated-credential create --name $ficId --identity-name $uaId --resource-group $rg --issuer 'https://aks.azure.com/issuerGUID' --subject 'system:serviceaccount:ns:svcaccount' --audiences 'api://AzureADTokenExchange'
ユーザー割り当てマネージド ID のフェデレーション ID 資格情報を一覧表示する
az identity federated-credential list コマンドを実行して、ユーザー割り当てマネージド ID で構成されたすべてのフェデレーション ID 資格情報を読み取ります。
az login
# Set variables
rg="fic-test-rg"
# User assigned identity name
uaId="fic-test-ua"
# Read all federated identity credentials assigned to the user-assigned managed identity
az identity federated-credential list --identity-name $uaId --resource-group $rg
ユーザー割り当てマネージド ID でフェデレーション ID 資格情報を取得する
az identity federated-credential show コマンドを実行して、フェデレーション ID 資格情報 (ID 別) を表示します。
az login
# Set variables
rg="fic-test-rg"
# User assigned identity name
uaId="fic-test-ua"
# Federated identity credential name
ficId="fic-test-fic-name"
# Show the federated identity credential
az identity federated-credential show --name $ficId --identity-name $uaId --resource-group $rg
ユーザー割り当てマネージド ID からフェデレーション ID 資格情報を削除する
az identity federated-credential delete コマンドを実行して、既存のユーザー割り当て ID のフェデレーション ID 資格情報を削除します。
az login
# Set variables
# in Linux shell remove $ from set variable statement
$rg="fic-test-rg"
# User assigned identity name
$uaId="fic-test-ua"
# Federated identity credential name
$ficId="fic-test-fic-name"
az identity federated-credential delete --name $ficId --identity-name $uaId --resource-group $rg
前提条件
- Azure リソースのマネージド ID の基本点な事柄については、概要に関するセクションを参照してください。 システム割り当てマネージド ID とユーザー割り当てマネージド ID の違いを必ず確認してください。
- まだ Azure アカウントを持っていない場合は、無料のアカウントにサインアップしてから先に進んでください。
- 以下の手順で必要になる、外部 IdP およびソフトウェア ワークロードの情報を取得します。
- ユーザー割り当てマネージド ID を作成し、フェデレーション ID 資格情報を構成するには、お使いのアカウントに共同作成者または所有者ロールが割り当てられている必要があります。
- サンプル スクリプトを実行するには、次の 2 つのオプションがあります。
- Azure Cloud Shell を使用します。これは、コード ブロックの右上隅にある [試してみる] ボタンから開くことができます。
- Azure PowerShell を使用して、スクリプトをローカルで実行します。次のセクションの説明を参照してください。
- ユーザー割り当てマネージド ID を作成する
- ユーザー割り当てマネージド ID の名前を見つけます。この ID は、次の手順で必要になります。
ローカルで Azure PowerShell を構成する
このアーティクルのために、Cloud Shell を使わずにMicrosoft Azure PowerShell をローカルで使用するには、次の手順に従います。
最新バージョンの Azure PowerShell をインストールします (まだインストールしていない場合)。
Azure にサインインします。
Connect-AzAccount
PowerShellGet の最新バージョンをインストールします。
Install-Module -Name PowerShellGet -AllowPrerelease
次の手順のために、このコマンドを実行した後、現在の PowerShell セッションを
Exit
終了する必要があるかもしれません。Az.ManagedServiceIdentity
モジュールをインストールして、この記事のユーザー割り当てマネージド ID 操作を実行します。Install-Module -Name Az.ManagedServiceIdentity
ユーザー割り当てマネージド ID でフェデレーション ID 資格情報を構成する
New-AzFederatedIdentityCredentials コマンドを実行して、ユーザー割り当てマネージド ID (名前で指定) の新しいフェデレーション ID 資格情報を作成します。 name、issuer、subject とその他のパラメーターを指定します。
New-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 `
-Name fic-pwsh01 -Issuer "https://kubernetes-oauth.azure.com" -Subject "system:serviceaccount:ns:svcaccount"
ユーザー割り当てマネージド ID のフェデレーション ID 資格情報を一覧表示する
Get-AzFederatedIdentityCredentials コマンドを実行して、ユーザー割り当てマネージド ID で構成されたすべてのフェデレーション ID 資格情報を読み取ります。
Get-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01
ユーザー割り当てマネージド ID でフェデレーション ID 資格情報を取得する
Get-AzFederatedIdentityCredentials コマンドを実行して、フェデレーション ID 資格情報 (名前別) を表示します。
Get-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 -Name fic-pwsh01
ユーザー割り当てマネージド ID からフェデレーション ID 資格情報を削除する
Remove-AzFederatedIdentityCredentials コマンドを実行して、既存のユーザー割り当て ID のフェデレーション ID 資格情報を削除します。
Remove-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 -Name fic-pwsh01
前提条件
- Azure リソースのマネージド ID の基本点な事柄については、概要に関するセクションを参照してください。 システム割り当てマネージド ID とユーザー割り当てマネージド ID の違いを必ず確認してください。
- まだ Azure アカウントを持っていない場合は、無料のアカウントにサインアップしてから先に進んでください。
- 以下の手順で必要になる、外部 IdP およびソフトウェア ワークロードの情報を取得します。
- ユーザー割り当てマネージド ID を作成し、フェデレーション ID 資格情報を構成するには、お使いのアカウントに共同作成者または所有者ロールが割り当てられている必要があります。
- ユーザー割り当てマネージド ID を作成する
- ユーザー割り当てマネージド ID の名前を見つけます。この ID は、次の手順で必要になります。
テンプレートの作成と編集
Resource Manager テンプレートを使用すると、Azure リソース グループによって定義された新しいリソースまたは変更されたリソースをデプロイできます。 ローカルとポータル ベースの両方を含むテンプレートの編集やデプロイでは、次のような複数のオプションが使用できます。 次の操作を行います。
- Microsoft Azure Marketplace からのカスタム テンプレートを使用し、最初からテンプレートを作成したり、既存の共通テンプレートまたはクイックスタート テンプレートに基づいてテンプレートを作成したりします。
- テンプレートをエクスポートして、既存のリソース グループから派生させます。 元のデプロイまたはデプロイの現在の状態からエクスポートできます。
- ローカルの JSON エディター (VS Code など) を使用してから、PowerShell または Azure CLI を使用してアップロードおよびデプロイします。
- Visual Studio の Azure リソース グループ プロジェクトを使用して、テンプレートを作成およびデプロイします。
ユーザー割り当てマネージド ID でフェデレーション ID 資格情報を構成する
フェデレーション ID 資格情報と親ユーザー割り当て ID は、以下のテンプレートを使用して作成または更新できます。 Azure portal から ARM テンプレートをデプロイできます。
すべてのテンプレート パラメーターが必須です。
フェデレーション ID 資格情報名の長さは、3 - 120 文字に制限されています。 使用できるのは、英数字、ダッシュ、アンダースコアです。 先頭に使用できるのは英数字のみです。
フェデレーション ID 資格情報には、対象ユーザーを 1 人だけ指定する必要があります。 対象ユーザーはトークン交換中に検証されます。 既定値として "api://AzureADTokenExchange" を使用します。
一覧表示、取得、削除の操作は、テンプレートでは使用できません。 これらの操作については、Azure CLI を参照してください。 既定では、すべての子フェデレーション ID 資格情報が並行して作成されます。これにより、コンカレンシー検出ロジックがトリガーされ、HTTP 競合を示す状態コード 409 でデプロイが失敗します。 これらを順番に作成するには、dependsOn プロパティを使用して依存関係のチェーンを指定します。
どの自動処理でも、同じ親 ID の下にフェデレーション ID 資格情報が順番に作成されるようにしてください。 異なるマネージド ID にフェデレーション ID 資格情報を並行して作成することは、制限なしで実行できます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {},
"parameters": {
"location": {
"type": "string",
"defaultValue": "westcentralus",
"metadata": {
"description": "Location for identities resources. FIC should be enabled in this region."
}
},
"userAssignedIdentityName": {
"type": "string",
"defaultValue": "FIC_UA",
"metadata": {
"description": "Name of the User Assigned identity (parent identity)"
}
},
"federatedIdentityCredential": {
"type": "string",
"defaultValue": "testCredential",
"metadata": {
"description": "Name of the Federated Identity Credential"
}
},
"federatedIdentityCredentialIssuer": {
"type": "string",
"defaultValue": "https://aks.azure.com/issuerGUID",
"metadata": {
"description": "Federated Identity Credential token issuer"
}
},
"federatedIdentityCredentialSubject": {
"type": "string",
"defaultValue": "system:serviceaccount:ns:svcaccount",
"metadata": {
"description": "Federated Identity Credential token subject"
}
},
"federatedIdentityCredentialAudience": {
"type": "string",
"defaultValue": " api://AzureADTokenExchange",
"metadata": {
"description": "Federated Identity Credential audience. Single value is only supported."
}
}
},
"resources": [
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"apiVersion": "2018-11-30",
"name": "[parameters('userAssignedIdentityName')]",
"location": "[parameters('location')]",
"tags": {
"firstTag": "ficTest"
},
"resources": [
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials",
"apiVersion": "2022-01-31-PREVIEW",
"name": "[concat(parameters('userAssignedIdentityName'), '/', parameters('federatedIdentityCredential'))]",
"dependsOn": [
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('userAssignedIdentityName'))]"
],
"properties": {
"issuer": "[parameters('federatedIdentityCredentialIssuer')]",
"subject": "[parameters('federatedIdentityCredentialSubject')]",
"audiences": [
"[parameters('federatedIdentityCredentialAudience')]"
]
}
}
]
}
]
}
前提条件
- Azure リソースのマネージド ID の基本点な事柄については、概要に関するセクションを参照してください。 システム割り当てマネージド ID とユーザー割り当てマネージド ID の違いを必ず確認してください。
- まだ Azure アカウントを持っていない場合は、無料のアカウントにサインアップしてから先に進んでください。
- 以下の手順で必要になる、外部 IdP およびソフトウェア ワークロードの情報を取得します。
- ユーザー割り当てマネージド ID を作成し、フェデレーション ID 資格情報を構成するには、お使いのアカウントに共同作成者または所有者ロールが割り当てられている必要があります。
- この記事で取り上げるすべてのコマンドは、クラウドでもローカルでも実行できます。
- クラウドで実行するには、Azure Cloud Shell を使用します。
- ローカルで実行するには、curl と Azure CLI をインストールします。
- ユーザー割り当てマネージド ID を作成する
- ユーザー割り当てマネージド ID の名前を見つけます。この ID は、次の手順で必要になります。
ベアラー アクセス トークンを取得する
ローカルで実行している場合は、Azure CLI を使用して Azure にサインインします。
az login
az account get-access-token を使用してアクセス トークンを取得します。
az account get-access-token
ユーザー割り当てマネージド ID でフェデレーション ID 資格情報を構成する
指定したユーザー割り当てマネージド ID でフェデレーション ID 資格情報を作成または更新します。
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/provider
s/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/federatedIdenti
tyCredentials/<FEDERATED IDENTITY CREDENTIAL NAME>?api-version=2022-01-31-preview' -X PUT -d '{"properties": "{ "properties": { "issuer": "<ISSUER>", "subject": "<SUBJECT>", "audiences": [ "api://AzureADTokenExchange" ] }}"}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL NAME>?api-version=2022-01-31-preview
{
"properties": {
"issuer": "https://oidc.prod-aks.azure.com/IssuerGUID",
"subject": "system:serviceaccount:ns:svcaccount",
"audiences": [
"api://AzureADTokenExchange"
]
}
}
要求ヘッダー
要求ヘッダー | 説明 |
---|---|
Content-Type | 必須。 application/json を設定します。 |
承認 | 必須。 有効な Bearer アクセス トークンを設定します。 |
要求本文
名前 | 説明 |
---|---|
properties.audiences | 必須。 発行されたトークンに表示できる対象ユーザーの一覧。 |
properties.issuer | 必須。 信頼する発行者の URL。 |
properties.subject | 必須。 外部 ID の識別子。 |
ユーザー割り当てマネージド ID のフェデレーション ID 資格情報を一覧表示する
指定したユーザー割り当てマネージド ID のすべてのフェデレーション ID 資格情報を一覧表示します。
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials?api-version=2022-01-31-preview' -H "Content-Type: application/json" -X GET -H "Authorization: Bearer <ACCESS TOKEN>"
GET
https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials?api-version=2022-01-31-preview
要求ヘッダー
要求ヘッダー | 説明 |
---|---|
Content-Type | 必須。 application/json を設定します。 |
承認 | 必須。 有効な Bearer アクセス トークンを設定します。 |
ユーザー割り当てマネージド ID でフェデレーション ID 資格情報を取得する
指定したユーザー割り当てマネージド ID のフェデレーション ID 資格情報を取得します。
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview' -X GET -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
GET
https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview
要求ヘッダー
要求ヘッダー | 説明 |
---|---|
Content-Type | 必須。 application/json を設定します。 |
承認 | 必須。 有効な Bearer アクセス トークンを設定します。 |
ユーザー割り当てマネージド ID からフェデレーション ID 資格情報を削除する
指定したユーザー割り当てマネージド ID のフェデレーション ID 資格情報を削除します。
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview' -X DELETE -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
DELETE
https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview
要求ヘッダー
要求ヘッダー | 説明 |
---|---|
Content-Type | 必須。 application/json を設定します。 |
承認 | 必須。 有効な Bearer アクセス トークンを設定します。 |
次のステップ
- 外部 ID プロバイダーによって作成される JWT の指定の形式については、「アサーションの形式」を参照してください。