HashiCorpは、動的インフラストラクチャのために設計されたオープンソースのIDベースアクセス管理サービスであるBoundaryのバージョン 0.2のリリースを発表した。このリリースには、OIDC認証方式のサポートが含まれている。macOSに対応したBoundary Desktopアプリケーションはバージョン1.0になった。
Boundaryは、VPCなどの安全な環境へのゲートウェイを提供するための従来のVPNまたはジャンプボックスベースアプローチの代替となるものを提供する。Boundaryは、安全な環境へのゲートウェイとして機能し、既存のIDPと統合してSSOを介した認証を可能にする。ユーザが認証されると、ポリシーを使用してサービスにロールベースの認可を提供する。
このリリースには、OpenID Connect (OIDC) 認証方式のサポートが含まれている。これにより、認証を外部IDプロバイダ (IDP) に移譲できる。Microsoft Azure Active Directory、Okta、Auth0、AWS IAMなどのサービスとの統合を含んでいる。このリリースでは、CLIによる構成がサポートされており、将来のリリースでは、BoundaryのTerraformプロバイダと管理者コンソールが統合される。
Boundary Desktopは、ユーザが利用できるサービスとアプリケーションのカタログを表示するための完全なユーザインターフェイスを提供する。サービスを選択すると、ユーザはデスクトップアプリケーションを介して直接接続できる。現在アクティブなセッションをこのインターフェイスで監視することもできる。このリリースでは、Boundary DesktopのmacOSバージョンが1.0に到達し、Windowsバージョンが将来のリリースで提供される予定だ。
Terraformを使用して、Boundaryを構成し、認可のためのポリシーを定義できる。たとえば、ネストされた組織スコープを持つグローバルスコープは、次のように作成できる:
resource "boundary_scope" "global" {
global_scope = true
scope_id = "global"
}
resource "boundary_scope" "org" {
name = "organization_one"
description = "Org Scope"
scope_id = boundary_scope.global.id
auto_create_admin_role = true
auto_create_default_role = true
}
スコープは、コンテナでモデル化されたアクセス許可の境界だ。グローバルスコープは常に最も外側のスコープであり、特異な存在だ。組織はグローバルスコープの下にネストでき、プロジェクトは組織の下にネストされる。ロールには、ロールに割り当てられたプリンシパルに付与された権限のセットが含まれている。たとえば、このスニペットは、上記で定義された組織スコープに関連付けられた読み取り専用グループのユーザの読み取り専用ロールを定義する:
resource "boundary_role" "organization_readonly" {
name = "Read-only"
description = "Read-only role"
principal_ids = [boundary_group.readonly.id]
grant_strings = ["id=*;type=*;actions=read"]
scope_id = boundary_scope.org.id
}
Boundaryのアーキテクチャはコントローラとワーカを使用する。コントローラはシステムにAPIを提供し、構成、認証、および認可の理解を担当する。これらはステートレスであり、高可用性のニーズをサポートするために必要に応じてスケールできる。ワーカは、セッションの記録とプロキシを担当する。タグを介して特定のワーカセットにトラフィックをターゲティングできるようになった。状態は、キー管理サービス (KMS) およびデータベースで保持される。状態には、IDとアクセスポリシーが含まれる。KMSは、Boundaryの信頼ルートおよび転送中の暗号化で機能する。
CyralのCEOであるManav Mital氏が、クラウド環境でのアクセス管理に関する最近の記事で述べているように、BoundaryやTeleport Unified Access Planeなどのツールはゼロトラストアーキテクチャで使用できる。従来のVPNまたはジャンプボックスの設定では、ユーザにネットワークアクセスが提供されるため、そのプライベートネットワーク内で実行されているサービスへのアクセスを制限することは困難だ。Boundaryを使用することで、ネットワーク全体ではなく、許可されたサービスのみへのアクセスを許可できる。
将来のリリースでは、Vaultおよびその他のシークレット管理ツールとの統合が提供され、一時的なセッションの資格情報が可能になる。Boundaryの初期リリースでは、ターゲットとアクセスポリシーを動的にプロビジョニングできるが、事前定義されたタグに基づいた動的なホストカタログを定義できるようになる予定だ。この機能は、Consul、Kubernetes、および主要なクラウドプロバイダとの統合をサポートする。
Boundaryは多くの環境にデプロイできる。Kubernetes、AWS、Azure、GCPやDockerなどだ。Boundaryはオープンソースであり、GitHubで入手できる。