注釈
LDAP 認証については「LDAP 認証の設定」を参照してください。
SAML、RADIUS および TACACS+ ユーザーは ‘Enterprise’ ユーザーとして分類されます。以下のルールがエンタープライズユーザーに適用されます。
Microsoft Azure Active Directory (AD) のエンタープライズ認証を設定するには、Azure (https://auth0.com/docs/connections/enterprise/azure-active-directory) から組織所有のアプリケーションを登録して、OAuth2 キーとシークレットを取得する必要があります。キーとシークレットはいずれも、一意のアプリケーションに所属して、異なる認証バックエンドで供給したり、再利用したりできません。アプリケーションを登録するには、Web ページの URL と合わせて指定する必要があります。この URL は、Tower の設定のユーザーインターフェース で表示されるコールバック URL です。
デフォルトでは、認証タブが最初に表示されます。
アプリケーションが登録されたら、Azure はアプリケーション ID とオブジェクト ID を表示します。
Azure AD でのアプリケーションの登録の基本については、https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-authentication-scenarios#basics-of-registering-an-application-in-azure-ad を参照してください。
注釈
SAML 認証は、エンタープライズレベルのライセンスをお持ちのお客様向けの機能です。
SAML を使用するると、ID プロバイダー(IdP - シングルサインオンサービスを提供するサーバーシステム) とサービスプロバイダー (今回の場合は Ansible Tower) の間で認証および承認データを交換することができます。
SAML 認証の設定方法:
デフォルトでは、認証タブが最初に表示されます。
SAML Service Provider Callback URL および SAML Service Provider Metadata URL フィールドには、事前にデータが入力されており、編集できません。
/api/v2/settings/system
の TOWER_BASE_URL
変数で確認できます。エンティティー ID は、個別の Tower クラスターノードの 1 つに設定可能ですが、サービスプロバイダーの URL に設定することが推奨されます。注釈
Tower Base URL は、クラスター内のノードごとに異なります。通常、ロードバランサーは 単一のエントリーのポイント (Tower クラスター FQDN) となるように多数の Tower クラスターノードの配置されます。SAML サービスプロバイダーは、送信接続を確立して、SAML Service Provider Entity ID で設定された Tower クラスターノードまたは Tower クラスター FQDN にルートします。
以下の例では、サービスプロバイダーは Tower クラスターであるため、ID は Tower クラスター FQDN に設定されています。
パブリック証明書の例:
-----BEGIN CERTIFICATE——
... cert text ...
-----END CERTIFICATE——
秘密鍵の例:
-----BEGIN PRIVATE KEY--
... key text ...
-----END PRIVATE KEY——
{
"en-US": {
"url": "http://www.example.com",
"displayname": "Example",
"name": "example"
}
以下に例を示します。
{
"givenName": "Some User",
"emailAddress": "[email protected]"
}
以下に例を示します。
{
"givenName": "Some User",
"emailAddress": "[email protected]"
}
以下に例を示します。
Username(urn:oid:0.9.2342.19200300.100.1.1)
Email(urn:oid:0.9.2342.19200300.100.1.3)
FirstName(urn:oid:2.5.4.42)
LastName(urn:oid:2.5.4.4)
これらの属性が不明な場合には、既存の SAML 属性に姓名、電子メール、ユーザー名をマッピングしてください。
IdP ごとに必要なキーを設定します。
attr_user_permanent_id
: ユーザーの一意識別名。IdP から送信された属性のいずれかに一致するように設定します。通常、SAML:nameid
属性、ユーザー名属性またはカスタムの一意識別名が Tower ノードに送信される場合はname_id
に設定します。entity_id
: ID プロバイダーの管理者が指定したエンティティー ID。管理者が Tower の SAML プロファイルを作成し、一意 URL が作成されます。url
: シングルサインオン (SSO) が有効な場合に Tower がユーザーをリダイレクトする SSO の URL。x509_cert
: ID プロバイダーで作成した SAML プロファイルをもとに生成された IdP 管理者が提供する証明書。--BEGIN CERTIFICATE--
および--END CERTIFICATE--
ヘッダーを削除してから、改行なしの文字列 1 つで証明書を入力します。SAML IdP は、複数サポートされています。一部の IdP はデフォルト OID とは異なる属性名を使用してユーザーデータを提供することがあります (https://github.com/omab/python-social-auth/blob/master/social/backends/saml.py)。SAML
NameID
は、ID プロバイダーが使用する特別な属性で、一意のユーザー識別子が何であるかをサービスプロバイダー (Tower クラスター) に渡します。これを使用する場合には、例にあるように、attr_user_permanent_id
はname_id
に設定してください。他の属性名は、以下に記載の IdP ごとに上書きされる可能性があります。
{
"myidp": {
"entity_id": "https://idp.example.com",
"url": "https://myidp.example.com/sso",
"x509cert": ""
},
"onelogin": {
"entity_id": "https://app.onelogin.com/saml/metadata/123456",
"url": "https://example.onelogin.com/trust/saml2/http-post/sso/123456",
"x509cert": "",
"attr_user_permanent_id": "name_id",
"attr_first_name": "User.FirstName",
"attr_last_name": "User.LastName",
"attr_username": "User.email",
"attr_email": "User.email"
}
}
注釈
IdP は、既知の SAML URN を使用してメール、姓名を提供します。IdP は、カスタムの SAML 属性を使用して、ユーザーを特定しますが、この属性は Tower では読み込みできない属性です。Tower は一意の識別名、つまり URN は理解します。以下の例にあるように、ユーザー属性の SAML の「Name」属性に記載の URL を使用します。
マッピングフィールドの入力に関する情報は、「組織およびチームマッピング」を参照してください。
完了したら 保存 をクリックします。
認証が正しく設定されていることを確認するには、SAML Service Provider Metadata URL にある、自動生成された URL をブラウザーで読み込みます。すると、XML の出力が表示されるはずです。表示されない場合には正しく設定されていません。
または、Ansible Tower をログアウトしてください。すると、Ansible Tower への別のログイン方法として、ログイン画面に SAML のロゴが表示されているはずです。
注釈
RADIUS アカウントの認証は、エンタープライズレベルのライセンスをお持ちのお客様向けの機能です。
Ansible Tower は、認証情報のソースとして、RADIUS を一元的に使用するように設定することができます。
デフォルトでは、認証タブが最初に表示されます。
注釈
TACACS+ アカウントの認証は、エンタープライズレベルのライセンスをお持ちのお客様向けの機能です。
Terminal Access Controller Access-Control System Plus (TACACS+) は、リモート認証と集中型のサーバーでネットワークアクセス制御を行うための関連のサービスを処理するプロトコルです。特に、TACACS+ は認証、Authentication (認証)、Authorization (許可)、Accounting (課金やユーザーのアクセス情報の収集) サービスを提供し、Ansible Tower が認証のソースとして使用されるように設定します。
デフォルトでは、認証タブが最初に表示されます。