Oracle Identity Cloud Serviceのフェデレート
このトピックでは、テナンシをアクティブ化するタイミングに応じて、Oracle Cloud InfrastructureをOracle Identity Cloud Serviceとフェデレートするための適切なトピックを示します。
2018年12月21日およびそれ以降に作成されたテナンシ
これらのテナンシは、Oracle Identity Cloud Serviceに自動的にフェデレートされ、Oracle Cloud Infrastructureでフェデレーテッド・ユーザーをプロビジョニングするように構成されています。
フェデレーテッド・ユーザーおよびグループを管理するには、Oracle Cloud InfrastructureコンソールでのOracle Identity Cloud Serviceユーザーおよびグループの管理を参照してください。
フェデレーションの詳細は、Oracle Identity Cloud Serviceフェデレーテッド・ユーザーの詳細を参照してください。
2017年12月18日から2018年12月20日の間に作成されたテナンシ
これらのテナンシは、Oracle Identity Cloud Serviceと自動的にフェデレートされますが、ユーザーが追加の資格証明(APIキー、認証トークンなど)を使用できるようにOracle Cloud Infrastructureでフェデレート・ユーザーをプロビジョニングするように構成されていません。
ユーザーに対してこの機能を有効にするには、1回かぎりのアップグレードを実行する必要があります。フェデレーテッド・ユーザーのユーザー・プロビジョニングを参照してください。
このアップグレードを実行した後は、Oracle Cloud InfrastructureコンソールでのOracle Identity Cloud Serviceユーザーおよびグループの管理を参照して、フェデレーテッド・ユーザーおよびグループを管理します。
2017年12月18日より前に作成されたテナンシ
これらのテナンシは、Oracle Identity Cloud Serviceを手動でフェデレートする必要があります。後述のOracle Identity Cloud Serviceのフェデレートを参照してください。
Oracle Identity Cloud Serviceの手動のフェデレート
組織は複数のOracle Identity Cloud Serviceアカウントを持つことができます(組織の部門ごとに1つなど)。複数のIdentity Cloud ServiceアカウントをOracle Cloud Infrastructureとフェデレートできますが、設定した各フェデレーション・トラストは、「単一のIdentity Cloud Service」アカウント用である必要があります。
理解すべき手動フェデレーションのコンポーネント
Webアプリケーションおよびクライアント資格証明
信頼ごとに、Oracle Identity Cloud Service (信頼できるアプリケーションとも呼ばれる)でWebアプリケーションを設定する必要があります。手順は、Oracle Identity Cloud Serviceのフェデレートの手順を参照してください。結果のアプリケーションには、クライアント資格証明(クライアントIDおよびクライアント・シークレット)のセットがあります。Identity Cloud ServiceアカウントをOracle Cloud Infrastructureとフェデレートする場合、これらの資格証明を提供する必要があります。
COMPUTEBAREMETALアプリケーション
Identity Cloud ServiceアカウントをOracle Cloud Infrastructureとフェデレートするときに提供する必要があるクライアント資格証明のセット(クライアントIDとクライアント・シークレット)を含むOracleIdentity Cloud Service内の信頼できるアプリケーション。
必須URL
Oracle Identity Cloud Serviceとのフェデレートの最も簡単な方法は、Oracle Cloud Infrastructure Consoleを使用することです。ただし、APIを使用してプログラム的に行うことは可能です。コンソールを使用している場合は、メタデータURLのかわりにベースURLを指定するよう求められます。ベースURLは、Identity Cloud Serviceコンソールにサインインしている際の、ブラウザ・ウィンドウ内のURLの左端にあります。
- ベースURL: <Identity Cloud Service account name>.identity.oraclecloud.com
APIを使用してフェデレートしている場合は、メタデータURLを指定する必要があります。これは、次のように、/fed/v1/metadataが追加されたベースURLです。
- メタデータURL: <Identity Cloud Service account name> .identity .oraclecloud .com /fed/v1/metadata
メタデータURLは、フェデレートに必要なIdP提供のXMLに直接リンクしています。APIを使用している場合、フェデレート時にメタデータURLとメタデータ自体の両方を提供する必要があります。詳細は、APIでのアイデンティティ・プロバイダの管理を参照してください。
OCI-V2-<tenancy_name>アプリケーション
Oracle Identity Cloud ServiceアカウントをOracle Cloud Infrastructureと手動でフェデレートするとOCI-V2-<tenancy_name>という新しいSAMLアプリケーションがOracle Identity Cloud Serviceアカウントに自動的に作成されます。後でOracle Identity Cloud Serviceアイデンティティ・プロバイダをOracle Cloud Infrastructureテナンシから削除する必要がある場合は、Oracle Identity Cloud ServiceからOCI-V2-<tenancy_name>も削除してください。そうしないと、後で同じOracle Identity Cloud Serviceアカウントを再度フェデレートしようとすると、同じ名前のアプリケーション(つまり、OCI-V2-<tenancy_name>)がすでに存在することを示すエラー409が表示されます。
プロビジョニングされたユーザー
プロビジョニングされたユーザーは、Oracle Cloud InfrastructureでOracle Identity Cloud Serviceによってプロビジョニングされ、Oracle Identity Cloud Serviceで管理されるフェデレーテッド・ユーザーに同期されます。プロビジョニングされたユーザーは、プログラムでアクセスを有効にするAPIキーや認証トークンなどの特別なOracle Cloud Infrastructure資格証明を持つことができます。プロビジョニングされたユーザーはコンソール・パスワードを保有できません。
Oracle Identity Cloud Serviceのフェデレートの手順
次に、管理者がアイデンティティ・プロバイダを設定するために行う一般的なプロセスと各ステップに関する指示を示します。管理者は必要な資格証明とアクセス権を持つOracle Cloud Infrastructureユーザーであると想定されています。
-
Oracle Identity Cloud Serviceにサインインします。必要に応じて、次のいずれかを実行します:
オプションA: COMPUTEBAREMETALアプリケーションから、Oracle Cloud Infrastructureで設定ステップを実行するために必要な情報を取得します。
オプションB: Oracle Identity Cloud ServiceにCOMPUTEBAREMETALアプリケーションが含まれていない場合は、信頼できるアプリケーションを設定します。
-
Oracle Cloud Infrastructureで、フェデレーションを設定します。
- Oracle Identity Cloud Serviceをアイデンティティ・プロバイダとして設定します。
- Oracle Identity Cloud ServiceグループをIAMグループにマップします。
- Oracle Cloud Infrastructureで、IAMグループに対してIAMポリシーを設定して、マップされたグループのメンバーに許可するアクセスを定義します。
- Oracle Cloud Infrastructureテナントの名前およびコンソールのURL (https://cloud.oracle.com)をユーザーに通知します。
- Oracle Identity Cloud Serviceコンソールに移動し、管理者権限でサインインします。管理コンソールが表示されていることを確認します。
-
「Identity Cloud Service」コンソールで、「アプリケーション」を選択します。信頼できるアプリケーションのリストが表示されます。
- 「COMPUTEBAREMETAL」を選択します。インスタンスにCOMPUTEBAREMETALアプリケーションが含まれていない場合は、かわりにステップ1のオプションBを実行します。
- 「構成」を選択します。
-
「一般情報」を開きます。クライアントIDが表示されます。「シークレットの表示」を選択して、クライアント・シークレットを表示します。
-
クライアントIDおよびクライアント・シークレットを記録します。次のように表示されます。
- クライアントID: de06b81cb45a45a8acdcde923402a9389d8
- クライアント・シークレット: 8a297afd-66df-49ee-c67d-39fcdf3d1c31
このステップは、ステップ1のオプションAを完了できなかった場合にのみ実行してください。
サマリー: Oracle Identity Cloud Serviceの場合、次の手順に示す特定のプロパティを使用して、機密アプリケーション(信頼できるアプリケーションとも呼ばれる)を作成する必要があります。Oracle Identity Cloud Serviceの一般的なドキュメントは、機密アプリケーションの追加を参照してください。
Oracle Identity Cloud Serviceの手順:
- Oracle Identity Cloud Serviceコンソールに移動し、アプリケーションの作成権限を使用してサインインします。管理コンソールが表示されていることを確認します。
-
機密(信頼できる)アプリケーションを追加すると、Oracle Cloud InfrastructureとOracle Identity Cloud Service間のプログラムによる安全な相互作用が有効になります。アプリケーションの設定時に、これらのアイテムを指定します:
-
先頭ページ:
- アプリケーションに名前を入力します(例: Oracle Cloud Infrastructureフェデレーション)。
- 他のフィールドは空のままにするか、選択解除します。
-
次のページ:
- 「このアプリケーションをクライアントとして今すぐ構成します」を選択します。
- 「許可される権限付与タイプ」で、「クライアント資格証明」のチェック・ボックスを選択します。
- 他のフィールドは空白のままにします。
-
ページ下部:
- Identity Cloud Service管理APIへのクライアント・アクセス権を付与するチェック・ボックスを選択します。
- ロールのリストから「Identity Domain Administrator」を選択します。
- 次のページで、フィールドを空のままにするか選択解除するかして、「終了」を選択するまで続行します。
-
表示されたクライアント資格証明を、後でフェデレート時にOracle Cloud Infrastructureに渡せるようにコピーおよび貼り付けます。アプリケーションのクライアント資格証明は、Oracle Identity Cloud Serviceコンソールでいつでも表示できます。次のように表示されます。
- クライアントID: de06b81cb45a45a8acdcde923402a9389d8
- クライアント・シークレット: 8a297afd-66df-49ee-c67d-39fcdf3d1c31
-
- 「Oracle Identity Cloud ServiceベースURL」は、フェデレート時に必要になるので記録しておきます。
- アプリケーションをアクティブ化します。
- コンソールに移動し、Oracle Cloud Infrastructureのログインとパスワードを使用してサインインます。
- ナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」を選択します。「アイデンティティ」で、「フェデレーション」を選択します。
- 「アイデンティティ・プロバイダの追加」を選択します。
-
次を入力します:
- 名前:このフェデレーション・トラストの一意の名前。これは、コンソールへのサインイン時に使用するアイデンティティ・プロバイダ(たとえば、フェデレーテッド・ユーザーの経験のスクリーンショットに示されているABCCorp_IDCSなど)を選択するときに、フェデレーテッド・ユーザーに対して表示される名前です名前は、テナンシに追加するすべてのアイデンティティ・プロバイダで一意である必要があります。これは後で変更できません。
- 説明: わかりやすい説明。
- IDCSベースURL: 必須URLを参照してください。
- クライアントID: ステップ1のオプションAまたはオプションBから。
- クライアント・シークレット: ステップ1のオプションAまたはオプションBから。
- アサーション の暗号化:チェック・ボックスを選択すると、IAMサービスはIdPからの暗号化を認識します。このチェックボックスを選択する場合は、IDCSでのアサーションの暗号化も設定する必要があります。詳細は、一般的な概念を参照してください。IDCSでのこの機能の設定の詳細は、Oracle Identity Cloud Serviceのアプリケーションの管理を参照してください。
- 強制認証:デフォルトで選択されています。選択すると、ユーザーは、別のセッションにすでにサインインしている場合でも、IdPに資格証明を提供(再認証)する必要があります。
-
認証コンテキストのクラス参照:このフィールドは、Government Cloudの顧客に必須です。1つ以上の値が指定されている場合、Oracle Cloud Infrastructure (リライイング・パーティ)は、ユーザーの認可時に、指定された認証メカニズムの1つを使用することをアイデンティティ・プロバイダに期待します。IdPから戻されたSAMLレスポンスには、その認証コンテキストのクラス参照とともに認証ステートメントが含まれている必要があります。SAMLレスポンス認証コンテキストがここで指定された内容と一致しない場合、Oracle Cloud Infrastructure認証サービスは400でSAMLレスポンスを否認します。メニューには、一般的な認証コンテキストのクラス参照がいくつかリストされています。別のコンテキスト・クラスを使用する場合は、「カスタム」を選択してから、クラス参照を手動で入力します。
- リソースを作成するアクセス許可がある場合、そのリソースにフリーフォーム・タグを適用するアクセス許可もあります。定義済タグを適用するには、タグネームスペースを使用する権限を持つ必要があります。タグ付けの詳細は、リソース・タグを参照してください。 タグを適用するかどうかわからない場合は、このオプションをスキップするか、管理者に問い合せてください。後でタグを適用できます。
- 「続行」を選択します。
-
Oracle Cloud Infrastructureで、Oracle Identity Cloud ServiceグループとIAMグループ間のマッピングを設定します。特定のOracle Identity Cloud Serviceグループを0、1または複数のIAMグループにマップすることも、その逆も可能です。ただし、個々のマッピングは、1つのOracle Identity Cloud Serviceグループと1つのIAMグループの間のみ存在します。グループ・マッピングへの変更は、通常は数秒以内に有効になります。
ノート
グループ・マッピングを今設定しない場合は、単に「作成」を選択して、マッピングを後で追加しなおすことができます。
グループ・マッピングを作成するには:
- 「アイデンティティ・プロバイダ・グループ」の下のリストからOracle Identity Cloud Serviceグループを選択します。
-
「OCIグループ」の下のリストから、このグループにマップするIAMグループを選択します。
ヒント
IAMグループ名の要件: 空白なし。許可されている文字:英字、数字、ハイフン、ピリオド、アンダースコアおよびプラス記号(+)。名前は後で変更できません。 - 作成するマッピングごとに前述のサブステップを繰り返し、「作成」を選択します。
フェデレーションの設定後
これで、アイデンティティ・プロバイダがテナンシに追加され、「フェデレーション」ページのリストに表示されます。アイデンティティ・プロバイダを選択して、設定したばかりの詳細とグループ・マッピングを表示します。
Oracleはアイデンティティ・プロバイダを割り当て、各グループ・マッピングにOracle Cloud ID (OCID)と呼ばれる一意のIDを割り当てます。詳細は、リソース識別子を参照してください。
今後、グループ・マッピングを編集したり、テナンシからアイデンティティ・プロバイダを削除する場合は、「フェデレーション」ページに移動します。
Oracle Cloud InfrastructureグループにマップされたOracle Identity Cloud Serviceグループのメンバーであるユーザーは、「ユーザー」ページのコンソールにリストされます。これらのユーザーに追加の資格証明を割り当てる方法の詳細は、フェデレーテッド・ユーザーのユーザー機能の管理を参照してください。
フェデレーテッド・ユーザーに、Oracle Cloud Infrastructure ConsoleのURL、https://cloud.oracle.comおよびテナントの名前が必要です。コンソールにサインインすると、テナント名の入力を求めるプロンプトが表示されます。
コンソールでのアイデンティティ・プロバイダの管理
グループのすべてのマッピングも削除されます。
-
テナンシからアイデンティティ・プロバイダを削除します。
- ナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」を選択します。「アイデンティティ」で、「フェデレーション」を選択します。
テナンシのアイデンティティ・プロバイダのリストが表示されます。
- アイデンティティ・プロバイダを選択して、詳細を表示します。
- 「削除」を選択します。
- プロンプトが表示されたら確認します。
- ナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」を選択します。「アイデンティティ」で、「フェデレーション」を選択します。
- Oracle Identity Cloud ServiceアカウントからOCI-V2-<tenancy_name>を削除します。
- Oracle Identity Cloud Serviceに移動し、フェデレーテッド・アカウントにサインインします。
- 「アプリケーション」を選択します。アプリケーションのリストが表示されます。
OCI-V2-<tenancy_name>を見つけてその名前をクリックすると、詳細ページが表示されます。
- ページの右上で、「非アクティブ化」を選択します。プロンプトが表示されたら確認します。
- 「削除」を選択しますプロンプトが表示されたら確認します。
-
ナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」を選択します。「アイデンティティ」で、「フェデレーション」を選択します。
テナンシのアイデンティティ・プロバイダのリストが表示されます。
- Oracle Identity Cloud Serviceフェデレーションに選択した名前を選択して、その詳細を表示します。
-
「マッピングの追加」を選択します。
- 「アイデンティティ・プロバイダ・グループ」の下のリストからOracle Identity Cloud Serviceグループを選択します。
-
「OCIグループ」の下のリストから、このグループにマップするIAMグループを選択します。
- さらにマッピングを追加するには、+Another「マッピング」を選択します。
- 終了したら、「マッピングの追加」を選択します。
変更は、通常ホーム・リージョン内で数秒以内に有効になります。変更がすべてのリージョンに伝播されるまで数分間待機します。
Oracle Cloud InfrastructureグループにマップされたOracle Identity Cloud Serviceグループのメンバーであるユーザーは、「ユーザー」ページのコンソールにリストされます。これらのユーザーに追加の資格証明を割り当てる方法の詳細は、フェデレーテッド・ユーザーのユーザー機能の管理を参照してください。
グループ・マッピングは更新できませんが、マッピングを削除してから新規のものを追加することはできます。
-
ナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」を選択します。「アイデンティティ」で、「フェデレーション」を選択します。
テナンシのアイデンティティ・プロバイダのリストが表示されます。
- アイデンティティ・プロバイダを選択して、詳細を表示します。
- 削除するマッピングを選択し、「削除」を選択します。
- プロンプトが表示されたら確認します。
- 必要に応じて新しいマッピングを追加します。
変更は、通常ホーム・リージョン内で数秒以内に有効になります。変更がすべてのリージョンに伝播されるまで数分間待機します。
このアクションの結果、フェデレーテッド・ユーザーがOracle Cloud Infrastructureにマップされているグループにメンバーシップを持たなくなった場合、フェデレーテッド・ユーザーのプロビジョニング済ユーザーもOracle Cloud Infrastructureから削除されます。通常、このプロセスには数分かかります。
APIでのアイデンティティ・プロバイダの管理
APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明に関する項を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。
次のAPI操作を使用します。
アイデンティティ・プロバイダ:- CreateIdentityProvider
- ListIdentityProviders
- GetIdentityProvider
- UpdateIdentityProvider
- DeleteIdentityProvider:この操作を使用する前に、DeleteIdpGroupMappingを使用して、アイデンティティ・プロバイダのすべてのグループ・マッピングを削除する必要があります。
- CreateIdpGroupMapping:各グループ・マッピングは、独自のOCIDを持つ個別のエンティティです。
- ListIdpGroupMappings
- GetIdpGroupMapping
- UpdateIdpGroupMapping
- DeleteIdpGroupMapping
