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.
SSE kan konfigureras på tre platser: Konfigurationsinställning som tillhandahålls till Arc-infrastrukturen när du skapar eller uppdaterar tillägget, SecretSync kubernetes-resurser och SecretProviderClass kubernetes-resurser.
Konfigurationsinställningar för Arc-tillägg
Konfigurationsinställningar kan ställas in när SSE Arc-tilläggsinstansen skapas, eller så kan de uppdateras senare. Använd --configuration-settings <setting>=<value> med az k8s-extension create ... eller az k8s-extension update ... för att skapa eller uppdatera en SSE-instans.
SSE accepterar följande konfigurationsparametrar för Arc-tillägget:
| Parameternamn | Beskrivning | Standardvärde |
|---|---|---|
rotationPollIntervalInSeconds |
Anger hur snabbt SSE kontrollerar eller uppdaterar hemligheten som den hanterar. |
3600 (1 timme) |
enablePartialSecretSync |
När värdet är inställt på false en hemlighet uppdateras bara om alla inneslutna objekt kan hämtas från Azure Key Vault (AKV) korrekt. När true varje objekt i en hemlighet uppdateras om det hämtades utan hänsyn till framgången för andra objekt i hemligheten. |
true |
SecretSync-resurser
SecretSync-resurser konfigurerar hur SSE lagrar hemligheter och certifikat i Kubernetes-hemlighetsarkivet. Varje SecretSync-resurs definierar en Kubernetes-hemlighet, även om den kan innehålla mer än en hemlighet.
Exempel
apiVersion: secret-sync.x-k8s.io/v1alpha1
kind: SecretSync
metadata:
name: secret-sync-name
namespace: workload-namespace
spec:
serviceAccountName: workload-serviceaccountname
secretProviderClassName: secret-provider-class-name
secretObject:
type: Opaque
data:
- sourcePath: aSecret/0
targetKey: aSecret-data-key0
- sourcePath: aSecret/1
targetKey: aSecret-data-key1
labels:
- fromExample: absolutelyYes
annotations:
- exampleAnnotation: annotationValue
forceSynchronization: ArbitraryValue12354
Värden
- metadata.name(krävs): Namnet på den här SecretSync-resursen. Obs! Den automatiskt skapade hemliga resursen har samma namn som den här resursen.
Inom .spec:
- serviceAccountName(required): Kubernetes-tjänstkontot som används för att komma åt Kubernetes-hemlighetsarkivet. Det här tjänstkontot ska federeras med den hanterade identiteten med åtkomst till hemligheterna i Azure Key Vault.
- secretProviderClassName(krävs): Namnet på SecretProviderClass-resursen som definierar vilka hemligheter som ska hämtas från Azure Key Vault.
-
secretObject(required): Definierar hur den lagrade hemliga resursen ska struktureras.
-
type(required): Typen av Kubernetes-hemligt objekt. Ange det här fältet till
Opaqueför en allmän hemlighet utan någon pålagd struktur. Se Typer av Kubernetes-hemligheter för vägledning om hur de särskilda typerna av hemligheter måste struktureras. -
data(krävs): En lista över dataobjekt i den hemliga resursen. Det måste finnas minst ett objekt. Varje dataobjekt måste innehålla följande två fält:
-
sourcePath(krävs): Sökvägen till ett objekt som hämtats från AKV. När endast en version av den namngivna hemligheten hämtas från AKV är sökvägen helt enkelt
<secret name>.
Om mer än en version av den namngivna hemligheten hämtas från AKV är<secret name>/0den senaste versionens sourcePath , den andra senaste är<secret name>/1osv.
När ett certifikat hämtas från AKV beror sourcePaths på värdetobjectTypeför i SecretProviderClass.objectTypeNär i SPC är "hemlig" är både ett certifikat och en privat nyckel tillgängliga på sourcePaths för<secret name>/tls.crtrespektive<secret name>/tls.key. - targetKey(required): Nyckeln i kubernetes-hemlighetsobjektet som data ska lagras i.
-
sourcePath(krävs): Sökvägen till ett objekt som hämtats från AKV. När endast en version av den namngivna hemligheten hämtas från AKV är sökvägen helt enkelt
- labels(optional): En lista över nyckel/värde-par med ytterligare etiketter som ska tillämpas på det hemliga objektet.
- anteckningar(valfritt): En lista över nyckel/värde-par med ytterligare anteckningar som ska tillämpas på det hemliga objektet.
- forceSynchronization(optional): Ändringar i det här fältet utlöser SSE för att kontrollera om AKV har ändrats. Kubernetes uppdateras som vanligt om SSE hittar uppdaterade data. Värdet för det här fältet påverkar inte hur handelshögskolan beter sig.
-
type(required): Typen av Kubernetes-hemligt objekt. Ange det här fältet till
SecretProviderClass-resurser
SecretProviderClass-resurser konfigurerar vad och hur du hämtar från ett Azure Key Vault. Den här referensen omfattar endast de fält som krävs för SSE-användningsfallen för SecretProviderClass.
Exempel
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: secret-provider-class-name
namespace: workload-namespace
spec:
provider: azure
parameters:
clientID: "xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx"
tenantID: "xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx"
keyvaultName: exampleKeyvault
objects: |
array:
- |
objectName: aSecret
objectType: secret
objectVersionHistory: 2
- |
objectName: aCertificate
objectType: secret
Värden
Inom .spec:
-
provider(required): Ange det här fältet till
azurenär du använder SSE för att hämta hemligheter från Azure Key Vault. -
parameters(required): Definierar hur och var du hämtar AKV-hemligheter från.
- clientID(required): ClientID för den hanterade identiteten med åtkomst till nödvändiga hemligheter. Den här hanterade identiteten måste ha en federerad autentiseringsuppgift associerad med tjänstkontot med namnet i SecretSync-resursen som använder den här SecretProviderClass.
- tenantID(required): ID för Azure-klientorganisationen som innehåller AKV-instansen.
- keyvaultName(required): Namnet på keyvault.
-
objects(required): En sträng som innehåller ett YAML-fragment som representerar de objekt som ska hämtas från denna AKV. Var uppmärksam på exemplet för att se hur objektfältet konstrueras. Ytterligare exempel på SecretProviderClass-resurser för användning med Azure Key Vault finns i AKV-providerdokumenten. objekt måste innehålla minst ett objekt i underobjektet "matris".
- objectName(required): Namnet på hemligheten eller certifikatet som ska hämtas från AKV.
-
objectType(required): Ange det här fältet till
secretnär du hämtar en hemlighet från AKV.
När du hämtar ett certifikat anger du det här fältet till:-
certför att hämta endast certifikatet. -
keyför att endast hämta certifikatets offentliga nyckel. -
secretför att hämta certifikatet och den privata nyckeln.
-
- objectVersionHistory(valfritt): Om det finns och är större än en hämtas dessa många versioner från AKV, från och med den senaste.