Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd en hemlig volym för att tillhandahålla känslig information till containrarna i en containergrupp. Den hemliga volymen lagrar dina hemligheter i filer i volymen, som är tillgängliga för containrarna i containergruppen. Genom att lagra hemligheter i en hemlig volym kan du undvika att lägga till känsliga data som SSH-nycklar eller databasautentiseringsuppgifter i programkoden.
- När den har distribuerats med hemligheter i en containergrupp är en hemlig volym skrivskyddad.
- Tmpfs, ett RAM-säkerhetskopierat filsystem, säkerhetskopierar alla hemliga volymer. Innehållet skrivs aldrig till icke-lagring.
Kommentar
Hemliga volymer är för närvarande begränsade till Linux-containrar. Lär dig hur du skickar säkra miljövariabler för både Windows- och Linux-containrar i Ange miljövariabler. Medan vi arbetar med att ta alla funktioner till Windows-containrar kan du hitta aktuella plattformsskillnader i översikten.
Montera hemlig volym – Azure CLI
Om du vill distribuera en container med en eller flera hemligheter med hjälp av Azure CLI tar du med parametrarna --secrets och --secrets-mount-path i kommandot az container create . I det här exemplet monteras en hemlig volym som består av två filer som innehåller hemligheter, "mysecret1" och "mysecret2", på /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
Följande az containerexec-utdata visar hur du öppnar ett gränssnitt i den container som körs, listar filerna i den hemliga volymen och visar sedan innehållet:
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.
Montera hemlig volym – YAML
Du kan också distribuera containergrupper med Azure CLI och en YAML-mall. Att distribuera med YAML-mall är den bästa metoden när du distribuerar containergrupper som består av flera containrar.
När du distribuerar med en YAML-mall måste de hemliga värdena vara Base64-kodade i mallen. De hemliga värdena visas dock i klartext i filerna i containern.
Följande YAML-mall definierar en containergrupp med en container som monterar en hemlig volym på /mnt/secrets. Den hemliga volymen har två filer som innehåller hemligheter, "mysecret1" och "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
Om du vill distribuera med YAML-mallen sparar du föregående YAML i en fil med namnet deploy-aci.yamloch kör sedan kommandot az container create med parametern --file :
# Deploy with YAML template
az container create \
--resource-group myResourceGroup \
--file deploy-aci.yaml
Montera hemlig volym – Resource Manager
Förutom CLI- och YAML-distribution kan du distribuera en containergrupp med hjälp av en Azure Resource Manager-mall.
Fyll först i matrisen volumes i avsnittet containergrupp properties i mallen. När du distribuerar med en Resource Manager-mall måste de hemliga värdena vara Base64-kodade i mallen. De hemliga värdena visas dock i klartext i filerna i containern.
För varje container i containergruppen där du vill montera den hemliga volymen fyller du sedan i matrisen volumeMounts properties i avsnittet i containerdefinitionen.
Följande Resource Manager-mall definierar en containergrupp med en container som monterar en hemlig volym på /mnt/secrets. Den hemliga volymen har två hemligheter, "mysecret1" och "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"
}
}
]
}
}
]
}
Om du vill distribuera med Resource Manager-mallen sparar du föregående JSON i en fil med namnet deploy-aci.jsonoch kör sedan kommandot az deployment group create med parametern --template-file :
# Deploy with Resource Manager template
az deployment group create \
--resource-group myResourceGroup \
--template-file deploy-aci.json
Nästa steg
Volymer
Lär dig hur du monterar andra volymtyper i Azure Container Instances:
- Montera en Azure-filresurs i Azure Container Instances
- Montera en emptyDir-volym i Azure Container Instances
- Montera en gitRepo-volym i Azure Container Instances
Säkra miljövariabler
En annan metod för att tillhandahålla känslig information till containrar (inklusive Windows-containrar) är att använda säkra miljövariabler.