UID2 Private Operator for Azure Integration Guide
このガイドでは、Microsoft Azure のコンフィデンシャルコンピューティングオプションである Confidential Container で UID2 Operator Service をセットアップするための情報を提供します。Confidential Container(機密コンテナー)は、データ整合性、データ機密性、コード整合性などの本質的な機能を提供するハードウェア支援の実行環境(Trusted Execution Environment: TEE) で実行されます。
UID2 Operator Confidential Container の Docker コンテナが起動すると、UID2 Core Service がOperator Service と Operator Service が実行されているエンクレーブ環境の信頼性を検証するための認証プロセスが完了します。
認証が成功すると、UID2 Core Service は、安全な UID2 Operator 機密コンテナで UID2 Operator をブートストラップするために、ソルトやキーなどのシード情報を提供します。
UID2 Private Operator for Azureは、以下の地域ではサポートされていません: ヨーロッパ、中国
Prerequisites
UID2 Private Operator for Azureをデプロイする前に、以下の前提条件を完了してください:
Set Up UID2 Operator Account
UID2 の連絡先に、あなたの組織を UID2 Operator として登録するよう依頼してください。相談先については、Contact Info を参照してください。
登録手続きが完了すると、以下のお知らせが届きます:
-
UID2 Service であなたを Private Operator として識別する、専用の Operator Key。設定の際には、これを
OPERATOR_KEY
の値として使用します。この値は、固有の識別子であると同時にパスワードでもあります。注記デプロイ環境ごとに個別の Operator Key を渡します。
-
UID2 Private Operator for Azure GitHubリリースページへのリンク。例えば、次のようになります: https://github.com/IABTechLab/uid2-operator/releases/tag/v5.21.5-68a47aec9f-azure-cc.
注記これは一例です。送られたリンクを利用してください。
Install Azure CLI
Azure コマンドラインインターフェイスをインストールします。Azure ドキュメントの Azure CLI をインストールする方法 を参照してください。
Get the Required Azure Permissions
リソースグループを作成するには、サブスクリプションオーナー権限が必要です。
これが完了すると、そのリソースのリソースグループレベルのContributor(共同作成者)権限だけが必要になります。
詳細は、Azure ドキュメントの Azure ロール を参照してください。
前提条件がすべて完了したら、UID2 Private Operator をデプロイする準備が整います。Deployment を参照してください。
Deployment Environments
以下の環境が利用可能です。ベストプラクティスとして、本番環境にデプロイする前に、テスト環境で実装をテストし、検証することをお勧めします。
{OPERATOR_KEY}
は環境ごとに別々の値になります。使用する環境に適したキーを使用してください。デプロイの成果物と処理の流れは、どちらの環境でも同じです。
Environment | Details |
---|---|
Integration (integ ) | テスト専用。デバッグモードはテスト環境で使用できます。 |
Production (prod ) | 実稼働トラフィックの管理用。 |
Deployment
新しい UID2 Private Operator for Azure をデプロイするには、以下のステップを完了する必要があります:
- Download ZIP File and Extract Files
- Create Resource Group
- Complete Key Vault and Managed Identity Setup
- Set Up the VPC Network
- Complete the UID2 Private Operator Setup
- Set Up the Gateway Load Balancer
Download ZIP File and Extract Files
最初のステップは、必要なデプロイ用ファイルをセットアップすることです。
以下の手順に従ってください:
-
UID2 アカウントのセットアップ完了後に渡された Azure Enclave GitHub リリースページ(Set Up UID2 Operator Account を参照してください) から、デプロイに必要なファイルを含む ZIP ファイルを探してダウンロードします。ZIP ファイルの名前は以下の規則に従っています:
uid2-operator-deployment-artifacts-{VERSION_NUMBER}-azure-cc.zip
-
uid2-operator-deployment-artifacts-{VERSION_NUMBER}-azure-cc.zip
ファイルを解凍し、デプロイに必要な以下のファイルを展開します:vault.json
andvault.parameters.json
vnet.json
andvnet.parameters.json
operator.json
andoperator.parameters.json
gateway.json
andgateway.parameters.json
Create Resource Group
Azure では、以下のコマンドを実行して、UID2 Operator を実行するリソースグループを作成します:
az group create --name {RESOURCE_GROUP_NAME} --location {LOCATION}
すべてのリソースは後で {RESOURCE_GROUP_NAME}
の値として指定した名前でプロビジョニングされます。
ロケーションに関していくつかの制限があります:
-
UID2 Private Operator for Azure は、以下の地域ではサポートされていません: ヨーロッパ、中国。
-
Azure 仮想ネットワークデプロイの可用性については、Azure ドキュメントの Linux コンテナー グループ を確認してください。表の 機密 SKU 列が Y に設定されているリージョンにのみデプロイできます。
Complete Key Vault and Managed Identity Setup
次のステップは、Key Vault を設定し、Operator Key を保存することです。
Key Vault を作成したら、マネージド ID を作成し、Key Vault にアクセスする権限を付与します。
後に Azure Container Instances(ACI) がこの ID でローンチされます。
以下の手順に従ってください:
-
vault.parameters.json
ファイルを以下の必須の値で更新します:Parameter Description vaultName
Operator Key を保持する Key Vault の名前。選択する名前は、グローバルに一意でなければなりません。 operatorKeyValue
アカウント設定の際に UID チームから受け取った OPERATOR_KEY
の値です (Set Up UID2 Operator Account を参照してください)。この値は固有のもので、パスワードの役割を果たします。 -
(オプション) デフォルト値を受け入れたくない場合は、
vault.parameters.json
ファイルを以下の値で更新します。これらのパラメータはデフォルト値であり、ほとんどの場合、更新する必要はありません。Parameter Description operatorIdentifier
コンテナを起動するマネージド ID の名前。
デフォルト:uid-operator
.operatorKeyName
Operator Key の名前。
デフォルト:operator-key
. -
以下のコマンドを実行し、デプロイを開始します:
az deployment group create --name vault --resource-group {RESOURCE_GROUP_NAME} --parameters vault.parameters.json --template-file vault.json
Set Up the VPC Network
次のステップは、VPCネットワークのセットアップです。
以下の図は、Microsoft Azure の UID2 Private Operator をホストする仮想プライベートクラウドを示しています。
以下の手順に従ってください:
-
(オプション) デフォルト値を受け入れたくない場合は、
vnet.parameters.json
ファイルを以下の値で更新します。これらのパラメータはデフォルト値なので、ほとんどの場合、更新する必要はありません。Parameter Description vnetName
仮想ネットワーク名。
デフォルト:unified-id-network
computeSubnetName
UID2 Operator を実行するサブネットの名前。
デフォルト:unified-id-subnet-operators
gatewaySubnetName
UID2 Gateway を実行するサブネットの名前。
デフォルト:unified-id-subnet-gateway
VnetAddressPrefix
vnet アドレスのプレフィックス。
デフォルト:10.0.0.0/20
computeSubnetPrefix
UID2 Operator の実行を委任されたサブネットの vnet アドレスプレフィックス。
デフォルト:10.0.0.0/24
gatewaySubnetPrefix
UID2 Gateway を実行するサブネットの vnet アドレスプレフィックス。
デフォルト:10.0.1.0/28
-
以下のコマンドを実行し、デプロイを開始します:
az deployment group create --name vnet --resource-group {RESOURCE_GROUP_NAME} --parameters vnet.parameters.json --template-file vnet.json
Complete the UID2 Private Operator Setup
次のステップは、作成した VPC サブネットワークに複数の Azure Container Instances(ACI) を立ち上げることです。
以下の手順に従ってください:
-
operator.parameters.json
ファイルを以下の必須値で更新します:Parameter Description vaultName
Operator Key をホストする Key Vault の名前。この値は、Complete Key Vault and Managed Identity Setup で作成した名前と一致する必要があります。 deploymentEnvironment
デプロイ先の環境を示す: integ
またはprod
。詳細は、Deployment Environments を参照してください。 -
(オプション) デフォルトを受け入れたくない場合は、
operator.parameters.json
ファイルを以下の値で更新します。これらのパラメーターにはデフォルト値があり、ほとんどの場合、更新する必要はありません。Parameter Description operatorKeyName
Operator Key 名。この値は、Complete Key Vault and Managed Identity Setup で指定した値と一致する必要があります。デフォルトを受け入れた場合、値は operator-key
となります。operatorIdentifier
コンテナを起動するマネージド ID の名前。 Complete Key Vault and Managed Identity Setup で指定した値と一致する必要があります。デフォルトを受け入れた場合、値は uid-operator
となります。vnetName
仮想ネットワ ーク名。Set Up the VPC Network で指定した値と一致する必要があります。デフォルトを受け入れた場合、値は unified-id-network
となります。computeSubnetName
Private Operator を実行するサブネットの名前。Set Up the VPC Network で指定した値と一致する必要があります。デフォルトを受け入れた場合、値は unified-id-subnet-operators
となります。count
立ち上げたいさせたいインスタンスの数。デフォルトは 2
となります。 -
以下のコマンドを実行して ACI をデプロイします:
az deployment group create --name operator --resource-group {RESOURCE_GROUP_NAME} --parameters operator.parameters.json --template-file operator.json
-
以下のコマンドを実行して、作成したACIインスタンスのIPアドレスを取得します:
az deployment group show -g {RESOURCE_GROUP_NAME} -n operator --query properties.outputs
出力は以下のようになるはずです:
{ "ipAddress": { "type": "Array", "value": [ "10.0.0.5", "10.0.0.4" ] } }