Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

デバイス登録の権限

最終更新 Markdown で表示Agent セットアップ

デバイス登録の権限は、どのユーザーが組織の Cloudflare Zero Trust インスタンスに新しいデバイスを接続できるかを決めます。

デバイス登録の権限を設定する

  1. Cloudflare ダッシュボード で、Zero Trust > Team & Resources > Devices > Device profiles > Management を開きます。

  2. Device enrollment > Device enrollment permissionsManage を選択します。

  3. Policies タブで、デバイスを参加できるユーザーを定義する Access ポリシー を 1 つ以上設定します。たとえば、会社のメールアドレスを持つすべてのユーザーを許可できます。

    ルールタイプ セレクター
    Include Emails ending in @company.com
  1. Login methods タブで:

    a. ユーザーが認証に使える アイデンティティプロバイダー を選びます。アイデンティティプロバイダーを統合していない場合は、ワンタイム PIN を使えます。

    b. (任意)単一の IdP だけでアクセスを許可する場合は、Apply instant authentication をオンにします。エンドユーザーには Cloudflare Access のログインページは表示されません。代わりに、Cloudflare が SSO ログインへ直接リダイレクトします。

  2. Save を選択します。

  1. cloudflare_api_token に次の権限を追加します。

    • Access: Apps and Policies Write
  2. cloudflare_zero_trust_access_policy リソースで、再利用可能な Access ポリシーを作成します。

    resource "cloudflare_zero_trust_access_policy" "allow_company_emails" {
    	account_id   = var.cloudflare_account_id
    	name         = "Allow company emails"
    	decision     = "allow"
    	include      = [
    		{
    			email_domain = {
    				domain = "@example.com"
    			}
    		}
    	]
    }
  3. cloudflare_zero_trust_access_application リソースを使い、タイプ warp のアプリケーションを作成します。

    resource "cloudflare_zero_trust_access_application" "device_enrollment" {
    	account_id       = var.cloudflare_account_id
    	type             = "warp"
    	name             = "Warp device enrollment"
    	allowed_idps              = [cloudflare_zero_trust_access_identity_provider.microsoft_entra_id.id]
    	auto_redirect_to_identity = true
    	app_launcher_visible      = false
    	policies = [
    		{
    			id = cloudflare_zero_trust_access_policy.allow_company_emails.id
    			precedence = 1
    		}
    	]
    }

ユーザーは、アイデンティティプロバイダーにログインして デバイスを登録 できます。登録後にユーザーが組織からログアウトできないようにするには、デバイスクライアント設定の 組織からの離脱を許可する を無効にします。

ポリシーの例

サービストークンを確認する

ユーザーに資格情報での認証を求めず、サービストークン で、ユーザー操作なしにデバイスを登録できます。アイデンティティプロバイダーへのログインが不要なため、これらのデバイスにはアイデンティティベースのポリシーを適用できません。

サービストークンでデバイスを登録するには:

  1. サービストークンを作成 します。

  2. トークンの Client IDClient Secret をコピーします。

  3. Access controls > Policies を開き、次のポリシーを作成します。

    ルールアクション ルールタイプ セレクター
    Service Auth Include Service Token <TOKEN-NAME>

    ActionAllow ではなく Service Auth にしてください。

  4. Access ポリシーを デバイス登録の権限 に追加します。

  5. MDM の デプロイパラメーター に、次のフィールドを追加します。

    • auth_client_id: サービストークンの Client ID
    • auth_client_secret: サービストークンの Client Secret
  1. cloudflare_api_token に次の権限を追加します。

    • Access: Apps and Policies Write
    • Access: Service Tokens Write
  2. サービストークンを作成 し、Client IDClient Secret をコピーします。

  3. 次の Access ポリシーを作成します。

    resource "cloudflare_zero_trust_access_policy" "warp_enrollment_service_token" {
    	account_id     = var.cloudflare_account_id
    	name           = "Allow service token"
    	decision       = "non_identity"
    	include = [
    		{
    			service_token = {
    				token_id = cloudflare_zero_trust_access_service_token.example_service_token.id
    			}
    		}
    	]
    }
  4. ポリシーを Cloudflare One Client 向けの cloudflared_zero_trust_access_application に追加します。

  5. MDM の デプロイパラメーター に、次のフィールドを追加します。

    • auth_client_id: サービストークンの Client ID
    • auth_client_secret: サービストークンの Client Secret

MDM プロバイダーで Cloudflare One Client をデプロイすると、Cloudflare One Client はデバイスを Zero Trust 組織へ自動で接続します。

登録済みデバイスは、Team & Resources > Devices で確認できます。サービストークン(またはほかの Service Auth ポリシー)で登録したデバイスは、Email フィールドが non_identity@<team-name>.cloudflareaccess.com と表示されます。

mTLS 証明書を確認する

Enterprise のお客様は、デバイス登録時に 相互 TLS 認証 を強制できます。

証明書の要件

  • CA 証明書は、公開信頼されている CA のもの、または自己署名のものを使用できます。

  • 証明書の Basic Constraints では、属性 CATRUE に設定する必要があります。

  • 証明書は、次のいずれかの署名アルゴリズムを使用する必要があります。

    使用できる署名アルゴリズム

    x509.SHA1WithRSA

    x509.SHA256WithRSA

    x509.SHA384WithRSA

    x509.SHA512WithRSA

    x509.ECDSAWithSHA1

    x509.ECDSAWithSHA256

    x509.ECDSAWithSHA384

    x509.ECDSAWithSHA512

mTLS 証明書を確認するには:

  1. Cloudflare ダッシュボードZero Trust > Access controls > Service credentials > Mutual TLS を開きます。

  2. Add mTLS Certificate を選択します。

  3. ルート CA の名前を任意で入力します。

  4. Certificate content にルート CA の内容を貼り付けます。

    クライアント証明書がルート CA で直接署名されている場合は、ルートだけをアップロードします。クライアント証明書が中間証明書で署名されている場合は、CA チェーン全体(中間とルート)をアップロードする必要があります。例:

    -----BEGIN CERTIFICATE-----
    <intermediate.pem>
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    <rootCA.pem>
    -----END CERTIFICATE-----
  5. Associated hostnames に、Zero Trust の チームドメイン を入力します: <team-name>.cloudflareaccess.com

  6. デバイス登録の権限 に、Common Name または Valid Certificate のルールを追加します。たとえば、次のポリシーは特定のコモンネームを持つクライアント証明書を要求します。

    アクション ルールタイプ セレクター
    Allow Require Common Name <CERT-COMMON-NAME>
  7. デバイスで、クライアント証明書を システムキーチェーン に追加します。

  1. cloudflare_api_token に次の権限を追加します。

    • Access: Mutual TLS Certificates Write
    • Access: Apps and Policies Write
  2. cloudflare_zero_trust_access_mtls_certificate リソースを使い、アカウントに mTLS 証明書を追加します。

    resource "cloudflare_zero_trust_access_mtls_certificate" "example_mtls_cert" {
    	account_id     = var.cloudflare_account_id
    	name           = "WARP enrollment mTLS cert"
    	certificate    = <<EOT
    	-----BEGIN CERTIFICATE-----
    	xxxx
    	xxxx
    	-----END CERTIFICATE-----
    	EOT
    	associated_hostnames = ["your-team-name.cloudflareaccess.com"]
    }
  3. 次の Access ポリシーを作成します。

    resource "cloudflare_zero_trust_access_policy" "warp_enrollment_mtls" {
    	account_id     = var.cloudflare_account_id
    	name           = "Allow employees with mTLS cert"
    	decision       = "allow"
    	include = [
    		{
    			email_domain = {
    				domain = "@example.com"
    			}
    		}
    	]
    
    	require = [
    		{
    			common_name = {
    				common_name = "Common name 1"
    			}
    		},
    				{
    			common_name = {
    				common_name = "Common name 2"
    			}
    		}
    	]
    }
  4. このポリシーを Cloudflare One Client 向けの cloudflared_zero_trust_access_application に追加します。

  5. デバイスで、クライアント証明書を システムキーチェーン に追加します。

ユーザーが Cloudflare One Client から Zero Trust 組織にログイン するとき、接続するにはデバイスが有効なクライアント証明書を提示する必要があります。

役に立ちましたか?