<!DOCTYPE html>
<html lang="1.2" class="js csstransforms3d">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="generator" content="Hugo 0.54.0" />
    <meta name="description" content="A set of micro-services for connecting millions of devices.">
<meta name="author" content="The Eclipse Hono Project">

    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">

    <title>Device Registry Configuration :: Eclipse Hono&trade; Vers.: 1.2</title>

    
    <link href="/hono/docs/css/nucleus.css?1603416228" rel="stylesheet">
    <link href="/hono/docs/css/fontawesome-all.min.css?1603416228" rel="stylesheet">
    <link href="/hono/docs/css/hybrid.css?1603416228" rel="stylesheet">
    <link href="/hono/docs/css/featherlight.min.css?1603416228" rel="stylesheet">
    <link href="/hono/docs/css/perfect-scrollbar.min.css?1603416228" rel="stylesheet">
    <link href="/hono/docs/css/auto-complete.css?1603416228" rel="stylesheet">
    <link href="/hono/docs/css/theme.css?1603416228" rel="stylesheet">
    <link href="/hono/docs/css/hugo-theme.css?1603416228" rel="stylesheet">
    
      <link href="/hono/docs/css/theme-hono.css?1603416228" rel="stylesheet">
    

    <script src="/hono/docs/js/jquery-2.x.min.js?1603416228"></script>

    <style type="text/css">
      :root #header + #content > #left > #rlblock_left{
          display:none !important;
      }
      
        :not(pre) > code + span.copy-to-clipboard {
            display: none;
        }
      
    </style>
    

<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
<link rel="stylesheet" href='/hono/docs/css/hono.css'>


<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@EclipseHono">
<meta name="twitter:title" content="Device Registry Configuration :: Eclipse Hono&amp;trade; Vers.: 1.2">
<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">


<meta property="og:title" content="Device Registry Configuration :: Eclipse Hono&amp;trade; Vers.: 1.2" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.eclipse.org/hono/docs/1.2/admin-guide/device-registry-config//" />
<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />

  </head>
  <body class="" data-url="/hono/docs/1.2/admin-guide/device-registry-config/">
    <nav id="sidebar" class="">



  <div id="header-wrapper">
    <div id="header">
      <a href="https://www.eclipse.org/hono/">
    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
</a>

    </div>
    
        <div class="searchbox">
    <label for="search-by"><i class="fas fa-search"></i></label>
    <input data-search-input id="search-by" type="search" placeholder="Search...">
    <span data-search-clear=""><i class="fas fa-times"></i></span>
</div>

<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1603416228"></script>
<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1603416228"></script>
<script type="text/javascript">
    
        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.2";
    
</script>
<script type="text/javascript" src="/hono/docs/js/search.js?1603416228"></script>

    
  </div>

    <div class="highlightable">
    <ul class="topics">

        
          
          


 
  
    
    <li data-nav-id="/hono/docs/1.2/concepts/" title="Concepts" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/1.2/concepts/">
          <i class="far fa-lightbulb"></i> Concepts
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/concepts/device-identity/" title="Device Identity" class="dd-item ">
        <a href="/hono/docs/1.2/concepts/device-identity/">
        Device Identity
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
        <a href="/hono/docs/1.2/concepts/tenancy/">
        Multi-Tenancy
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/concepts/device-provisioning/" title="Device Provisioning" class="dd-item ">
        <a href="/hono/docs/1.2/concepts/device-provisioning/">
        Device Provisioning
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/concepts/connecting-devices/" title="Connecting Devices" class="dd-item ">
        <a href="/hono/docs/1.2/concepts/connecting-devices/">
        Connecting Devices
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
        <a href="/hono/docs/1.2/concepts/device-notifications/">
        Device Notifications
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
        <a href="/hono/docs/1.2/concepts/command-and-control/">
        Command &amp; Control
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/concepts/resource-limits/" title="Resource limits" class="dd-item ">
        <a href="/hono/docs/1.2/concepts/resource-limits/">
        Resource limits
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/concepts/connection-events/" title="Connection Events" class="dd-item ">
        <a href="/hono/docs/1.2/concepts/connection-events/">
        Connection Events
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/1.2/user-guide/" title="User Guide" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/1.2/user-guide/">
          <i class="fas fa-book-reader"></i> User Guide
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/user-guide/device-registry/" title="Device Registry" class="dd-item ">
        <a href="/hono/docs/1.2/user-guide/device-registry/">
        Device Registry
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
        <a href="/hono/docs/1.2/user-guide/http-adapter/">
        HTTP Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
        <a href="/hono/docs/1.2/user-guide/mqtt-adapter/">
        MQTT Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
        <a href="/hono/docs/1.2/user-guide/amqp-adapter/">
        AMQP Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/user-guide/coap-adapter/" title="CoAP Adapter" class="dd-item ">
        <a href="/hono/docs/1.2/user-guide/coap-adapter/">
        CoAP Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
        <a href="/hono/docs/1.2/user-guide/kura-adapter/">
        Kura Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
        <a href="/hono/docs/1.2/user-guide/sigfox-adapter/">
        Sigfox Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
        <a href="/hono/docs/1.2/user-guide/jmeter_load_tests/">
        Load Tests with JMeter
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/1.2/admin-guide/" title="Admin Guide" class="dd-item 
        parent
        
        
        ">
      <a href="/hono/docs/1.2/admin-guide/">
          <i class="fas fa-sliders-h"></i> Admin Guide
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
        <a href="/hono/docs/1.2/admin-guide/common-config/">
        Common Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
        <a href="/hono/docs/1.2/admin-guide/auth-server-config/">
        Auth Server Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item active">
        <a href="/hono/docs/1.2/admin-guide/device-registry-config/">
        Device Registry Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/admin-guide/device-connection-config/" title="Configuring the Device Connection Service" class="dd-item ">
        <a href="/hono/docs/1.2/admin-guide/device-connection-config/">
        Device Connection Service Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/1.2/admin-guide/http-adapter-config/">
        HTTP Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/1.2/admin-guide/amqp-adapter-config/">
        AMQP Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/1.2/admin-guide/mqtt-adapter-config/">
        MQTT Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/1.2/admin-guide/kura-adapter-config/">
        Kura Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
        <a href="/hono/docs/1.2/admin-guide/hono-client-configuration/">
        Hono Client Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
        <a href="/hono/docs/1.2/admin-guide/amqp-network-config/">
        AMQP 1.0 Messaging Network Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
        <a href="/hono/docs/1.2/admin-guide/secure_communication/">
        Secure Communication
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
        <a href="/hono/docs/1.2/admin-guide/monitoring-tracing-config/">
        Monitoring &amp; Tracing
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/1.2/dev-guide/" title="Developer Guide" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/1.2/dev-guide/">
          <i class="fas fa-tools"></i> Developer Guide
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
        <a href="/hono/docs/1.2/dev-guide/building_hono/">
        Building from Source
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/dev-guide/amqp_adapter_client/" title="AMQP Adapter Client for Java" class="dd-item ">
        <a href="/hono/docs/1.2/dev-guide/amqp_adapter_client/">
        AMQP Adapter Client for Java
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
        <a href="/hono/docs/1.2/dev-guide/java_client_consumer/">
        Consuming Messages from Java
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
        <a href="/hono/docs/1.2/dev-guide/custom_http_adapter/">
        Implement a Custom Hono HTTP Protocol Adapter
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/1.2/api/" title="API" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/1.2/api/">
          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/api/telemetry/" title="Telemetry API Specification" class="dd-item ">
        <a href="/hono/docs/1.2/api/telemetry/">
        Telemetry API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/api/event/" title="Event API Specification" class="dd-item ">
        <a href="/hono/docs/1.2/api/event/">
        Event API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/api/command-and-control/" title="Command &amp; Control API Specification" class="dd-item ">
        <a href="/hono/docs/1.2/api/command-and-control/">
        Command &amp; Control API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/api/tenant/" title="Tenant API Specification" class="dd-item ">
        <a href="/hono/docs/1.2/api/tenant/">
        Tenant API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/api/device-connection/" title="Device Connection API Specification" class="dd-item ">
        <a href="/hono/docs/1.2/api/device-connection/">
        Device Connection API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/api/device-registration/" title="Device Registration API Specification" class="dd-item ">
        <a href="/hono/docs/1.2/api/device-registration/">
        Device Registration API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/api/credentials/" title="Credentials API Specification" class="dd-item ">
        <a href="/hono/docs/1.2/api/credentials/">
        Credentials API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/api/authentication/" title="Authentication API Specification" class="dd-item ">
        <a href="/hono/docs/1.2/api/authentication/">
        Authentication API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/api/management/" title="Device Registry Management API Specification" class="dd-item ">
        <a href="/hono/docs/1.2/api/management/">
        Device Registry Management API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/api/metrics/" title="Metrics" class="dd-item ">
        <a href="/hono/docs/1.2/api/metrics/">
        Metrics
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/1.2/deployment/" title="Deployment" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/1.2/deployment/">
          <i class="fas fa-shipping-fast"></i> Deployment
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
        <a href="/hono/docs/1.2/deployment/helm-based-deployment/">
        Helm based Deployment
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
        <a href="/hono/docs/1.2/deployment/openshift/">
        OpenShift / OKD
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
        <a href="/hono/docs/1.2/deployment/create-kubernetes-cluster/">
        Setting up a Kubernetes Cluster
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
        <a href="/hono/docs/1.2/deployment/resource-limitation/">
        Limiting Resource Usage
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/1.2/architecture/" title="Architecture" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/1.2/architecture/">
          <i class="fas fa-landmark"></i> Architecture
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/architecture/component-view/" title="Component View" class="dd-item ">
        <a href="/hono/docs/1.2/architecture/component-view/">
        Component View
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.2/architecture/auth/" title="Authentication/Authorization" class="dd-item ">
        <a href="/hono/docs/1.2/architecture/auth/">
        Authentication/Authorization
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
         
    </ul>

    
    
      <section id="shortcuts">
        <h3></h3>
        <ul>
          
              <li> 
                  <a class="padding" href="https://www.eclipse.org/hono/" title="Hono&#39;s Homepage"><i class='fas fa-home'></i> Hono Home</a>
              </li>
          
              <li> 
                  <a class="padding" href="https://www.eclipse.org/hono/getting-started/" title="Getting started with Eclipse Hono"><i class='fas fa-plane-departure'></i> Getting Started</a>
              </li>
          
        </ul>
      </section>
    

    
    <section id="prefooter">
      <hr/>
      <ul>
      
        <li>
          <div id="select-box-wrapper">
          <div id="select-box">
          <a class="padding">
            Version:&nbsp;
          <div class="select-style">
            <select id="select-language" onchange="location = this.value;">
          
          
          
              
              
                  
                    
                    
                      <option id="stable" value="/hono/docs/admin-guide/device-registry-config/">stable (1.4)</option>
                    
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
          
              
              
                  
              
                  
                    
                    
                      <option id="1.4" value="/hono/docs/1.4/admin-guide/device-registry-config/">1.4</option>
                    
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
          
              
              
                  
              
                  
              
                  
                    
                    
                      <option id="1.3" value="/hono/docs/1.3/admin-guide/device-registry-config/">1.3</option>
                    
                  
              
                  
              
                  
              
                  
              
                  
              
          
              
              
                  
              
                  
              
                  
              
                  
                    
                    
                      <option id="1.2" value="/hono/docs/1.2/admin-guide/device-registry-config/" selected>1.2</option>
                    
                  
              
                  
              
                  
              
                  
              
          
              
              
                  
              
                  
              
                  
              
                  
              
                  
                    
                    
                      <option id="1.1" value="/hono/docs/1.1/admin-guide/device-registry-config/">1.1</option>
                    
                  
              
                  
              
                  
              
          
              
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
                    
                    
                      <option id="1.0" value="/hono/docs/1.0/admin-guide/device-registry-config/">1.0</option>
                    
                  
              
                  
              
          
              
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
                    
                    
                      <option id="dev" value="/hono/docs/dev/admin-guide/device-registry-config/">dev</option>
                    
                  
              
          
        </select>
        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
          <g>
            <g id="arrow-drop-down">
              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
            </g>
          </g>
        </svg>
        </div>
        </a>
        </div>
        </div>
        </li>
      
      
      
      </ul>
    </section>
    
    <section id="footer">
      

<p>&copy; 2020 <a href="https://www.eclipse.org/hono/">The Eclipse Hono Project</a></p>

<p>
    Documentation built with
    <a href="https://gohugo.io/" target="_blank">Hugo</a>
    using the
    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
</p>

<div class="eclipse-logo">
    <a href="https://www.eclipse.org" target="_blank">
        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
    </a>
</div>

    </section>
  </div>
</nav>





        <section id="body">
        <div id="overlay"></div>
        
        
    <div class="old-version-hint">
        <p>This page refers to version <em>1.2</em>.
            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
        </p>
    </div>


    
        <div class="padding highlightable">
              
              <div>
                <div id="top-bar">
                
                  
                  
                  
                  <div id="top-github-link">
                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/device-registry-config.md" target="blank">
                      <i class="fas fa-code-branch"></i>
                      <span id="top-github-link-text">Edit this page</span>
                    </a>
                  </div>
                  
                
                
                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
                    <span id="sidebar-toggle-span">
                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
                          <i class="fas fa-bars"></i>
                        </a>
                    </span>
                  
                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
                  
                  <span class="links">
                 
                 
                    
          
          
            
            
          
          
            
            
          
          
            <a href='/hono/docs/1.2/'>Documentation</a> > <a href='/hono/docs/1.2/admin-guide/'>Admin Guide</a> > Device Registry Configuration
          
         
          
         
          
        
                 
                  </span>
                </div>
                
                    <div class="progress">
    <div class="wrapper">
<nav id="TableOfContents">
<ul>
<li>
<ul>
<li><a href="#service-configuration">Service Configuration</a></li>
<li><a href="#port-configuration">Port Configuration</a>
<ul>
<li><a href="#secure-port-only">Secure Port Only</a></li>
<li><a href="#insecure-port-only">Insecure Port Only</a></li>
<li><a href="#dual-port">Dual Port</a></li>
<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
</ul></li>
<li><a href="#authentication-service-connection-configuration">Authentication Service Connection Configuration</a></li>
<li><a href="#metrics-configuration">Metrics Configuration</a></li>
<li><a href="#device-identities-file-format">Device Identities File Format</a></li>
<li><a href="#credentials-file-format">Credentials File Format</a></li>
<li><a href="#tenants-file-format">Tenants File Format</a></li>
<li><a href="#configuring-gateway-devices">Configuring Gateway Devices</a></li>
</ul></li>
</ul>
</nav>
    </div>
</div>

                
              </div>
            </div>
            

        
        <div id="body-inner">
          
            <h1>Device Registry Configuration</h1>
          

        


<p>The Device Registry component provides an exemplary implementation of Eclipse Hono&trade;&rsquo;s <a href="/hono/docs/1.2/api/device-registration/">Device Registration</a>,
<a href="/hono/docs/1.2/api/credentials/">Credentials</a>, <a href="/hono/docs/1.2/api/tenant/">Tenant</a> and <a href="/hono/docs/1.2/api/device-connection/">Device Connection</a> APIs.</p>

<p>Protocol adapters use these APIs to determine a device&rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it.</p>

<p>There is no particular technical reason to implement these three APIs in one component, so for production scenarios there might be up to three different components each implementing one of the API&rsquo;s.</p>

<p>The Device Registry component also exposes <a href="/hono/docs/1.2/user-guide/device-registry/">HTTP based resources</a> for managing tenants and the registration information and credentials of devices.</p>

<p>The Device Registry is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding <a href="https://hub.docker.com/r/eclipse/hono-service-device-registry-file/">Docker image</a> created from it.</p>

<h2 id="service-configuration">Service Configuration</h2>

<p>In addition to the following options, this component supports the options described in <a href="/hono/docs/1.2/admin-guide/common-config/">Common Configuration</a>.</p>

<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the Device Registry.</p>

<table>
<thead>
<tr>
<th align="left">Environment Variable<br>Command Line Option</th>
<th align="center">Mandatory</th>
<th align="left">Default</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><code>HONO_APP_TYPE</code><br><code>--hono.app.type</code></td>
<td align="center">no</td>
<td align="left"><code>file</code></td>
<td align="left">The device registry implementation to use. This may be either <code>file</code> or <code>dummy</code>. In the case of <code>dummy</code> a dummy implementation will be used which will consider all devices queried for as valid devices, having the access credentials <code>hono-secret</code>. Of course this shouldn&rsquo;t be used for productive use.</td>
</tr>

<tr>
<td align="left"><code>HONO_CREDENTIALS_SVC_CACHE_MAX_AGE</code><br><code>--hono.credentials.svc.cacheMaxAge</code></td>
<td align="center">no</td>
<td align="left"><code>180</code></td>
<td align="left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
</tr>

<tr>
<td align="left"><code>HONO_CREDENTIALS_SVC_FILENAME</code><br><code>--hono.credentials.svc.filename</code></td>
<td align="center">no</td>
<td align="left"><code>/var/lib/hono/device-registry/</code><br><code>credentials.json</code></td>
<td align="left">The path to the file where the server stores credentials of devices. Hono tries to read credentials from this file during start-up and writes out all identities to this file periodically if property <code>HONO_CREDENTIALS_SVC_SAVE_TO_FILE</code> is set to <code>true</code>.<br>Please refer to <a href="#credentials-file-format">Credentials File Format</a> for details regarding the file&rsquo;s format.</td>
</tr>

<tr>
<td align="left"><code>HONO_CREDENTIALS_SVC_HASH_ALGORITHMS_WHITELIST</code><br><code>--hono.credentials.svc.hashAlgorithmsWhitelist</code></td>
<td align="center">no</td>
<td align="left"><code>empty</code></td>
<td align="left">An array of supported hashing algorithms to be used with the <code>hashed-password</code> type of credentials. When not set, all values will be accepted.</td>
</tr>

<tr>
<td align="left"><code>HONO_CREDENTIALS_SVC_MAX_BCRYPT_ITERATIONS</code><br><code>--hono.credentials.svc.maxBcryptIterations</code></td>
<td align="center">no</td>
<td align="left"><code>10</code></td>
<td align="left">The maximum number of iterations that are supported in password hashes using the BCrypt hash function. This limit is enforced by the device registry when adding or updating corresponding credentials. Increasing this number allows for potentially more secure password hashes to be used. However, the time required to compute the hash increases exponentially with the number of iterations.</td>
</tr>

<tr>
<td align="left"><code>HONO_CREDENTIALS_SVC_MODIFICATION_ENABLED</code><br><code>--hono.credentials.svc.modificationEnabled</code></td>
<td align="center">no</td>
<td align="left"><code>true</code></td>
<td align="left">When set to <code>false</code> the credentials contained in the registry cannot be updated nor removed.</td>
</tr>

<tr>
<td align="left"><code>HONO_CREDENTIALS_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.credentials.svc.receiverLinkCredit</code></td>
<td align="center">no</td>
<td align="left"><code>100</code></td>
<td align="left">The number of credits to flow to a client connecting to the Credentials endpoint.</td>
</tr>

<tr>
<td align="left"><code>HONO_CREDENTIALS_SVC_SAVE_TO_FILE</code><br><code>--hono.credentials.svc.saveToFile</code></td>
<td align="center">no</td>
<td align="left"><code>false</code></td>
<td align="left">When set to <code>true</code> the server will periodically write out the registered credentials to the file specified by the <code>HONO_CREDENTIALS_SVC_FILENAME</code> property.</td>
</tr>

<tr>
<td align="left"><code>HONO_CREDENTIALS_SVC_STARTEMPTY</code><br><code>--hono.credentials.svc.startEmpty</code></td>
<td align="center">no</td>
<td align="left"><code>false</code></td>
<td align="left">When set to <code>true</code> the server will not try to load credentials from the file specified by the <code>HONO_CREDENTIALS_SVC_FILENAME</code> property during startup.</td>
</tr>

<tr>
<td align="left"><code>HONO_DEVICE_CONNECTION_SVC_MAX_DEVICES_PER_TENANT</code><br><code>--hono.deviceConnection.svc.maxDevicesPerTenant</code></td>
<td align="center">no</td>
<td align="left"><code>100</code></td>
<td align="left">The number of devices per tenant for which connection related data is stored. It is an error to set this property to a value &lt;= 0.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_AMQP_BIND_ADDRESS</code><br><code>--hono.registry.amqp.bindAddress</code></td>
<td align="center">no</td>
<td align="left"><code>127.0.0.1</code></td>
<td align="left">The IP address of the network interface that the secure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_AMQP_CERT_PATH</code><br><code>--hono.registry.amqp.certPath</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT</code><br><code>--hono.registry.amqp.insecurePort</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">The insecure port the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.amqp.insecurePortBindAddress</code></td>
<td align="center">no</td>
<td align="left"><code>127.0.0.1</code></td>
<td align="left">The IP address of the network interface that the insecure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.amqp.insecurePortEnabled</code></td>
<td align="center">no</td>
<td align="left"><code>false</code></td>
<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_AMQP_KEY_PATH</code><br><code>--hono.registry.amqp.keyPath</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.amqp.keyStorePassword</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">The password required to read the contents of the key store.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code><br><code>--hono.registry.amqp.keyStorePath</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_AMQP_KEY_PATH</code> and <code>HONO_REGISTRY_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.registry.amqp.nativeTlsRequired</code></td>
<td align="center">no</td>
<td align="left"><code>false</code></td>
<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_AMQP_PORT</code><br><code>--hono.registry.amqp.port</code></td>
<td align="center">no</td>
<td align="left"><code>5671</code></td>
<td align="left">The secure port that the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.registry.amqp.secureProtocols</code></td>
<td align="center">no</td>
<td align="left"><code>TLSv1.2</code></td>
<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_REST_BIND_ADDRESS</code><br><code>--hono.registry.rest.bindAddress</code></td>
<td align="center">no</td>
<td align="left"><code>127.0.0.1</code></td>
<td align="left">The IP address of the network interface that the secure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_REST_CERT_PATH</code><br><code>--hono.registry.rest.certPath</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_REST_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_REST_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_REST_INSECURE_PORT</code><br><code>--hono.registry.rest.insecurePort</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">The insecure port the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_REST_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.rest.insecurePortBindAddress</code></td>
<td align="center">no</td>
<td align="left"><code>127.0.0.1</code></td>
<td align="left">The IP address of the network interface that the insecure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_REST_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.rest.insecurePortEnabled</code></td>
<td align="center">no</td>
<td align="left"><code>false</code></td>
<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_REST_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_REST_KEY_PATH</code><br><code>--hono.registry.rest.keyPath</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_REST_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_REST_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_REST_KEY_STORE_PASSWORD</code><br><code>--hono.registry.rest.keyStorePassword</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">The password required to read the contents of the key store.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_REST_KEY_STORE_PATH</code><br><code>--hono.registry.rest.keyStorePath</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_REST_KEY_PATH</code> and <code>HONO_REGISTRY_REST_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_REST_PORT</code><br><code>--hono.registry.rest.port</code></td>
<td align="center">no</td>
<td align="left"><code>5671</code></td>
<td align="left">The secure port that the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_SVC_CACHE_MAX_AGE</code><br><code>--hono.registry.svc.cacheMaxAge</code></td>
<td align="center">no</td>
<td align="left"><code>180</code></td>
<td align="left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_SVC_FILENAME</code><br><code>--hono.registry.svc.filename</code></td>
<td align="center">no</td>
<td align="left"><code>/var/lib/hono/device-registry/</code><br><code>device-identities.json</code></td>
<td align="left">The path to the file where the server stores identities of registered devices. Hono tries to read device identities from this file during start-up and writes out all identities to this file periodically if property <code>HONO_REGISTRY_SVC_SAVE_TO_FILE</code> is set to <code>true</code>.<br>Please refer to <a href="#device-identities-file-format">Device Identities File Format</a> for details regarding the file&rsquo;s format.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_SVC_MAX_DEVICES_PER_TENANT</code><br><code>--hono.registry.svc.maxDevicesPerTenant</code></td>
<td align="center">no</td>
<td align="left"><code>100</code></td>
<td align="left">The number of devices that can be registered for each tenant. It is an error to set this property to a value &lt;= 0.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_SVC_MODIFICATION_ENABLED</code><br><code>--hono.registry.svc.modificationEnabled</code></td>
<td align="center">no</td>
<td align="left"><code>true</code></td>
<td align="left">When set to <code>false</code> the device information contained in the registry cannot be updated nor removed from the registry.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.registry.svc.receiverLinkCredit</code></td>
<td align="center">no</td>
<td align="left"><code>100</code></td>
<td align="left">The number of credits to flow to a client connecting to the Device Registration endpoint.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_SVC_SAVE_TO_FILE</code><br><code>--hono.registry.svc.saveToFile</code></td>
<td align="center">no</td>
<td align="left"><code>false</code></td>
<td align="left">When set to <code>true</code> the server will periodically write out the registered device information to the file specified by the <code>HONO_REGISTRY_SVC_FILENAME</code> property.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_SVC_SIGNING_KEY_PATH</code><br><code>--hono.registry.svc.signing.keyPath</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for signing tokens asserting a device&rsquo;s registration status. When using this variable, other services that need to validate the tokens issued by this service need to be configured with the corresponding certificate/public key. Alternatively, a symmetric key can be used for signing (and validating) by setting the <code>HONO_REGISTRY_SVC_SIGNING_SHARED_SECRET</code> variable. If none of these variables is set, the server falls back to the key indicated by the <code>HONO_REGISTRY_AMP_KEY_PATH</code> variable. If that variable is also not set, startup of the server fails.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_SVC_SIGNING_SHARED_SECRET</code><br><code>--hono.registry.svc.signing.sharedSecret</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">A string to derive a symmetric key from that is used for signing tokens asserting a device&rsquo;s registration status. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the signing key using this variable, other services that need to validate the tokens issued by this service need to be configured with the same key. Alternatively, an asymmetric key pair can be used for signing (and validating) by setting the <code>HONO_REGISTRY_SVC_SIGNING_KEY_PATH</code> variable. If none of these variables is set, startup of the server fails.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_SVC_SIGNING_TOKEN_EXPIRATION</code><br><code>--hono.registry.svc.signing.tokenExpiration</code></td>
<td align="center">no</td>
<td align="left"><code>10</code></td>
<td align="left">The expiration period to use for the tokens asserting the registration status of devices.</td>
</tr>

<tr>
<td align="left"><code>HONO_REGISTRY_SVC_STARTEMPTY</code><br><code>--hono.registry.svc.startEmpty</code></td>
<td align="center">no</td>
<td align="left"><code>false</code></td>
<td align="left">When set to <code>true</code> the server will not try to load device identities from the file specified by the <code>HONO_REGISTRY_SVC_FILENAME</code> property during startup.</td>
</tr>

<tr>
<td align="left"><code>HONO_TENANT_SVC_CACHE_MAX_AGE</code><br><code>--hono.tenant.svc.cacheMaxAge</code></td>
<td align="center">no</td>
<td align="left"><code>180</code></td>
<td align="left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
</tr>

<tr>
<td align="left"><code>HONO_TENANT_SVC_FILENAME</code><br><code>--hono.tenant.svc.filename</code></td>
<td align="center">no</td>
<td align="left"><code>/var/lib/hono/device-registry/</code><br><code>tenants.json</code></td>
<td align="left">The path to the file where the server stores tenants. Hono tries to read tenants from this file during start-up and writes out all identities to this file periodically if property <code>HONO_TENANT_SVC_SAVE_TO_FILE</code> is set to <code>true</code>.<br>Please refer to <a href="#tenants-file-format">Tenants File Format</a> for details regarding the file&rsquo;s format.</td>
</tr>

<tr>
<td align="left"><code>HONO_TENANT_SVC_MODIFICATION_ENABLED</code><br><code>--hono.tenant.svc.modificationEnabled</code></td>
<td align="center">no</td>
<td align="left"><code>true</code></td>
<td align="left">When set to <code>false</code> the tenants contained in the registry cannot be updated nor removed.</td>
</tr>

<tr>
<td align="left"><code>HONO_TENANT_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.tenant.svc.receiverLinkCredit</code></td>
<td align="center">no</td>
<td align="left"><code>100</code></td>
<td align="left">The number of credits to flow to a client connecting to the Tenant endpoint.</td>
</tr>

<tr>
<td align="left"><code>HONO_TENANT_SVC_SAVE_TO_FILE</code><br><code>--hono.tenant.svc.saveToFile</code></td>
<td align="center">no</td>
<td align="left"><code>false</code></td>
<td align="left">When set to <code>true</code> the server will periodically write out the registered tenants to the file specified by the <code>HONO_TENANTS_SVC_TENANT_FILENAME</code> property.</td>
</tr>

<tr>
<td align="left"><code>HONO_TENANT_SVC_STARTEMPTY</code><br><code>--hono.tenant.svc.startEmpty</code></td>
<td align="center">no</td>
<td align="left"><code>false</code></td>
<td align="left">When set to <code>true</code> the server will not try to load tenants from the file specified by the <code>HONO_TENANT_SVC_FILENAME</code> property during startup.</td>
</tr>
</tbody>
</table>

<p>The variables only need to be set if the default value does not match your environment.</p>

<h2 id="port-configuration">Port Configuration</h2>

<p>The Device Registry supports configuration of both, an AMQP based endpoint as well as an HTTP based endpoint proving RESTful resources for managing registration information and credentials. Both endpoints can be configured to listen for connections on</p>

<ul>
<li>a secure port only (default) or</li>
<li>an insecure port only or</li>
<li>both a secure and an insecure port (dual port configuration)</li>
</ul>

<p>The server will fail to start if none of the ports is configured properly.</p>

<p>The following sections apply to configuring both, the AMQP endpoint as well as the REST endpoint. The environment variables to use for configuring the REST endpoint are the same as the ones for the AMQP endpoint, substituting <code>_AMQP_</code> with <code>_REST_</code>, e.g. <code>HONO_REGISTRY_REST_KEY_PATH</code> instead of <code>HONO_REGISTRY_AMQP_KEY_PATH</code>.</p>

<h3 id="secure-port-only">Secure Port Only</h3>

<p>The server needs to be configured with a private key and certificate in order to open a TLS secured port.</p>

<p>There are two alternative ways for doing so:</p>

<ol>
<li>Setting the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> and the <code>HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
<li>setting the <code>HONO_REGISTRY_AMQP_KEY_PATH</code> and <code>HONO_REGISTRY_AMQP_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
</ol>

<p>When starting up, the server will bind a TLS secured socket to the default secure AMQP port 5671. The port number can also be set explicitly using the <code>HONO_REGISTRY_AMQP_PORT</code> variable.</p>

<p>The <code>HONO_REGISTRY_AMQP_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>

<h3 id="insecure-port-only">Insecure Port Only</h3>

<p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>

<ul>
<li>explicitly setting <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> to a valid port number, or by</li>
<li>implicitly configuring the default AMQP port (5672) by simply setting <code>HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
</ul>

<p>The server issues a warning on the console if <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> is set to the default secure AMQP port (5671).</p>

<p>The <code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>

<p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>

<h3 id="dual-port">Dual Port</h3>

<p>In test setups and some production scenarios Hono server may be configured to open one secure <strong>and</strong> one insecure port at the same time.</p>

<p>This is achieved by configuring both ports correctly (see above). The server will fail to start if both ports are configured to use the same port number.</p>

<p>Since the secure port may need different visibility in the network setup compared to the secure port, it has it&rsquo;s own binding address <code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code>.
This can be used to narrow the visibility of the insecure port to a local network e.g., while the secure port may be visible worldwide.</p>

<h3 id="ephemeral-ports">Ephemeral Ports</h3>

<p>The server may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.</p>

<h2 id="authentication-service-connection-configuration">Authentication Service Connection Configuration</h2>

<p>The Device Registry requires a connection to an implementation of Hono&rsquo;s Authentication API in order to authenticate and authorize client requests.</p>

<p>The connection is configured according to <a href="/hono/docs/1.2/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
where the <code>${PREFIX}</code> is set to <code>HONO_AUTH</code>. Since Hono&rsquo;s Authentication Service does not allow caching of the responses, the cache properties
can be ignored.</p>

<p>In addition to the standard client configuration properties, following properties may be set for the connection:</p>

<table>
<thead>
<tr>
<th align="left">Environment Variable<br>Command Line Option</th>
<th align="center">Mandatory</th>
<th align="left">Default</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><code>HONO_AUTH_VALIDATION_CERT_PATH</code><br><code>--hono.auth.validation.certPath</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">The absolute path to the PEM file containing the an X.509 certificate that the service should use for validating tokens issued by the Authentication service. Alternatively, a symmetric key can be used for validating tokens by setting the <code>HONO_AUTH_VALIDATION_SHARED_SECRET</code> variable. If none of these variables is set, startup of the service fails.</td>
</tr>

<tr>
<td align="left"><code>HONO_AUTH_VALIDATION_SHARED_SECRET</code><br><code>--hono.auth.validation.sharedSecret</code></td>
<td align="center">no</td>
<td align="left">-</td>
<td align="left">A string to derive a symmetric key from which is used for validating tokens issued by the Authentication service. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the validation key using this variable, the Authentication service <strong>must</strong> be configured with the same key. Alternatively, an X.509 certificate can be used for validating tokens by setting the <code>HONO_AUTH_VALIDATION_CERT_PATH</code> variable. If none of these variables is set, startup of the service fails.</td>
</tr>

<tr>
<td align="left"><code>HONO_AUTH_SUPPORTED_SASL_MECHANISMS</code><br><code>--hono.auth.supportedSaslMechanisms</code></td>
<td align="center">no</td>
<td align="left"><code>EXTERNAL, PLAIN</code></td>
<td align="left">A (comma separated) list of the SASL mechanisms that the device registry should offer to clients for authentication. This option may be set to specify only one of <code>EXTERNAL</code> or <code>PLAIN</code>, or to use a different order.</td>
</tr>
</tbody>
</table>

<h2 id="metrics-configuration">Metrics Configuration</h2>

<p>See <a href="/hono/docs/1.2/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure the reporting of metrics.</p>

<h2 id="device-identities-file-format">Device Identities File Format</h2>

<p>The Device Registry supports persisting the device identities and their registration information to a JSON file in the local file system.
The <em>Getting started Guide</em> includes an example configuration which illustrates the file format used. The configuration file&rsquo;s location is <code>/deploy/src/main/deploy/example-device-identities.json</code>.</p>

<h2 id="credentials-file-format">Credentials File Format</h2>

<p>The Device Registry supports persisting the devices&rsquo; credentials to a JSON file in the local file system.
The <em>Getting started Guide</em> includes an example configuration which illustrates the file format used. The configuration file&rsquo;s location is <code>/deploy/src/main/deploy/example-credentials.json</code>.</p>

<h2 id="tenants-file-format">Tenants File Format</h2>

<p>The Device Registry supports persisting tenants to a JSON file in the local file system.
The configuration file&rsquo;s location is <code>/deploy/src/main/deploy/example-tenants.json</code>.</p>

<h2 id="configuring-gateway-devices">Configuring Gateway Devices</h2>

<p>The Device Registry supports devices to <em>act on behalf of</em> other devices. This is particularly useful for cases where a device does not connect directly to a Hono protocol adapter but is connected to a <em>gateway</em> component that is usually specific to the device&rsquo;s communication protocol. It is the gateway component which then connects to a Hono protocol adapter and publishes data on behalf of the device(s). Examples of such a set up include devices using <a href="https://www.sigfox.com">SigFox</a> or <a href="https://lora-alliance.org/">LoRa</a> for communication.</p>

<p>In these cases the protocol adapter will authenticate the gateway component instead of the device for which it wants to publish data. In order to verify that the gateway is <em>authorized</em> to publish data on behalf of the particular device, the protocol adapter should include the gateway&rsquo;s device identifier (as determined during the authentication process) in its invocation of the Device Registration API&rsquo;s <em>assert Device Registration</em> operation.</p>

<p>The Device Registry will then do the following:
1. Verify that the device exists and is enabled.
2. Verify that the gateway exists and is enabled.
3. Verify that the device&rsquo;s registration information contains a property called <code>via</code> and that its value is either the gateway&rsquo;s device identifier or a JSON array which contains the gateway&rsquo;s device identifier as one of its values.</p>

<p>Only if all conditions are met, the Device Registry returns an assertion of the device&rsquo;s registration status. The protocol adapter can then forward the published data to the AMQP Messaging Network in the same way as for any device that connects directly to the adapter.</p>

<p>The example configuration file (located at <code>/deploy/src/main/deploy/example-device-identities.json</code>) includes a device and a corresponding gateway configured in this way.</p>

<footer class=" footline" >
	
</footer>


        
        </div> 
        

      </div>

    <div id="navigation">
        
        
        
        
            
            
                
                    
                    
                
                

                    
                    
                        
                    
                    

                    
                        
            
            
                
                    
                        
                        
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
            
        
                    
                        
            
            
                
                    
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                        
                        
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                        
                        
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
            
        
                    
            
        
        
        


	 
	 
    </div>

    </section>
    
    <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
      <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
    </div>
    <script src="/hono/docs/js/clipboard.min.js?1603416228"></script>
    <script src="/hono/docs/js/perfect-scrollbar.min.js?1603416228"></script>
    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1603416228"></script>
    <script src="/hono/docs/js/jquery.sticky.js?1603416228"></script>
    <script src="/hono/docs/js/featherlight.min.js?1603416228"></script>
    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1603416228"></script>
    <script src="/hono/docs/js/highlight.pack.js?1603416228"></script>
    <script>hljs.initHighlightingOnLoad();</script>
    <script src="/hono/docs/js/modernizr.custom.71422.js?1603416228"></script>
    <script src="/hono/docs/js/learn.js?1603416228"></script>
    <script src="/hono/docs/js/hugo-learn.js?1603416228"></script>

    <link href="/hono/docs/mermaid/mermaid.css?1603416228" type="text/css" rel="stylesheet" />
    <script src="/hono/docs/mermaid/mermaid.js?1603416228"></script>
    <script>
        mermaid.initialize({ startOnLoad: true });
    </script>
    




<script>
    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-5WLCZXC');
</script>


<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>

  </body>
</html>

