このページの内容
SSOに関するよくある質問
MistのSSO実装、要件、プロビジョニングなどに関するよくあるご質問にお答えします。
Q:知っておくべきMistのSSO実装の基本は何ですか?
A:Mistは、製品の複数の部分でSAML2.0ベースのSSOを同じ実装でサポートしています。このドキュメントは管理者 SSO 向けに作成されていますが、ゲスト アクセス用の SSO と、必須属性を除き実装が同じである PPSK セルフ プロビジョニングもサポートしています。そのため、このドキュメントはMistのすべてのSSOに適用できます。
Mistのユーザーアカウントは、Mistへの認証方法に応じて、3つのタイプのアカウントのいずれかになります。ローカルアカウントとして、Mist、SSOアカウント、またはOAUTH2アカウントとして使用できます。アカウントは、これらのタイプの1つに限りることができます。そのため、SSOアカウントは、常にIdP経由でMistに対して認証されます(ユーザーがアカウントタイプを変更しない限り)。
IdPアサーションとレスポンスに必ず署名し、属性名の正しい大文字でアサーション内の正しい属性を返してください。
Q: MistがSSOアクセスでサポートしているIdPは何ですか?
A:Mistは、SAML2.0をサポートするすべてのIdPをサポートしています。
Q:MistはSPおよびIdP開始SSOをサポートしていますか?
A:はい、MistはSPとIdPの両方の開始SSOをサポートしています。ただし、SSOユーザーによるMistへの最初のログインは、IdPで開始されている必要があります。また、SPが開始するログインの場合、IdPに入力されたエンティティIDはACS URLと同じである必要があります。
Q: アサーションで送信する必要がある属性は何ですか?
A:MistがSAMLアサーションで期待する属性は次のとおりです。
大文字と小文字は重要です。
- 名前ID
- 役割
- 名
- 姓
NameIDは必須です。API経由で設定する場合を除き、ロールdefault_roleが必要です。FirstName と LastName が推奨されます。ユーザーの姓名として指定します。
Q: どの NameID 形式をサポートしていますか?
A: NameID はユーザーの一意の識別子として使用されます。電子メールと不特定をサポートします。ほとんどの人はメールを使用しますが、Mist SSOの設定で指定されていない設定をすれば、実際には何でも送信できます。未指定を使用する場合は、一意で一貫性がある限り、ほとんど何でも送信できます。Mist内で未指定のユーザーに対して一意のIDが生成されていることがわかります。
Q: 役割は何に使用されますか?
A: ロールは、ユーザーに付与される権限を導き出すために使用されます。アサーションで返されるロールは、組織設定ページのMist SSOロール設定にあるロールと一致します。ユーザー権限は、SSOログインごとに動的に生成されることに注意してください。
Q: ユーザーの複数のロールを返すことはできますか?
A: はい、複数のロールが返され一致した場合、アクセス許可のスーパーセットが取得されます。デフォルトでは、すべてのロールが一致している必要があり、一致しないとユーザーアクセスが拒否されます。ロールの部分的な一致を可能にするには、APIオプションignore_unmatched_rolesがあります。または、ロールが一致しない場合default_role APIオプションもあります。
アサーションでは、さまざまな形式で複数のロールを受け入れます。複数のロールは、カンマ区切り、複数のAttributeValueペア、またはCN解析で送信できます。以下にいくつかの例を示します。
カンマ区切りの「ロール」属性
<Attribute Name="Role">
<AttributeValue>"Employee,Mist,Developer"</AttributeValue>
</Attribute>
# ロールの解析済みリスト
['Employee', 'Mist', 'Developer']
複数の「ロール」属性値ペア
<Attribute Name="Role">
<AttributeValue>"Employee"</AttributeValue>
<AttributeValue>"Mist"</AttributeValue>
<AttributeValue>"Developer"</AttributeValue>
</Attribute>
# ロールの解析済みリスト
['Employee', 'Mist', 'Developer']
カンマ区切りの複数のAVペアの組み合わせ
<Attribute Name="Role">
<AttributeValue>"Employee,Mist"</AttributeValue>
<AttributeValue>"Developer"</AttributeValue>
</Attribute>
# ロールの解析済みリスト
['Employee,Mist', 'Developer']
CN抽出の例 – "role_attr_extraction": "CN"、
<saml2:Attribute ="Role">
<saml2:AttributeValue>CN=Employee,OU=groups,OU=ou1,OU=ou2</saml2:AttributeValue>
<saml2:AttributeValue>CN=Mist,OU=groups,OU=ou1,OU=ou2</saml2:AttributeValue>
<saml2:AttributeValue>CN=Developer,OU=ou1,OU=ou2</saml2:AttributeValue>
</saml2:Attribute>
# ロールの解析済みリスト
['Employee’, ‘Mist', 'Developer']
Q: SSO エラーのトラブルシューティングを行うにはどうすればよいですか?
A: {api_エンドポイント}/api/v1/orgs/:{org_id}/ssos/:{sso_id}/failures の API 呼び出しを発行することで、失敗を表示できます。
失敗の理由と受け取ったアサーションが表示されます。
API 呼び出しを発行するには、斜体の括弧で囲まれた用語を実際の値に置き換える必要があります。
-
{api_エンドポイント}
組織のAPIエンドポイントURLが不明な場合は、ジュニパーMistポータルURLから取得できます。ポータルURLは manageで始まります。対応するAPIエンドポイントURLは、 管理 を APIに置き換えます。以下の例の太字に注目してください。
ポータルURL
manage.ac2.mist.com/admin/?org_id=xxxxxxx-xxxx-xxx
対応するAPIエンドポイントURL
api.ac2.mist.com/admin/?org_id=xxxxxxx-xxxx-xxx
-
{org_id}
組織IDは、ジュニパーMistポータルURLでも確認できます。ID は文字 org_id= の後に表示されます。次の例の太字に注目してください。
ポータルURLの組織ID
manage.ac2.mist.com/admin/?org_id=12345678-1a2b-3456cdef-xyz123
- {sso_id}
SSO ID を見つけるには、次の API 呼び出しを発行します: {api_エンドポイント}/api/v1/orgs/:{org_id}/ssos
ID フィールドで SSO ID を見つけます。
Q:Mist内でSSOユーザーを手動でプロビジョニングする必要がありますか?
A: いいえ、そうではありません。SSOユーザーのアクセスは、IdPによってオンデマンドで付与されます。つまり、SSOユーザーはMistではなくIdPによって認証されます。Mistダッシュボードへのアクセスレベルは、Mistで定義されたロールに一致するアサーションで返されるロール属性によって制御されます。
Q:SSOユーザーの初回ログインプロセスはどのようなものですか?
初回ログイン時に、SSOユーザーにMist組織のSSO URLを指定します。この手順は、アカウントをSSOアカウントとして確立するための初回ログインにのみ必要です。その後、SSO URL を使用するか、ジュニパー Mist ポータル (manage.mist.com) に直接アクセスできます。SSOを使用したユーザー設定の詳細については、「 IDプロバイダとユーザーの追加」を参照してください。
Q: どの SSO ユーザーが組織にアクセスしたかを知るにはどうすればよいですか?
A: 組織タブの監査ログを確認します。次のようなログが表示されます。Austin Powers austin@groovy.com ロール「Groove-Master」でログイン
Q:Mistにはメタデータファイルがありますか?
A: はい、/api/v1/orgs/:org_id/ssos/:sso_id/metadata または /metadata.xml にあります。
例えば:
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="https://saml-x6qlonl8.mist.com" validUntil="2032-03-29T00:44:08.503310+00:00"> <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://api.mist.com/api/v1/saml/x6qlonl8/logout"/> <md:NameIDFormat> urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified </md:NameIDFormat> <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://api.mist.com/api/v1/saml/x6qlonl8/login" index="0" isDefault="true"/> <md:AttributeConsumingService index="0"> <md:ServiceName xml:lang="en-US">Mist</md:ServiceName> <md:RequestedAttribute Name="Role" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/> <md:RequestedAttribute Name="FirstName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="false"/> <md:RequestedAttribute Name="LastName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="false"/> </md:AttributeConsumingService> </md:SPSSODescriptor> </md:EntityDescriptor>
Q: 組織に複数のSSOが必要です。Mistはそれをサポートしていますか?
A: はい、もちろんです。組織内の複数のSSOがサポートされています。組織は複数のSSOを持つことができ、ユーザーは複数の組織に対して権限を持つことができますが、MistのSSOユーザーは1つのSSOにのみ「所属」できるSSOであることに注意してください。これは通常、「開発」と「本番」の SSO があり、両方に同じメールを使用する場合に最も関連性があります。
Q: 複数の組織がありますが、複数の組織で SSO を使用できますか?
A: はい、これも可能です。2つの方法で処理できます。まず、SSOがある「ホーム」組織があります。その後、手動でユーザーを 2 番目の組織に招待できます。ログインすると、両方の組織がリストに表示されます。2つ目の方法は、MSP機能(アクセス制御機能)を使用することです。SSO を MSP レベルに配置し、返されたロールに基づいて、ユーザーは MSP または MSP 内の特定の組織のみにアクセスできます。
Q:Mist内でSSOを削除するとどうなりますか?
A: SSOを削除すると、そのSSOに関連付けられているMist内のすべてのユーザーアカウントが自動的に削除されます。これは、「dev」から「production」など、あるSSOから別のに移行する場合に特に役立ちます。
Q: APIトークンはSSOユーザーに対してどのように機能しますか?
A: SSOユーザーは組織APIトークンを使用できます。スーパーユーザーは、必要な権限で組織APIを作成できます。SSOユーザーは、「ユーザーベース」APIトークンをサポートしていません。または、お客様の好みに応じてローカルサービスアカウントを使用することもできます。
Q:Mist内にローカルユーザーが必要ですか?
A:SSOの使用を開始すると、Mistで以前に作成されたローカルユーザーアカウントを削除できます(1つを除く)。SSO に問題が発生した場合に組織からロックアウトされないように、スーパーユーザーロールを持つローカルユーザーを維持することをお勧めします。1 つのメールアドレスを SSO とローカル アカウントの両方に使用することはできないため、ローカル アカウントは SSO で使用するメールアドレスとは異なるメールアドレスで設定する必要があります。例えば、ローカルアカウントには個人のメールアドレスを使用し、SSOアカウントには仕事用のメールアドレスを使用します。SSOユーザーを設定する手順の詳細については、「 IDプロバイダとユーザーの追加」を参照してください。
Q: SSOの設定時に証明書の不一致エラーが表示されるのはなぜですか?
証明書の不一致エラーは通常、Mistで設定されたIDプロバイダ(IdP)証明書が、IDPがSAMLアサーションに署名するために使用する証明書と一致しない場合に発生し、認証に失敗します。このエラーは通常、証明書情報の欠落、期限切れの証明書、誤った証明書、またはIdP内の複数の証明書が原因で発生します。この問題を解決するには:
- IdPから正しい証明書をダウンロードし、ヘッダーとフッターを含む全文が含まれていることを確認します。
- 証明書が有効であることを確認します。証明書の有効期限が切れている場合は、IdPポータルで新しい証明書を生成し、Mistポータルで詳細を更新します。
-
IdPが新しい証明書を発行したかどうかを確認し、Mistポータルで最新の証明書情報を更新します。
さらに、Mistで少なくとも1つのローカル管理者アカウントを維持することが重要です。これにより、証明書関連の問題が原因で SSO が失敗した場合に、代替アクセスが確保されます。
Q: IdPを介して認証するときにローカルアカウントがSSOアカウントに変換されないのはなぜですか?
シングルサインオン(SSO)を設定し、ユーザーがIDプロバイダー(IdP)を介してログインすると、MistはユーザーのアカウントをローカルアカウントからSSOアカウントに自動的に変換します。ただし、この変換は、次の場合には行われません。
-
IdPアサーションの電子メールアドレスが、Mistのユーザーアカウントの電子メールアドレスと完全に一致しません。
-
IdPは、ユーザーを識別するために正しい属性(名前、ID、電子メールアドレスなど)をMistに送信しません。
-
同じメールアドレスが、別の組織のSSOアカウントに関連付けられています。
-
ローカルユーザーには、SSOロールに正しくマップされないロールがあります。