次の方法で共有


カスタムのマシンの構成パッケージに対するセキュリティで保護されたアクセスを提供する方法

このページでは、ユーザー割り当てマネージド ID または Shared Access Signature (SAS) トークンのリソース ID を使用して、Azure ストレージに保存されているマシンの構成パッケージに対するアクセスを提供する方法について説明します。

前提条件

  • Azure サブスクリプション
  • マシンの構成パッケージを使用する Azure Storage アカウント

パッケージへのアクセスを提供する手順

以下の手順に従って、より安全な操作のためにリソースを準備します。 手順のコード スニペットには、<storage-account-container-name> などの山かっこで囲まれた値があります。手順を実行するときは、これを有効な値に置き換える必要があります。 単にコードをコピーして貼り付けると、値が無効なので、コマンドでエラーが発生する可能性があります。

ユーザー割り当て ID の使用

重要

Azure VM とは異なり、Arc 接続マシンは、現在、ユーザー割り当てマネージド ID をサポートしていないことに注意してください。

ユーザー割り当て ID を Azure VM のスコープに割り当てることで、Azure Storage BLOB 内のマシンの構成パッケージに対するプライベート アクセス権を付与できます。 これが機能するには、マネージド ID に Azure Storage BLOB に対する読み取りアクセス権を付与する必要があります。 このために、BLOB コンテナーのスコープで ID に "ストレージ BLOB データ閲覧者" ロールを割り当てる必要があります。 この設定により、Azure VM はユーザー割り当てマネージド ID を使用して、指定した BLOB コンテナーから安全に読み取ることができるようになります。 ユーザー割り当て ID を大規模に割り当てる方法については、「Azure Policy を使用してマネージド ID を割り当てる」を参照してください。

SAS トークンの使用

必要に応じて、URL に Shared Access Signature (SAS) トークンを追加して、パッケージに対するセキュリティで保護されたアクセスを確保できます。 次の例では、読み取りアクセス権を持つ BLOB SAS トークンを生成し、共有アクセス署名トークンを含む完全な BLOB URI を返します。 この例では、トークンの制限時間は 3 年です。

$startTime = Get-Date
$endTime   = $startTime.AddYears(3)

$tokenParams = @{
    StartTime  = $startTime
    ExpiryTime = $endTime
    Container  = '<storage-account-container-name>'
    Blob       = '<configuration-blob-name>'
    Permission = 'r'
    Context    = '<storage-account-context>'
    FullUri    = $true
}

$contentUri = New-AzStorageBlobSASToken @tokenParams

まとめ

ユーザー割り当てマネージド ID または SAS トークンのリソース ID を使用すると、Azure ストレージに保存されているマシンの構成パッケージに対するセキュリティで保護されたアクセスを提供できます。 パラメーターを追加することで、確実にマネージド ID を使用してパッケージが取得され、Azure Arc マシンがポリシー スコープに含まれないようになります。

次のステップ

  • ポリシー定義を作成したら、それを Azure 環境内の管理グループ、サブスクリプション、リソース グループなどの適切なスコープに割り当てることができます。
  • 必ずポリシーのコンプライアンス状態を監視し、組織の要件を満たすようにマシンの構成パッケージまたはポリシーの割り当てに必要な調整を行ってください。