<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aura – security</title>
    <link>/categories/security/</link>
    <description>Recent content in security on Aura</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="/categories/security/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: </title>
      <link>/docs/deployment/security/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/deployment/security/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-security-and-networks&#34;&gt;Aura security and networks&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-circle-info fa-xl&#34; style=&#34;color: #3a13fb;&#34;&gt;&lt;/i&gt; &lt;em&gt;&lt;strong&gt;Scope&lt;/strong&gt;&lt;/em&gt;: Key information regarding Aura security and networks, applicable to both &lt;em&gt;&lt;strong&gt;Aura Virtual Assistant&lt;/strong&gt;&lt;/em&gt; and &lt;em&gt;&lt;strong&gt;ATRIA&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;aura-security-group&#34;&gt;Aura Security group&lt;/h2&gt;
&lt;p&gt;In each Aura installation, we create/update rules to allow access only to the public endpoint through ports 443 from Internet.&lt;/p&gt;
&lt;h2 id=&#34;blob-encryption&#34;&gt;Blob encryption&lt;/h2&gt;
&lt;p&gt;By default, the blob storage in Aura is not encrypted with our own key but, by default, Azure encrypts every resource.&lt;/p&gt;
&lt;p&gt;You can see more info in &lt;a href=&#34;https://docs.microsoft.com/en-us/azure/storage/common/storage-service-encryption&#34;&gt;Microsoft Azure Storage encryption documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;aura-network-policies&#34;&gt;Aura Network Policies&lt;/h2&gt;
&lt;h3 id=&#34;policy-1---alertmanager-network-policy&#34;&gt;Policy 1 - alertmanager-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: alertmanager to receive traffic from pods with labels networking/allow-pod-alertmanager-access: true in namespaces with labels networking/allow-namespace-alertmanager-access: true on ports TCP http and TCP cluster
&lt;ul&gt;
&lt;li&gt;app: alertmanager
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   statefulset.apps/alertmanager&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-alertmanager-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/nginx&lt;/li&gt;
&lt;li&gt;namespace: aura-system  deployments.apps/prometheus-msteams&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-alertmanager-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-2---elasticsearch-exporter-network-policy&#34;&gt;Policy 2 - elasticsearch-exporter-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-1&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: elasticsearch-exporter to receive traffic from pods with labels networking/allow-pod-elasticsearch-exporter-access: true in namespaces with labels networking/allow-namespace-elasticsearch-exporter-access: true on port TCP 9114
&lt;ul&gt;
&lt;li&gt;app: elasticsearch-exporter
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   deployment.apps/elasticsearch-exporter&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-elasticsearch-exporter-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   statefulsets.apps/prometheus&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-elasticsearch-exporter-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-3---elasticsearch-network-policy&#34;&gt;Policy 3 - elasticsearch-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-2&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: elasticsearch to receive traffic from all pods in namespaces with labels networking/allow-namespace-elasticsearch-access: true on ports TCP 9200 and TCP 9300
&lt;ul&gt;
&lt;li&gt;app: elasticsearch
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   elasticsearch.k8s.elastic.co/elasticsearch&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-elasticsearch-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: elasticsearch to receive traffic from pods in the same namespace with labels networking/allow-pod-elasticsearch-access: true on ports TCP 9200 and TCP 9300
&lt;ul&gt;
&lt;li&gt;app: elasticsearch
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   elasticsearch.k8s.elastic.co/elasticsearch&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-elasticsearch-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system  deployments.apps/kibana-kb&lt;/li&gt;
&lt;li&gt;namespace: aura-system  deployments.apps/elasticsearch-exporter&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/nginx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-4---fluent-bit-aggregator-network-policy&#34;&gt;Policy 4 - fluent-bit-aggregator-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-3&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: fluent-bit-aggregator to receive traffic from pods with labels networking/allow-pod-fluent-bit-aggregator-access: true in namespaces with labels networking/allow-namespace-fluent-bit-aggregator-access: true on port TCP http
&lt;ul&gt;
&lt;li&gt;app: fluent-bit-aggregator
&lt;ul&gt;
&lt;li&gt;aura-system   statefulset.apps/fluent-bit-aggregator&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-fluent-bit-aggregator-access
&lt;ul&gt;
&lt;li&gt;aura-system&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-fluent-bit-aggregator-access
&lt;ul&gt;
&lt;li&gt;aura-system  deployments.apps/azure-logger&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-5---fluent-bit-network-policy&#34;&gt;Policy 5 - fluent-bit-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-4&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: fluent-bit to receive traffic from pods with labels networking/allow-pod-fluent-bit-access: true in namespaces with labels networking/allow-namespace-fluent-bit-access: true on port TCP metrics
&lt;ul&gt;
&lt;li&gt;app: fluent-bit
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   daemonset.apps/fluent-bit&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-fluent-bit-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-fluent-bit-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system  deployments.apps/azure-logger&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-6---grafana-network-policy&#34;&gt;Policy 6 - grafana-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-5&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: grafana to receive traffic from pods with labels networking/allow-pod-grafana-access: true in namespaces with labels networking/allow-namespace-grafana-access: true on port TCP http
&lt;ul&gt;
&lt;li&gt;app: grafana
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   job.batch/grafana-provision&lt;/li&gt;
&lt;li&gt;namespace: aura-system   statefulset.apps/grafana&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-grafana-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/nginx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-grafana-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-7---kibana-network-policy&#34;&gt;Policy 7 - kibana-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-6&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: kibana to receive traffic from all pods in namespaces with labels networking/allow-namespace-kibana-access: true on port TCP 5601
&lt;ul&gt;
&lt;li&gt;app: kibana&lt;/li&gt;
&lt;li&gt;namespace: aura-system   deployments.apps/kibana-kb&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-kibana-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: kibana to receive traffic from pods in the same namespace with labels networking/allow-pod-kibana-access: true on port TCP 5601
&lt;ul&gt;
&lt;li&gt;app: kibana&lt;/li&gt;
&lt;li&gt;namespace: aura-system   deployments.apps/kibana-kb&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-kibana-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   deployments.apps/kibana-kb&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/nginx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-8---mongodb-exporter-network-policy&#34;&gt;Policy 8 - mongodb-exporter-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-7&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: mongodb-exporter to receive traffic from pods with labels networking/allow-pod-mongodb-exporter-access: true in namespaces with labels networking/allow-namespace-mongodb-exporter-access: true on port TCP metrics
&lt;ul&gt;
&lt;li&gt;app: mongodb-exporter
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   deployments.apps/mongodb-exporter&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-mongodb-exporter-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   statefulset.apps/prometheus&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-mongodb-exporter-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-9---mongodb-network-policy&#34;&gt;Policy 9 - mongodb-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-8&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: mongodb to receive traffic from pods with labels networking/allow-pod-mongodb-access: true in namespaces with labels networking/allow-namespace-mongodb-access: true on port TCP mongodb
&lt;ul&gt;
&lt;li&gt;app: mongodb
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   deployments.apps/mongodb&lt;/li&gt;
&lt;li&gt;namespace: aura-system   job.batch/mongodb-provision&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-mongodb-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   deployments.apps/mongodb-exporter&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/aura-bot&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/aura-bridge&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/authentication-api&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/tac&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-mongodb-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-10---node-exporter-network-policy&#34;&gt;Policy 10 - node-exporter-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-9&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: node-exporter to receive traffic from pods with labels networking/allow-pod-node-exporter-access: true in namespaces with labels networking/allow-namespace-node-exporter-access: true on port TCP metrics
&lt;ul&gt;
&lt;li&gt;app: node-exporter
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   daemonset.apps/node-exporter&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-node-exporter-access&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-node-exporter-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-11---prometheus-msteams-network-policy&#34;&gt;Policy 11 - prometheus-msteams-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-10&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: prometheus-msteams to receive traffic from pods with labels networking/allow-pod-prometheus-msteams-access: true in namespaces with labels networking/allow-namespace-prometheus-msteams-access: true on port TCP http
&lt;ul&gt;
&lt;li&gt;app: prometheus-msteams
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   deployments.apps/prometheus-msteams&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-prometheus-msteams-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   deployments.apps/prometheus-msteams&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-prometheus-msteams-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-12---prometheus-network-policy&#34;&gt;Policy 12 - prometheus-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-11&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: prometheus to receive traffic from pods with labels networking/allow-pod-prometheus-access: true in namespaces with labels networking/allow-namespace-prometheus-access: true on ports TCP http, TCP exposed and TCP 10901
&lt;ul&gt;
&lt;li&gt;app: prometheus
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   statefulset.apps/prometheus&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-prometheus-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system deployment.apps/elasticsearch-exporter&lt;/li&gt;
&lt;li&gt;namespace: aura-system   deployments.apps/mongodb-exporter&lt;/li&gt;
&lt;li&gt;namespace: aura-system   deployments.apps/thanos-querier&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/aura-bot&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/aura-bridge&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/nginx&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/context&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/tac&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/npl&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-prometheus-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-13---pushgateway-network-policy&#34;&gt;Policy 13 - pushgateway-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-12&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: pushgateway and release: pushgateway to receive traffic from all pods in namespaces with labels networking/allow-namespace-pushgateway-access: true on port TCP 9091
&lt;ul&gt;
&lt;li&gt;app: pushgateway
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   deployment.apps/pushgateway&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-pushgateway-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: pushgateway and release: pushgateway to receive traffic from pods in the same namespace with labels networking/allow-pod-pushgateway-access: true on port TCP 9091
&lt;ul&gt;
&lt;li&gt;app: pushgateway
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   deployment.apps/pushgateway&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-pushgateway-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/nlp-provisioning&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-14---redis-network-policy&#34;&gt;Policy 14 - redis-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-13&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: redis to receive traffic from pods with labels networking/allow-pod-redis-access: true in namespaces with labels networking/allow-namespace-redis-access: true on ports TCP 6379, TCP 26379 and TCP 9121
&lt;ul&gt;
&lt;li&gt;app: redis
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   statefulset.apps/redis&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-pod-redis-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-$ENV  deployments.apps/context&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-redis-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;policy-15---thanos-network-policy&#34;&gt;Policy 15 - thanos-network-policy&lt;/h3&gt;
&lt;h4 id=&#34;ingress-14&#34;&gt;Ingress&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Allows pods in namespace aura-system with labels app: thanos to receive traffic from pods with labels networking/allow-pod-thanos-access: true in namespaces with labels networking/allow-namespace-thanos-access: true on ports TCP 10901 and TCP 10902
&lt;ul&gt;
&lt;li&gt;app: thanos&lt;/li&gt;
&lt;li&gt;networking/allow-pod-thanos-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system   statefulset.apps/thanos-store-gateway&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;networking/allow-namespace-thanos-access
&lt;ul&gt;
&lt;li&gt;namespace: aura-system&lt;/li&gt;
&lt;li&gt;namespace: aura-$ENV&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/general-operation-system/change-environment-encryption-key/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/general-operation-system/change-environment-encryption-key/</guid>
      <description>
        
        
        &lt;h1 id=&#34;change-the-environment-encryption-key&#34;&gt;Change the environment encryption key&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Description of the process to change the encryption key without service loss&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;This document describes how to change the encryption key of the Aura environments without service loss. The encryption key in Aura has three main usages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Generation and validation of the service APIKeys.&lt;/li&gt;
&lt;li&gt;Encryption of the secrets stored in the channels configuration settings.&lt;/li&gt;
&lt;li&gt;Encryption of temporary params shared with other systems to validate an incoming request. For instance, when authenticating a user using the &amp;ldquo;Redirect authentication&amp;rdquo; of Kernel IdP, to be able to validate the incoming request with the user data in the authentication callback, via the &lt;code&gt;state&lt;/code&gt; field, which is encrypted by &lt;em&gt;&lt;strong&gt;Aura Bot&lt;/strong&gt;&lt;/em&gt; and sent as query param to the authentication callback of Aura.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The mechanism proposed allows to validate APIKeys encrypted with several keys, whilst the servers use just the active encryption key for the rest of the functionalities.&lt;/p&gt;
&lt;p&gt;Further information regarding how to configure the new encryption in the installer can be found in the &lt;a href=&#34;../../docs/deployment/installer/#encryption-key&#34;&gt;deployment documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;requirements&#34;&gt;Requirements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Docker&lt;/code&gt; and &lt;code&gt;python3&lt;/code&gt; installed in your local machine
&lt;ul&gt;
&lt;li&gt;Also &lt;code&gt;Nodejs20&lt;/code&gt; if want to try the snippet to generate the encryption keys.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Access to the Aura installer&lt;/li&gt;
&lt;li&gt;Access to the &lt;code&gt;config.yml&lt;/code&gt; of your environment&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;procedure&#34;&gt;Procedure&lt;/h2&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; It is important to do this change &lt;em&gt;&lt;strong&gt;only during the installation of a new release of Aura&lt;/strong&gt;&lt;/em&gt;, to avoid problems in the encryption of the channels collection and to let the installer generate automatically all the internal APIKeys.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Generate a 32 character encryption key. The length is mandatory because of the encryption algorithm being used. The following snippet contains an example of how to generate it using &lt;strong&gt;Nodejs&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;crypto&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;require&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;crypto&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;key&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;crypto&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;randomBytes&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;16&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;).&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;toString&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;hex&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;console&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;log&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;key&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Encrypt it using &lt;em&gt;ansible-vault&lt;/em&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ansible-vault encrypt_string &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;old-encryptionkey,new-encryptionkey&amp;#39;&lt;/span&gt; --name &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;aura_encryption_key&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;New Vault password: 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Confirm New Vault password: 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Encryption successful
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;aura_encryption_key: !vault &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#000&#34;&gt;$ANSIBLE_VAULT&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;;&lt;/span&gt;1.1&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;;&lt;/span&gt;AES256
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;62393736616536336262613333313866366365396361643930653535633564636430343530303637&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          3866643931653739343164303662376439316630633538620a663031306265613162353633323565
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;33376662626162663431616132353436366431383064663131643363653636346336343433303637&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          3666333534656439390a656132306236336337383761323166666430633463303461316561363632
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;65396530323635323363316362343437623065353232339343731643031653961336137343664366&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;162386564636561313532633662383366383364653362663530653563623362303164653137653039&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;663430356237366439663238346130656432303737&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Configure it in the &lt;code&gt;config.yml&lt;/code&gt; of your environment:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim config.yml
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;aura_encryption_key: !vault &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#000&#34;&gt;$ANSIBLE_VAULT&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;;&lt;/span&gt;1.1&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;;&lt;/span&gt;AES256
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;62393736616536336262613333313866366365396361643930653535633564636430343530303637&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          3866643931653739343164303662376439316630633538620a663031306265613162353633323565
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;33376662626162663431616132353436366431383064663131643363653636346336343433303637&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          3666333534656439390a656132306236336337383761323166666430633463303461316561363632
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;65396530323635323363316362343437623065353232339343731643031653961336137343664366&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;162386564636561313532633662383366383364653362663530653563623362303164653137653039&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;663430356237366439663238346130656432303737&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Now, the installer can be launched. The default encryption key is going to be &lt;code&gt;new-encryptionkey&lt;/code&gt;.
&lt;ul&gt;
&lt;li&gt;The installer will generate all the internally used APIKeys, such as the one provided in the configuration of the services stored in the environment variable as &lt;code&gt;AURA_AUTHORIZATION_HEADER&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Generate the new APIKeys for all the consumers of Aura&amp;rsquo;s APIs, using the tool of the installer to do it, following the instructions in &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/generate-apikey/&#34;&gt;generate APIKey section&lt;/a&gt;,
the APIKeys are going to be created directly with the default one.&lt;/li&gt;
&lt;li&gt;The APIKeys to be created depend on the environment, but take into account the following notes to update them all:
&lt;ul&gt;
&lt;li&gt;The APIKey is used by all the channels accessing Aura via DirectLine, a new one per channel should be generated.&lt;/li&gt;
&lt;li&gt;The APIKey is used in the following webhooks or Aura APIs configured in Telefónica Kernel:
&lt;ul&gt;
&lt;li&gt;WhatsApp webhooks&lt;/li&gt;
&lt;li&gt;Deployment of &lt;code&gt;aura-services&lt;/code&gt; API&lt;/li&gt;
&lt;li&gt;Deployment of &lt;code&gt;aura-aiservices&lt;/code&gt; API&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Once all the channels and Kernel configurations are changed to use the brand-new APIKeys, the environment configuration can be changed to count only with the default one.&lt;/li&gt;
&lt;li&gt;To do the change from release to release, at least the encryption key of the latest deployment and the new one should be configured.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/general-operation-system/generate-apikey/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/general-operation-system/generate-apikey/</guid>
      <description>
        
        
        &lt;h1 id=&#34;generate-an-apikey-in-aura&#34;&gt;Generate an APIKey in Aura&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Methods for the generation of an APIKey in Aura&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;All Aura&amp;rsquo;s public APIs are protected using an APIKey.&lt;/p&gt;
&lt;p&gt;The generation of an APIKey can be done using two alternative processes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Generate an APIKey from Aura installer aurak8s&lt;/strong&gt; &lt;br&gt;
Follow the instructions in the document &lt;a href=&#34;../../docs/deployment/installer/#apikeycreation&#34;&gt;Create Aura APIKeys&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Generate an APIKey using the &lt;em&gt;&lt;strong&gt;aura-api-key-generator&lt;/strong&gt;&lt;/em&gt; utility&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;aura-api-key-generator&lt;/strong&gt;&lt;/em&gt; is an Aura utility that generates encrypted APIKeys with a JSON model that will be used to validate the access to Aura&amp;rsquo;s public APIs.&lt;/li&gt;
&lt;li&gt;It is executed with the configuration of the chosen environment. This utility must be executed by the Operations Team and the generated APIKey must only be shared with the team involved in the integration of the corresponding API client.&lt;/li&gt;
&lt;li&gt;The guidelines are included in the following sections.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;generate-an-apikey-using-the-aura-api-key-generator-utility&#34;&gt;Generate an APIKey using the &lt;em&gt;&lt;strong&gt;aura-api-key-generator&lt;/strong&gt;&lt;/em&gt; utility&lt;/h2&gt;
&lt;p&gt;These guidelines correspond to the process that uses the &lt;em&gt;&lt;strong&gt;aura-api-key-generator&lt;/strong&gt;&lt;/em&gt; utility as a Docker image.&lt;/p&gt;
&lt;h3 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Docker 23.0.5 or higher&lt;/li&gt;
&lt;li&gt;Access to &lt;code&gt;auraregistry.azurecr.io&lt;/code&gt; private docker registry.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;ENCRYPTION_KEY&lt;/code&gt; of the environment where the APIKey will be used:
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;kubectl&lt;/code&gt; installed in your local host.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;curl&lt;/code&gt; installed in your local host.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;jq&lt;/code&gt; installed in your local host.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To obtain the &lt;code&gt;ENCRYPTION_KEY&lt;/code&gt;, just execute the following command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# substitute {{aura-environment}} with the environment you&amp;#39;re configuring&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;AURA_ENVIRONMENT&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;={{&lt;/span&gt;aura-environment&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ kubectl -n &lt;span style=&#34;color:#000&#34;&gt;$AURA_ENVIRONMENT&lt;/span&gt; get secret aura-bot -o json &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;|&lt;/span&gt; jq -r &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;.data.AURA_ENCRYPTION_KEY|@base64d&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;YOUR-ENCRYPTION-KEY
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;run-the-tool&#34;&gt;Run the tool&lt;/h3&gt;
&lt;p&gt;Download the Docker image and run the tool by executing the following command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Substitute {{aura-encryption-key}} with the ENCRYPTION_KEY obtained in the previous step&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ docker run -e &lt;span style=&#34;color:#000&#34;&gt;AURA_ENCRYPTION_KEY&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;={{&lt;/span&gt;aura-encryption-key&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}}&lt;/span&gt; auraregistry.azurecr.io/aura/aura-api-key-generator:1.0.0 -v 8.3.0 -s aura-services -a kernel -m rw
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;usage&#34;&gt;Usage&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; @telefonica/aura-api-key-generator@1.0.0 start
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; node lib/index.js --help
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;process.env.CONFIG_FILE &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;undefined&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;)&lt;/span&gt; not found or not configured, using only process.env
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Usage: index -s aura-services:token -e pre -a kernel -v 8.3.0 -m rw
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Utility to generate API Key to access the APIs of Aura.  Version: 1.0.0.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Options:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  -V, --version                     Output the version number
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  -i, --identifier &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;[&lt;/span&gt;identifier&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;]&lt;/span&gt;     Unique identifier of the APIKey. Format UUID. If not provided, it will be autogenerated
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  -s, --scope &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;[&lt;/span&gt;scope&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;]&lt;/span&gt;               Comma-separated list of strings containing the API path where this APIKey will be used. Possible values: &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;aura-services&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;aura-services:users,aura-services:token&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;aura-services:whatsapp&amp;#34;&lt;/span&gt;, etc. &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;By default: &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;aura-services&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  -e, --enviroment &amp;lt;enviroment&amp;gt;     Environment where the APIKey will be used. Possible values: dev, stg, pre, pro &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;Choices: &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;dev&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stg&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;pre&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;pro&amp;#34;&lt;/span&gt;. By default: &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;pro&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  -a, --authorised &amp;lt;client&amp;gt;         Name of the client that will use the APIKey. Usually one of kernel, novum, mh, mp, stb, la, etc. &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;By default: &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;kernel&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  -v, --aura-version &amp;lt;auraVersion&amp;gt;  Minimum Aura Platform version to use this APIKey. It should contain the full version of Aura. Example: 8.3.0 &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;default: &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;8.3.0&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  -m, --mode &amp;lt;mode&amp;gt;                 Type of access to the API. Possible values: r, w, rw &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;Choices: &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;r&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;w&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;rw&amp;#34;&lt;/span&gt;. By default: &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;r&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  -h, --help                        Display &lt;span style=&#34;color:#204a87&#34;&gt;help&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#204a87&#34;&gt;command&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;scope&#34;&gt;Scope&lt;/h3&gt;
&lt;p&gt;All public Aura&amp;rsquo;s APIs are in the &lt;code&gt;aura-services&lt;/code&gt; scope, so any APIKey generated with this scope will have access to all Aura&amp;rsquo;s APIs. But the idea is to use always the minimum scope valid for the specific usage of the client.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For those clients that are Aura channels and need to get a Direct Line token from Aura, the scope must be &lt;code&gt;aura-services:token&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;To configure the WhatsApp webhooks of &lt;em&gt;&lt;strong&gt;aura-bridge&lt;/strong&gt;&lt;/em&gt; in &lt;strong&gt;Kernel&lt;/strong&gt;, the scope must be &lt;code&gt;aura-services:whatsapp&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;To configure the access from &lt;strong&gt;Kernel&lt;/strong&gt; to &lt;code&gt;aura-services&lt;/code&gt; API, the scope must be &lt;code&gt;aura-services:users&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;To configure the access from &lt;strong&gt;Kernel&lt;/strong&gt; to &lt;strong&gt;aura-gateway-api&lt;/strong&gt; in &lt;code&gt;aura-services&lt;/code&gt; API, the scope must be &lt;code&gt;aura-ai-services:messaging:write&lt;/code&gt; or &lt;code&gt;aura-ai-services:nlp-messaging:write&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;environment&#34;&gt;Environment&lt;/h3&gt;
&lt;p&gt;As the specific environment is configured via the &lt;code&gt;ENCRYPTION_KEY&lt;/code&gt;, the environment parameter is only used to generate the APIKey with the correct environment name.&lt;/p&gt;
&lt;p&gt;The environment name is used to validate the APIKey when it is used to access an API. It only contains the type of the environment: &lt;code&gt;dev&lt;/code&gt;, &lt;code&gt;stg&lt;/code&gt;, &lt;code&gt;pre&lt;/code&gt; or &lt;code&gt;pro&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id=&#34;authorized&#34;&gt;Authorized&lt;/h4&gt;
&lt;p&gt;It should contain a human-readable name of the client that will use the APIKey. The usual values are: &lt;code&gt;kernel&lt;/code&gt;, &lt;code&gt;novum&lt;/code&gt;, &lt;code&gt;mh&lt;/code&gt;, &lt;code&gt;mp&lt;/code&gt;, &lt;code&gt;stb&lt;/code&gt;, &lt;code&gt;la&lt;/code&gt;, &lt;code&gt;metaverse&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id=&#34;api-version&#34;&gt;API Version&lt;/h4&gt;
&lt;p&gt;It contains the major version of the Aura API that the APIKey will be used.&lt;/p&gt;
&lt;p&gt;For example, if the APIKey will be used to access the &lt;code&gt;aura-services&lt;/code&gt; API, the API version must be &lt;code&gt;1&lt;/code&gt;. It must be coherent with the version of the API published in Aura&amp;rsquo;s API documentation.&lt;/p&gt;
&lt;h4 id=&#34;mode&#34;&gt;Mode&lt;/h4&gt;
&lt;p&gt;It indicates the type of access to the API:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;r&lt;/code&gt;: read-only access, it allows to access the API to execute GET operations.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;w&lt;/code&gt;: write-only access, it allows to access the API to execute POST, PUT and DELETE operations.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rw&lt;/code&gt;: read-write access, it allows to access the API to execute GET, POST, PUT and DELETE operations.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
  </channel>
</rss>
