Skip to main content

We've Moved!

Product Documentation has moved to docs.hitachivantara.com
Hitachi Vantara Knowledge

User authentication and authorization with Device Manager - Storage Navigator

An authentication server enables users to log in to Device Manager - Storage Navigator with the same password as the password they use for other applications. In addition, an authentication server can be configured to work with an authorization server so that user groups registered in the authorization server can be assigned to Device Manager - Storage Navigator users.

Setting up authentication and authorization with Device Manager - Storage Navigator

The following figures show the Device Manager - Storage Navigator login workflow without and with an authentication server. The authentication server must be configured for each user.

Logging in without an authentication server
GUID-524BD834-FAA5-48CF-B268-8E1D4B2E30C2-low.png
Logging in with an authentication server
GUID-CD87F0CC-3E13-4949-8C5C-0EC3582CF1CD-low.png

The following figure shows the login workflow when an authentication server and an authorization server are used in combination. In this case, the user groups that are registered in the authorization server can be assigned to Device Manager - Storage Navigator users.

Logging in with an authentication server and an authorization server
GUID-44D1589F-4FDA-4A93-B285-892AB347D941-low.png

If you register the information of the authentication server as an SRV record in the DNS server, you can use the authentication server without knowing the host names and port numbers. If you register multiple numbers of authentication servers to the SRV record, you can determine the authentication server to be used based on the priority that has been set in advance.

Caution
  • If the affiliated user group registered in the external authentication server and the user group registered locally in the storage system are different, the user group in the storage system has higher priority.
  • You cannot create a load balancer between the SVP and the external authentication server.
  • If you use external authentication of the SVP, you need to disable external authentication of the maintenance utility.

External authentication requirements using authentication server

Authentication servers support the following protocols:

  • LDAPv3 simple bind authentication (Note that Bind DN is used for authentication.)
  • RFC 2865-compliant RADIUS with PAP and CHAP authentication
  • Kerberos v5
NoteThe authentication server needs to support TLS1.2 as a transfer protocol.

The following root certificate file formats to be set on Device Manager - Storage Navigator are available for LDAP server settings:

  • X509 DER format
  • X509 PEM format
    Note

    The root certificate to be set on Storage Navigator must satisfy the following requirements:

    • The extended profile fields in the X.509 certificate support the following items as specified in RFC5280:
      • BasicConstraints
      • KeyUsage
      • SubjectKeyIdentifier

    The certificate to be set on the connected server must satisfy the following requirements:

    • The extended profile fields in the X.509 certificate support the following items as specified in RFC5280:
      • BasicConstraints
      • KeyUsage
      • SubjectKeyIdentifier
    • The public key of the server certificate must be RSA.
    • If no DNS server is used, the IP address of the authentication server must be specified for the common name of the certificate.

One of the following encryption types must be used for the Kerberos server:

  • Windows

    • AES128-CTS-HMAC-SHA1-96
    • RC4-HMAC
    • DES3-CBC-SHA1
    • DES-CBC-CRC
    • DES-CBC-MD5
  • Solaris or Linux

    • DES-CBC-MD5
Caution
  • Two authentication servers (one primary and one secondary) can be connected to a storage system. In this case, the server configurations must be the same, except for the IP address and the port. For the secondary server, use the same configuration settings as the primary server, except for the host name and the port number.
  • If you search for a server using information registered in the SRV records in the DNS server, confirm that the following conditions are satisfied. For RADIUS servers, you cannot use the SRV records.

    LDAP server conditions:

    • The environmental setting for the DNS server is completed at the LDAP server.
    • The host name, the port number, and the domain name of the LDAP server are registered in the DNS server.

    Kerberos server conditions:

    • The host name, the port number, and the domain name of the Kerberos server are registered in the DNS server.
  • Because UDP/IP is used to access the RADIUS server, encrypted communications, including negotiation between processes, are not used. To access the RADIUS server in a secure environment, encryption in the packet level, such as IPsec, is required.

External authorization requirements using authorization server

The authorization server must satisfy the following requirements to work together with the authentication server:

NoteUse an operating system that continues to be supported by a vendor. Operations performed using firmware for which vendor support has expired cannot be guaranteed.
  • Prerequisite OS

    • Windows Server 20081, 2
    • Windows Server 2008 R21, 2
    • Windows Server 2012 R2
    Note
    1. Microsoft support for this operating system has expired. Use an operating system for which Microsoft continues to provide the support.
    2. VSP E series does not support this operating system.
  • Prerequisite software

    • Active Directory
  • Authentication protocol for user for searching

    • LDAP v3 simple bind (Note that Bind DN is used for authentication.)
  • Root certificate file format for Device Manager - Storage Navigator

    • X509 DER format
    • X509 PEM format
  • Requirements for root certificate to be set on Storage Navigator

    The extended profile fields in the X.509 certificate support the following items as specified in RFC5280:

    • BasicConstraints
    • KeyUsage
    • SubjectKeyIdentifier
  • Requirements for certificate to be set on the connected server

    The extended profile fields in the X.509 certificate support the following items as specified in RFC5280:

    • BasicConstraints
    • KeyUsage
    • SubjectKeyIdentifier

    The public key of the server certificate must be RSA.

    If no DNS server is used, the IP address of the authorization server must be specified for the common name of the certificate.

Note
  • Acquire the root certificate for the authentication server from the authentication server administrator.
  • The certificates has an expiration date. If the certificate expires, you will not be able to connect to the authentication server. Make sure to set the expiration date carefully to prepare the certificate.
  • For more information about the certificate management, consult with the authentication server administrator and manage it appropriately.
NoteWhen using an LDAP server or a Kerberos server as an authentication server, and combining it with an authorization server, use the same host for the authentication and authorization servers.

When a RADIUS server is used as an authentication server, two authentication servers (one primary and one secondary) can be specified, but only one authorization server can be specified.

Connecting two authentication servers

Two authentication servers can be connected to a storage system. When the servers are connected, the server configurations must be the same, except for the IP address and the port.

If you search for a server using information registered in the SRV records in the DNS server, confirm that the following conditions are satisfied:

NoteFor RADIUS servers, you cannot use the SRV records.
  • LDAP server conditions:

    • The environmental setting for the DNS server is completed at the LDAP server.
    • The host name, the port number, and the domain name of the LDAP server are registered in the DNS server.
  • Kerberos server conditions:

    • The host name, the port number, and the domain name of the Kerberos server are registered in the DNS server.

Because UDP/IP is used to access the RADIUS server, no encrypted communications are available, such as negotiations between processes. To access the RADIUS server in a secure environment, encryption in the packet level is required, such as IPsec.

Connecting authentication and authorization servers

To use an authentication server and an authorization server, you must create configuration files and configure your network. Detailed setting information is required for the authentication server and the authorization server, especially for creating a configuration file.

Before you begin

  • Contact your server administrator for information about the values to be written in the LDAP, RADIUS, or Kerberos configuration file. If you use LDAP servers, obtain certification for the LDAP server files.
  • Contact your network administrator for information about the network settings.

Procedure

  1. Create a configuration file. The items to specify depend on the protocol you use.

  2. Log in to the SVP and store the following files in an easily accessible location.

    • Certificate (for secure communication)
    • Configuration file
  3. Open the Windows command prompt on the SVP.

  4. In the folder where the .bat file is located, execute the following command specifying the configuration file path and the certificate file path:

    C:\MAPP\wk\Supervisor\MappIniSet>MappSetExAuthConf "C:\auth\auth.properties" "C:\auth\auth.cer"

    After you complete the settings and verify that you can use the authentication and authorization servers, back up the connection settings for the authentication server.

    If the authentication server and the authorization server are unusable even after you make the settings, the network or the configuration file settings might have a problem. Contact the server administrator or the network administrator.

  5. When a message appears asking if you want to delete the specified configuration file and certificate file, press y to delete the files.

    If you do not delete these files now when prompted, delete them manually.

Disabling external authentication by the maintenance utility

If you use the SVP, enable authentication by the SVP, and also disable external authentication by the maintenance utility.

Use the following procedure to disable external authentication server by the maintenance utility.

Procedure

  1. Log in to the maintenance utility.

  2. Click Administration > External Authentication > Set Up Server > Disable.

  3. When the confirmation window appears, click Apply.

  4. When the completion message appears, click Close.

Naming a user group in Device Manager - Storage Navigator

When you create a user group in Device Manager - Storage Navigator, you name the group with the user's memberOf attribute value which is found in the Active Directory. Device Manager - Storage Navigator supports Active Directory nested groups.

After entering the user group name, verify that the user group name that you entered is registered in the authorization server.

NoteThe domain name (DN) of the user group to be set to Active Directory must be between 1 and 250 characters. The number of user groups that can be registered at one time is 20 at maximum.
CautionIf a user needs to use different user groups for different purposes, create local user accounts on Device Manager - Storage Navigator. Do not use the authorization server.

Creating configuration files

Authentication servers and authorization servers must be configured using configuration files.

Configuration files can be created for LDAP, RADIUS, and Kerberos authentication protocols.

Creating an LDAP configuration file

You can use an LDAP server for authentication on your storage system.

To use an LDAP server for authentication, create a configuration file in UTF-8 encoding. Include information about the authentication server as shown in the following example. Any file name and extension is allowed.

Caution If you save the configuration file when using the Windows standard Notepad application, specify ANSI for the letter code. If you use an editor other than the memo pad and have the YTF-8 BOM setting, specify No BOM and then save.
auth.server.type=ldap 
auth.server.name=<server_name> 
auth.group.mapping=<value> 
auth.ldap.<server_name>.<attribute>=<value>

A full example is shown here:

auth.server.type=ldap 
auth.server.name=PrimaryServer 
auth.group.mapping=true 
auth.ldap.PrimaryServer.protocol=ldaps 
auth.ldap.PrimaryServer.host=ldaphost.domain.local 
auth.ldap.PrimaryServer.port=636
auth.ldap.PrimaryServer.timeout=3
auth.ldap.PrimaryServer.attr=sAMAccountName
auth.ldap.PrimaryServer.searchdn=CN=sample1,CN=Users,DC=domain,DC=local
auth.ldap.PrimaryServer.searchpw=password
auth.ldap.PrimaryServer.basedn=CN=Users,DC=domain,DC=local
auth.ldap.PrimaryServer.retry.interval=1 
auth.ldap.PrimaryServer.retry.times=3
auth.ldap.PrimaryServer.domain.name=EXAMPLE.COM

The LDAP attributes are defined in the following table.

Attribute Description Required / Optional Default value
auth.server.type Type of authentication server. Specify ldap. Required None
auth.server.name

Name of the authentication server (referred to as <server_ name>).

When registering a primary and a secondary server, use a comma to separate the names. The name of the server, including the primary name, secondary name, and the comma (1 byte) must be 64 bytes or less.

The name can use all ASCII code characters except for the following: \ / : , ; * ? " < > | $ % & ' ˜

Required None
auth.group.mapping Information about whether to work together with an authorization server:
  • true: Works together.
  • false: Does not work together.
Optional False
auth.ldap.<server_name>.protocol LDAP protocol to use.

Specify ldaps (uses LDAP over SSL/TLS).

Do not specify starttls (uses StartTLS).

Required None
auth.ldap.<server_name>.host

Host name, an IPv4 address or an IPv6 address of the LDAP server. An IPv6 address must be enclosed in square brackets. To use StartTLS as a protocol, specify a host name.

If this value is specified, auth.ldap.<server_name>.dns_lookup will be ignored.

Optional1 None

auth.ldap.<server_name>.port

Port number of the LDAP server.

Must be between 1 and 65,535.2

Optional 389

auth.ldap.<server_name>.timeout

Number of seconds before the connection to the LDAP server times out.

Must be between 1 and 30.2

Required 10

auth.ldap.<server_name>.attr

Attribute name to identify a user (such as a user ID).

  • Hierarchical model: An attribute name where the value that can identify a user is stored.
  • Flat model: An attribute name for a user entry's RDN.

sAMAccountName is used for Active Directory.

Required None

auth.ldap.<server_name>.searchdn

DN of the user for searching. If omitted, [value_of_attr]=[Login_ID],[value_ of _basedn] is used for bind authentication.3

Otional None

auth.ldap.<server_name>.searchpw

User password that is used for searching. Specify the same password that is registered in the LDAP server.

Required None

auth.ldap.<server_name>.basedn

BaseDN for searching for users to authenticate.3

  • Hierarchical model: DN of hierarchy that includes all the targeted users for searching.
  • Flat model: DN of hierarchy that is one level up from the targeted user for searching.
Required None

auth.ldap.<server_name>.retry.interval

Retry interval in seconds when the connection to the LDAP server fails.

Must be between 1 and 5.2

Optional 1

auth.ldap.<server_name>.retry.times

Retry times when the connection to the LDAP server fails.

Must be between 0 and 3. Zero means no retry.2

Optional 3

auth.ldap.<server_name>.domain.name

Domain name that the LDAP server manages.

Required None

auth.ldap.<server_name>.dns_lookup

Information about whether to search the LDAP server with the information registered in the SRV records in the DNS server.

Specify false (Searches with the host name and port number).

Do not specify true (Searches with the information registered in the SRV records in the DNS server).

Optional False

Notes:

  1. This item can be omitted if true is specified for auth.ldap.<server_name>.dns_lookup.
  2. If the specified value is not valid, the default value is used.
  3. To use symbols such as + ; , < = and >, type a backslash (\) before each symbol. When using multiple symbols, each symbol must have a backslash before it. For example, to enter abc++ in the basedn or searchdn field, type abc\+\+.

    To enter \ , /, or ", type a backslash (\) followed by the ASCII code in hex for the character:

    • To enter a backslash (\), type \5c.
    • To enter a forward slash (/), type \2f.
    • To enter a quotation mark ("), type \22.

Creating a RADIUS configuration file

You can use a RADIUS server for authentication on your storage system.

To use a RADIUS server for authentication, create a configuration file in UTF-8 encoding. Include information about the authentication server as shown in the following example. Any file name and extension is allowed. If an authorization server is not used, you do not need to define the items for it.

Caution If you save the configuration file when using the Windows standard Notepad application, specify ANSI for the letter code. If you use an editor other than the memo pad and have the YTF-8 BOM setting, specify No BOM then save.
auth.server.type=radius 
auth.server.name=server-name
auth.group.mapping=value
auth.radius.server-name.attribute=value
auth.group.domain-name.attribute=value

A full example is shown below:

auth.server.type=radius 
auth.server.name=PrimaryServer 
auth.group.mapping=true 
auth.radius.PrimaryServer.protocol=PAP 
auth.radius.PrimaryServer.host=example.com 
auth.radius.PrimaryServer.port=1812 
auth.radius.PrimaryServer.timeout=3 
auth.radius.PrimaryServer.secret=secretword 
auth.radius.PrimaryServer.retry.times=3 
auth.radius.PrimaryServer.domain.name=radius.example.com
auth.group.radius.example.com.protocol=ldaps
auth.group.radius.example.com.host=xxx.xxx.xxx.xxx
auth.group.radius.example.com.port=636
auth.group.radius.example.com.searchdn=CN=sample1,CN=Users,DC=domain,DC=local
auth.group.radius.example.com.searchpw=password
auth.group.radius.example.com.basedn=CN=Users,DC=domain,DC=local

The attributes are defined in the following tables.

RADIUS definition (for authentication server)
Attribute Description Required / Optional Default value
auth.server.type Type of authentication server

Specify radius.

Required None
auth.server.name Name of the server (referred to as <server_name>)

When registering a primary and secondary server, use a comma to separate the names. The name of the server, including the primary name, secondary name, and the comma (1 byte) must be 64 bytes or less.

The names can use all ASCII code characters except for the following:

\ / : , ; * ? " < > | $ % & ' ˜

Required None
auth.group.mapping Information about whether to work together with an authorization server
  • true: Works together.
  • false: Does not work together.
Optional False
auth.radius.server-name.protocol RADIUS protocol to use
  • PAP: Password authentication protocol that transmits plaintext user ID and password.
  • CHAP: Challenge-handshake authentication protocol that transmits encrypted password.
Required None
auth.radius.server-name.host Host name, IPv4 address, or IPv6 address of the RADIUS server

An IPv6 address must be enclosed in square brackets.

Required1 None
auth.radius.server-name.port Port number of the RADIUS server

Must be between 1 and 65,535.

Optional2 1,812
auth.radius.server-name.timeout

Number of seconds before the connection to the RADIUS server times out

Must be between 1 and 30.

Optional2 10
auth.radius.server-name.secret RADIUS secret key used for PAP or CHAP authentication Required None
auth.radius.server-name.retry.times

Retry times when the connection to the RADIUS server fails

Must be between 0 and 3. 0 means no retry.

Optional2 3
auth.radius.server-name.attr.NASIdentifier Identifier for the RADIUS server to find SVP

Specify this value if the attr.NAS-Identifier attribute is used in your RADIUS environment. ASCII codes up to 253 bytes long are accepted.

Optional None
auth.radius.server-name.attr.NAS-IPv4-Address IPv4 address of the SVP

Specify this value if the attr.NAS-Identifier attribute is used in your RADIUS environment. ASCII codes up to 253 bytes long are accepted.

Optional None
auth.radius.server-name.attr.NAS-IPv6-Address IPv6 address of the SVP

Specify the value of the NAS-IPv6-Address attribute. This value is transmitted to the RADIUS server when the authentication is requested.

Optional None
Notes:
  1. If you query DNS with external authorization, the settings are not required.
  2. If the specified value is not applicable, the default value is used.
RADIUS definition (for authorization server)
Attribute Description Required / Optional Default value
auth.radius.server-name.domain.name Domain name that the LDAP server manages (referred to as domain-name) Required None

auth.radius.server-name.dns_lookup

Information about whether to search the LDAP server with the information registered in the SRV records in the DNS server

Specify false (searches with the host name and port number).

Do not specify true (searches with the information registered in the SRV records in the DNS server).

Optional false

auth.group.domain-name.protocol

LDAP protocol to use

Specify ldaps (uses LDAP over SSL/TLS).

Do not specify starttls (uses StartTLS).

Required None

auth.group.domain-name.host

Host name, IPv4 address, or IPv6 address of the LDAP server. An IPv6 address must be enclosed in square brackets ([ ]). Optional1 None

auth.group.domain-name.port

Port number of the LDAP server

Must be between 1 and 65535.

Optional2 389

auth.group.domain-name.searchdn

DN of the user for searchingRequired3 None
auth.group.domain-name.searchpw User password for searching

Specify the same password that is registered in the LDAP server.

Required None
auth.group.domain-name.basedn Base DN for searching for users to authenticate

Specify DN of the hierarchy, including all the users for searching because the targeted users for searching are in lower hierarchy than the specified DN.

Optional3 abbr
auth.group.domain-name.timeout Number of seconds before the connection to the LDAP server times out

Must be between 1 and 30.

Optional2 10
auth.group.domain-name.retry.interval Retry interval in seconds when the connection to the LDAP server fails

Must be between 1 and 5.

Optional 1
auth.group.domain-name.retry.times Retry times when the connection to the LDAP server fails

Must be between 0 and 3. 0 means no retry.

Optional2 3

Notes:

  1. This item can be omitted if true is specified for auth.radius.server-name.dns_lookup.
  2. If the specified value is not valid, the default value is used.
  3. To use symbols such as + ; , < = and >, type a backslash (\) before each symbol. When using multiple symbols, each symbol must have a backslash before it. For example, to enter abc++ in the basedn or searchdn field, type abc\+\+.

    To enter a backslash (\), forward slash (/), or quotation mark ("), type a backslash (\) followed by the ASCII code in hex:

    • To enter a backslash (\), type \5c.
    • To enter a forward slash (/), type \2f.
    • To enter a quotation mark ("), type \22.

Creating a Kerberos configuration file

You can use a Kerberos server for authentication on your storage system.

To use a Kerberos server for authentication, create a configuration file in UTF-8 encoding. Include information about the authentication server as shown in the following example. Any file name and extension are allowed. If an authorization server is not used, you do not need to define the items for it.

Caution If you save the configuration file when using the Windows standard Notepad application, specify ANSI for the letter code. If you use an editor other than the memo pad and have the YTF-8 BOM setting, specify No BOM and then save.
auth.server.type=kerberos 
auth.group.mapping=<value> 
auth.kerberos.<attribute>=<value> 
auth.group.<realm name>.<attribute>=<value>

A full example is shown below:

auth.server.type=kerberos 
auth.group.mapping=true 
auth.kerberos.default_realm=example.com 
auth.kerberos.dns_lookup_kdc=true 
auth.kerberos.clockskew=300 
auth.kerberos.timeout=10
auth.group.example.com.protocol=ldaps
auth.group.example.com.port=636
auth.group.example.com.searchdn=CN=sample1,CN=Users,DC=domain,DC=local
auth.group.example.com.searchpw=password
auth.group.example.com.basedn=CN=Users,DC=domain,DC=local

The Kerberos attributes are defined in the following table.

Kerberos definition (for authentication server)
Attribute Description Required / Optional Default value
auth.server.type Type of authentication server. Specify kerberos. Required None
auth.group.mapping Information about whether to work together with an authorization server:
  • true: Works together.
  • false: Does not work together.
Optional false
auth.kerberos.default_realm Default realm name Required None
auth.kerberos.dns_lookup.kdc

Switch that determines which information registered in the SRV records in the DNS server to use when searching the Kerberos server.

Specify false (searches with the host name and port number).

Do not specify true (searches with the information registered in the SRV records in the DNS server).

Optional false
auth.kerberos.clockskew Acceptable range of the difference in time between the SVP and the Kerberos server where the SVP is operating.

Must be between 0 and 300 seconds.

Optional1 300
auth.kerberos.timeout Number of seconds before the connection to the RADIUS server times out.

Must be between 1 and 30. When 0 is specified, the connection does not time out until a communication error occurs.

Optonal1 10
auth.kerberos.realm_name Realm identifier name (referred to as <realm_name>)

Any name to distinguish the information of Kerberos server in each realm. Duplicate names cannot be used. If you register multiple names, use a comma to separate the names.

Optional2 None
auth.kerberos.<realm _name>.realm Realm name set to the Kerberos server. Optional2 None
auth.kerberos.<realm_name>.kdc Host name, the IPv4 address, and port number of the Kerberos server. Specify these in the format of <Host name or IP address>[:Port number]. Optional2 None

Notes:

  1. If the specified value is not valid, the default value is used.
  2. This item can be omitted if true is specified for auth.kerberos.dns_lookup_kdc.
Kerberos definition (for authorization server)
Attribute Description Required / Optional Default value
auth.group.<realm_na me>.protocol

LDAP protocol to use.

Specify ldaps (uses LDAP over SSL/TLS).

Do not specify starttls (uses StartTLS).

Required None
auth.group.<realm_name>.port Port number of the LDAP server.

Must be between 1 and 65535.

Optional1 389
auth.group.<realm_name>.searchdn DN of the user for searching. Required2 None
auth.group.<realm_name>.searchpw Password of the user for searching. Specify the same password that is registered in the LDAP server. Required None
auth.group.<realm_name>.basedn BaseDN when the search for users begins. When searching, specify the hierarchy DN, including all the users, because the targeted user for the search is in a lower hierarchy than the specified DN. Optional2 abbr
auth.group.<realm_name>.timeout Number of seconds before the connection to the LDAP server times out.

Must be between 1 and 30 seconds. When 0 is specified, the connection does not time out until a communication error occurs.

Optional1 10
auth.group.<realm_name>.retry.interval Retry interval in seconds when the connection to the LDAP server fails.

Must be between 1 and 5.

Optional1 1
auth.group.<realm_name>.retry.times Retry times when the connection to the LDAP server fails.

Must be between 0 and 3. 0 means no retry.

Optional1 3

Notes:

  1. If the specified value is not valid, the default value is used.
  2. To use symbols such as + ; , < = and >, type a backslash (\) before each symbol. When using multiple symbols, each symbol must have a backslash before it. For example, to enter abc++ in the basedn or searchdn field, type abc\+\+.

    To enter a backslash (\) , forward slash (/), or quotation mark ("), type a backslash followed by the ASCII code in hex:

    • To enter a backslash (\), type \5c.
    • To enter a forward slash (/), type \2f.
    • To enter a quotation mark ("), type \22.