カスタムのマシンの構成パッケージに対するセキュリティで保護されたアクセスを提供する方法
このページでは、ユーザー割り当てマネージド 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 環境内の管理グループ、サブスクリプション、リソース グループなどの適切なスコープに割り当てることができます。
- 必ずポリシーのコンプライアンス状態を監視し、組織の要件を満たすようにマシンの構成パッケージまたはポリシーの割り当てに必要な調整を行ってください。