mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-16 23:01:43 -08:00
Translated ['src/pentesting-ci-cd/ansible-tower-awx-automation-controlle
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Az - Static Web Apps
|
||||
# Az Static Web Apps
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -17,9 +17,9 @@ Azure Static Web Appsは、**GitHubなどのリポジトリからの自動CI/CD
|
||||
|
||||
### Webアプリ基本認証
|
||||
|
||||
Webアプリにアクセスするための**パスワードを設定する**ことが可能です。Webコンソールでは、ステージング環境のみ、またはステージングと本番環境の両方を保護するように設定できます。
|
||||
Webアプリにアクセスするための**パスワードを設定する**ことが可能です。Webコンソールでは、ステージング環境のみ、またはステージングと本番の両方を保護するように設定できます。
|
||||
|
||||
執筆時点でパスワード保護されたWebアプリは次のようになります:
|
||||
執筆時点でのパスワード保護されたWebアプリの外観は次のとおりです:
|
||||
|
||||
<figure><img src="../../../images/azure_static_password.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
@@ -32,7 +32,7 @@ az rest --method GET \
|
||||
|
||||
### ルートとロール
|
||||
|
||||
ルートは、静的ウェブアプリ内で**受信HTTPリクエストがどのように処理されるか**を定義します。**`staticwebapp.config.json`**ファイルで設定されており、URLの書き換え、リダイレクト、アクセス制限、ロールベースの認証を制御し、適切なリソースの処理とセキュリティを確保します。
|
||||
ルートは、静的ウェブアプリ内で**受信HTTPリクエストがどのように処理されるか**を定義します。**`staticwebapp.config.json`**ファイルで構成されており、URLの書き換え、リダイレクト、アクセス制限、ロールベースの認証を制御し、適切なリソースの処理とセキュリティを確保します。
|
||||
|
||||
いくつかの例:
|
||||
```json
|
||||
@@ -54,6 +54,11 @@ az rest --method GET \
|
||||
"route": "/admin",
|
||||
"redirect": "/login",
|
||||
"statusCode": 302
|
||||
},
|
||||
{
|
||||
"route": "/google",
|
||||
"redirect": "https://google.com",
|
||||
"statusCode": 307
|
||||
}
|
||||
],
|
||||
"navigationFallback": {
|
||||
@@ -62,24 +67,27 @@ az rest --method GET \
|
||||
}
|
||||
}
|
||||
```
|
||||
ノート:**ロールでパスを保護する**ことが可能であり、その場合、ユーザーはアプリに認証し、そのロールを付与されてパスにアクセスする必要があります。また、特定のユーザーに特定のロールを付与する**招待を作成する**ことも可能で、これはアプリ内での権限昇格に役立つかもしれません。
|
||||
パスを**ロールで保護する**ことが可能であることに注意してください。これにより、ユーザーはアプリに認証し、そのロールを付与されてパスにアクセスする必要があります。また、特定のユーザーに特定のロールを付与する**招待を作成する**ことも可能で、これはアプリ内で権限を昇格させるのに役立つかもしれません。
|
||||
|
||||
> [!TIP]
|
||||
> アプリを構成して**`staticwebapp.config.json`**ファイルへの変更が受け入れられないようにすることが可能であることに注意してください。この場合、Githubからファイルを変更するだけでは不十分であり、**アプリの設定を変更する**必要があります。
|
||||
> `staticwebapp.config.json`ファイルへの**変更が受け入れられない**ようにアプリを構成することが可能であることに注意してください。この場合、Githubからファイルを変更するだけでは不十分で、**アプリ内の設定を変更する**必要があります。
|
||||
|
||||
ステージングURLは次の形式です:`https://<app-subdomain>-<PR-num>.<region>.<res-of-app-domain>` 例えば:`https://ambitious-plant-0f764e00f-2.eastus2.4.azurestaticapps.net`
|
||||
ステージングURLは次の形式です: `https://<app-subdomain>-<PR-num>.<region>.<res-of-app-domain>` 例えば: `https://ambitious-plant-0f764e00f-2.eastus2.4.azurestaticapps.net`
|
||||
|
||||
### スニペット
|
||||
|
||||
静的ウェブアプリ内にHTMLスニペットを保存することが可能で、アプリ内で読み込まれます。これは、アプリに**悪意のあるコードを注入する**ために使用でき、例えば**資格情報を盗むためのJSコード**や**キーロガー**などです。詳細は権限昇格のセクションにあります。
|
||||
|
||||
### マネージドアイデンティティ
|
||||
|
||||
Azure Static Web Appsは**マネージドアイデンティティ**を使用するように構成できますが、[このFAQ](https://learn.microsoft.com/en-gb/azure/static-web-apps/faq#does-static-web-apps-support-managed-identity-)で述べられているように、認証目的でAzure Key Vaultからシークレットを**抽出するためにのみサポートされています。他のAzureリソースにアクセスするためではありません**。
|
||||
Azure Static Web Appsは**マネージドアイデンティティ**を使用するように構成できますが、[このFAQ](https://learn.microsoft.com/en-gb/azure/static-web-apps/faq#does-static-web-apps-support-managed-identity-)で述べられているように、**認証目的でAzure Key Vaultからシークレットを抽出するためにのみサポートされています。他のAzureリソースにアクセスするためではありません**。
|
||||
|
||||
詳細については、Azureガイドで静的アプリでボールトシークレットを使用する方法を確認できます:https://learn.microsoft.com/en-us/azure/static-web-apps/key-vault-secrets。
|
||||
詳細については、静的アプリでボールトシークレットを使用するAzureガイドをhttps://learn.microsoft.com/en-us/azure/static-web-apps/key-vault-secretsで見つけることができます。
|
||||
|
||||
## 列挙
|
||||
|
||||
{% tabs %}
|
||||
{% tab title="az cli" %}
|
||||
{% code overflow="wrap" %}
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
```bash
|
||||
# List Static Webapps
|
||||
az staticwebapp list --output table
|
||||
@@ -100,6 +108,10 @@ az staticwebapp secrets list --name <name>
|
||||
# Get invited users
|
||||
az staticwebapp users list --name <name>
|
||||
|
||||
# Get current snippets
|
||||
az rest --method GET \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Web/staticSites/trainingdemo/snippets?api-version=2022-03-01"
|
||||
|
||||
# Get database connections
|
||||
az rest --method GET \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Web/staticSites/<app-name>/databaseConnections?api-version=2021-03-01"
|
||||
@@ -111,12 +123,10 @@ az rest --method POST \
|
||||
# Check connected backends
|
||||
az staticwebapp backends show --name <name> --resource-group <res-group>
|
||||
```
|
||||
{% endcode %}
|
||||
{% endtab %}
|
||||
{{#endtab }}
|
||||
|
||||
{% tab title="Az PowerShell" %}
|
||||
{% code overflow="wrap" %}
|
||||
```powershell
|
||||
{{#tab name="Az Powershell" }}
|
||||
```bash
|
||||
Get-Command -Module Az.Websites
|
||||
|
||||
# Retrieves details of a specific Static Web App in the specified resource group.
|
||||
@@ -159,14 +169,13 @@ Get-AzStaticWebAppUser -ResourceGroupName <ResourceGroupName> -Name <Name> -Auth
|
||||
Get-AzStaticWebAppUserProvidedFunctionApp -ResourceGroupName <ResourceGroupName> -Name <Name>
|
||||
|
||||
```
|
||||
{% endcode %}
|
||||
{% endtab %}
|
||||
{% endtabs %}
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
|
||||
## Webアプリを生成する例
|
||||
## Webアプリを生成するための例
|
||||
|
||||
以下のリンクでウェブアプリを生成する良い例を見つけることができます: [https://learn.microsoft.com/en-us/azure/static-web-apps/get-started-portal?tabs=react&pivots=github](https://learn.microsoft.com/en-us/azure/static-web-apps/get-started-portal?tabs=react&pivots=github)
|
||||
以下のリンクでウェブアプリを生成するための良い例を見つけることができます: [https://learn.microsoft.com/en-us/azure/static-web-apps/get-started-portal?tabs=react&pivots=github](https://learn.microsoft.com/en-us/azure/static-web-apps/get-started-portal?tabs=react&pivots=github)
|
||||
|
||||
1. リポジトリ https://github.com/staticwebdev/react-basic/generate をあなたのGitHubアカウントにフォークし、`my-first-static-web-app`という名前を付けます
|
||||
2. AzureポータルでStatic Web Appを作成し、GitHubアクセスを設定し、先にフォークした新しいリポジトリを選択します
|
||||
|
||||
Reference in New Issue
Block a user