Titkos kötet csatlakoztatása Azure Container Instances
Titkos kötet használatával bizalmas információkat szolgáltathat egy tárolócsoport tárolóinak. A titkos kötet a köteten belüli fájlokban tárolja a titkos kódokat, amelyeket a tárolócsoport tárolói érhetnek el. A titkos kulcsok titkos kötetben való tárolásával elkerülheti, hogy bizalmas adatokat, például SSH-kulcsokat vagy adatbázis-hitelesítő adatokat adjon hozzá az alkalmazás kódjához.
- Miután titkos kódokkal üzembe helyezte egy tárolócsoportban, a titkos kötet írásvédett lesz.
- Minden titkos kötetet a tmpfs, egy RAM-alapú fájlrendszer nyújt; a tartalmuk soha nem kerül nem felejtő tárolóba.
Megjegyzés
A titkos kötetek jelenleg Linux-tárolókra vannak korlátozva. A Környezeti változók beállítása című témakörből megtudhatja, hogyan adhat át biztonságos környezeti változókat Windows- és Linux-tárolókhoz is. Miközben azon dolgozunk, hogy az összes szolgáltatást a Windows-tárolókba is elérhetővé tegyük, az áttekintésben megtalálhatja a platform aktuális különbségeit.
Titkos kötet csatlakoztatása – Azure CLI
Ha egy vagy több titkos kóddal rendelkező tárolót szeretne üzembe helyezni az Azure CLI használatával, adja meg a --secrets
és --secrets-mount-path
a paramétereket az az container create parancsban. Ez a példa egy titkos kötetet csatlakoztat, amely két titkos fájlt tartalmaz: "mysecret1" és "mysecret2", a következő helyen /mnt/secrets
:
az container create \
--resource-group myResourceGroup \
--name secret-volume-demo \
--image mcr.microsoft.com/azuredocs/aci-helloworld \
--secrets mysecret1="My first secret FOO" mysecret2="My second secret BAR" \
--secrets-mount-path /mnt/secrets
Az alábbi az container exec kimenet egy rendszerhéj megnyitását mutatja a futó tárolóban, amely felsorolja a titkos köteten belüli fájlokat, majd megjeleníti a tartalmukat:
az container exec \
--resource-group myResourceGroup \
--name secret-volume-demo --exec-command "/bin/sh"
/usr/src/app # ls /mnt/secrets
mysecret1
mysecret2
/usr/src/app # cat /mnt/secrets/mysecret1
My first secret FOO
/usr/src/app # cat /mnt/secrets/mysecret2
My second secret BAR
/usr/src/app # exit
Bye.
Titkos kód csatlakoztatása – YAML
Tárolócsoportokat az Azure CLI-vel és egy YAML-sablonnal is üzembe helyezhet. A YAML-sablonnal történő üzembe helyezés az előnyben részesített módszer több tárolóból álló tárolócsoportok üzembe helyezésekor.
YAML-sablonnal történő üzembe helyezéskor a titkos értékeknek Base64 kódolásúnak kell lenniük a sablonban. A titkos kódok azonban egyszerű szövegként jelennek meg a tárolóban lévő fájlokban.
Az alábbi YAML-sablon egy tárolócsoportot határoz meg egy tárolóval, amely egy titkos kötetet csatlakoztat a következő helyen /mnt/secrets
: . A titkos kötet két titkos fájlt tartalmaz: "mysecret1" és "mysecret2".
apiVersion: '2019-12-01'
location: eastus
name: secret-volume-demo
properties:
containers:
- name: aci-tutorial-app
properties:
environmentVariables: []
image: mcr.microsoft.com/azuredocs/aci-helloworld:latest
ports: []
resources:
requests:
cpu: 1.0
memoryInGB: 1.5
volumeMounts:
- mountPath: /mnt/secrets
name: secretvolume1
osType: Linux
restartPolicy: Always
volumes:
- name: secretvolume1
secret:
mysecret1: TXkgZmlyc3Qgc2VjcmV0IEZPTwo=
mysecret2: TXkgc2Vjb25kIHNlY3JldCBCQVIK
tags: {}
type: Microsoft.ContainerInstance/containerGroups
A YAML-sablonnal való üzembe helyezéshez mentse az előző YAML-fájlt egy nevű deploy-aci.yaml
fájlba, majd hajtsa végre az az container create parancsot a --file
paraméterrel:
# Deploy with YAML template
az container create \
--resource-group myResourceGroup \
--file deploy-aci.yaml
Titkos kötet csatlakoztatása – Resource Manager
A parancssori felület és a YAML üzembe helyezése mellett azure Resource Manager-sablon használatával is üzembe helyezhet tárolócsoportokat.
Először töltse ki a volumes
tömböt a sablon tárolócsoport properties
szakaszában. Ha Resource Manager sablonnal telepíti az üzembe helyezést, a titkos kódértékeket Base64-kódolásúnak kell lennie a sablonban. A titkos kódok azonban egyszerű szövegként jelennek meg a tárolóban lévő fájlokban.
Ezután töltse ki a volumeMounts
tömböt a tárolódefiníció szakaszában properties
azon tárolócsoport minden tárolójára, amelyben csatlakoztatni szeretné a titkos kötetet.
Az alábbi Resource Manager sablon egy tárolócsoportot határoz meg egy tárolóval, amely egy titkos kötetet csatlakoztat a következő helyen/mnt/secrets
: . A titkos kötet két titkos kóddal rendelkezik: "mysecret1" és "mysecret2".
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"container1name": "aci-tutorial-app",
"container1image": "microsoft/aci-helloworld:latest"
},
"resources": [
{
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2021-03-01",
"name": "secret-volume-demo",
"location": "[resourceGroup().location]",
"properties": {
"containers": [
{
"name": "[variables('container1name')]",
"properties": {
"image": "[variables('container1image')]",
"resources": {
"requests": {
"cpu": 1,
"memoryInGb": 1.5
}
},
"ports": [
{
"port": 80
}
],
"volumeMounts": [
{
"name": "secretvolume1",
"mountPath": "/mnt/secrets"
}
]
}
}
],
"osType": "Linux",
"ipAddress": {
"type": "Public",
"ports": [
{
"protocol": "tcp",
"port": "80"
}
]
},
"volumes": [
{
"name": "secretvolume1",
"secret": {
"mysecret1": "TXkgZmlyc3Qgc2VjcmV0IEZPTwo=",
"mysecret2": "TXkgc2Vjb25kIHNlY3JldCBCQVIK"
}
}
]
}
}
]
}
A Resource Manager sablonnal való üzembe helyezéshez mentse az előző JSON-t egy nevű deploy-aci.json
fájlba, majd hajtsa végre az az deployment group create parancsot a --template-file
paraméterrel:
# Deploy with Resource Manager template
az deployment group create \
--resource-group myResourceGroup \
--template-file deploy-aci.json
Következő lépések
Kötetek
Megtudhatja, hogyan csatlakoztathat más kötettípusokat a Azure Container Instances:
- Azure-fájlmegosztás csatlakoztatása az Azure Container Instancesben
- EmptyDir-kötet csatlakoztatása Azure Container Instances
- GitRepo-kötet csatlakoztatása Azure Container Instances
Biztonságos környezeti változók
A tárolók (köztük a Windows-tárolók) bizalmas információinak biztosítására egy másik módszer a biztonságos környezeti változók használata.