1Password サービス アカウントのセキュリティ
1Passwordマニュアル|サービスアカウントのセキュリティーを強化し、アプリやシステム内でのシークレット管理を自動化する方法をご紹介します。
1Passwordマニュアル|サービスアカウントのセキュリティーを強化し、アプリやシステム内でのシークレット管理を自動化する方法をご紹介します。
を使うと、アプリやシステム内のシークレットの管理を自動化できます。追加のサービスは必要ありません。このページの各セクションを参照して、サービスアカウントのセキュリティーについて詳しく学んでください。1Passwordのセキュリティー活動の詳細については、をご覧ください。
サービスアカウントをCreateするときに、アクセスできる保管庫とアクセスレベルを選択します。サービスアカウントは、アクセスできる保管庫からの情報のみを返します。また、サービスアカウントに保管庫のCreateと管理の権限を付与することもできます。
サービスアカウントは、プログラムによるアクセスを目的としたユーザーアカウントの一種です。サービスアカウントは、メールアドレスやを入力する必要がない点で、通常の1Passwordアカウントとは異なります。
通常のユーザーアカウントが主鍵をCreateする場合、ユーザーはeメール、、アカウントのパスワードを提供する必要があります。サービスアカウントユーザーが主鍵をCreateする場合、1Passwordが全ての入力を生Createします。
要素
定期ユーザー
サービスアカウント
秘密鍵
生Create
生Create
パスワード
ユーザー提供
生Create
プロセスの一部として秘密鍵とパスワードを使って、次のものをCreateします。
Account Unlock Key (AUK)
Secure Remote Password (SRP)
これら2つのアイテムを導出した後、1PasswordはそれらのCreateに使われたパスワードを破棄します。
通常のユーザーでもサービスアカウントユーザーでも、各ユーザーには、ユーザーアカウントのCreate時に1Passwordによって生Createされるがあります。AUKは個人鍵セットを暗号化し、1Passwordは個人鍵セットを使って保管庫を暗号化および復号化します。
サービスアカウントトークンは、シリアル化され、Base64 URLエンコードされたSRPxオブジェクトを表す認証文字列です。サービスアカウントトークンにより、サービスアカウントは1Password CLIで認証できます。
エンコードおよびデコードされたサービスアカウントトークンの次の例を参照してください。
エンコード
エンコードされたサービスアカウントトークン:
ops_eyJlbWFpbCI6ImVqd2U2NHFtbHhocmlAMXBhc3N3b3Jkc2VydmljZWFjY291bnRzLmxjbCIsIm11ayI6eyJhbGciOiJBMjU2R0NNIiwiZXh0Ijp0cnVlLCJrIjoiTThWUGZJYzhWRWZUaGNNWExhS0NLRjhzTWg1Sk1ac1BBdHU5MmZRTmItbyIsImtleV9vcHMiOlsiZW5jcnlwdCIsImRlY3J5cHQiXSwia3R5Ijoib2N0Iiwia2lkIjoibXAifSwic2VjcmV0S2V5IjoiQTMtQzRaSk1OLVBRVFpUTC1IR0w4NC1HNjRNNy1LVlpSTi00WlZQNiIsInNycFgiOiI4NzBkNjdhOWU2MjY2MjVkOWUzNjg1MDc4MDRjOWMzMmU2NjFjNTdlN2U1NTg3NzgyOTFiZjI5ZDVhMjc5YWUxIiwic2lnbkluQWRkcmVzcyI6ImdvdGhhbS5iNWxvY2FsLmNvbTo0MDAwIiwidXNlckF1dGgiOnsibWV0aG9kIjoiU1JQZy00MDk2IiwiYWxnIjoiUEJFUzJnLUhTMjU2IiwiaXRlcmF0aW9ucyI6MTAwMDAwLCJzYWx0IjoiRk1SVVBpeXJONFhmXzhIb2g2WVJYUSJ9fQ
デコード
デコードされたサービスアカウントトークン:
{
"email": "ejwe64qmlxhri@1passwordserviceaccounts.lcl",
"muk": {
"alg": "A256GCM",
"ext": true,
"k": "M8VPfIc8VEfThcMXLaKCKF8sMh5JMZsPAtu92fQNb-o",
"key_ops": [
"encrypt",
"decrypt"
],
"kty": "oct",
"kid": "mp"
},
"secretKey": "A3-C4ZJMN-PQTZTL-HGL84-G64M7-KVZRN-4ZVP6",
"srpX": "870d67a9e626625d9e368507804c9c32e661c57e7e558778291bf29d5a279ae1",
"signInAddress": "gotham.b5local.com:4000",
"userAuth": {
"method": "SRPg-4096",
"alg": "PBES2g-HS256",
"iterations": 100000,
"salt": "FMRUPiyrN4Xf_8Hoh6YRXQ"
},
"throttleSecret": {
"seed": "ddc20da89d71ff640f36bb6c446c64d56a2123eb4e7bd9c89ce303075eea5780",
"uuid": "TP4Z5ZB7IJABDPGIVSUZLY4T5A"
},
"deviceUuid": "ay5shynibdyqisjz3j63b7uygy"
}
ℹ️情報
1Passwordは、コードアナライザーが誤って資格情報が漏洩したことを検出できるように、独自の文字列形式を使います。この形式では、トークンのプレフィックスとして"ops_ "が使われます。
トークンをCreateする手順はデバイス(クライアント側)で実行されます。機密情報が1Passwordのサーバーに送られることはありません。サービスアカウントトークンをSaveして保護するのはユーザーの責任です。
サービスアカウントトークンをローテーションまたは取り消すことができます。サービスアカウントトークンが窃取された場合や、定期的なトークンのローテーションを要求するセキュリティーポリシーに準拠する必要がある場合は、サービスアカウントトークンを取り消したり、ローテートしたりする必要があります。
こちらでサービスアカウントトークンを取り消す方法について説明します。
こちらでサービスアカウントトークンをローテーションする方法を学んでください。
1Password Service Accountsのセキュリティーモデルには、次の保証があります。
サービスアカウントは、読み取りアクセス権を持つ保管庫からのみアイテムを読み取ることができます。
サービスアカウントは、書き込みアクセス権を持つ保管庫に対してのみ、アイテムを更新、削除、Createできます。
サービスアカウントのCreate者は、CreateCreate者がアクセス権を持つ保管庫へのアクセス権のみをサービスアカウントに付与できます。
サービスアカウントのCreate者に保管庫を管理する権限がある場合でも、サービスアカウントが無効になっている保管庫へのアクセス権をサービスアカウントに付与することはできません。
保管庫のサービスアカウントを無効にすると、保存済みの全てのサービスアカウントからその保管庫へのアクセスが削除されます。
全ての所有者と管理者はサービスアカウントの詳細を表示したり、サービスアカウントを削除したりできますが、生Createされたサービスアカウントトークンを表示することはできません。
チームメンバーは、その保管庫に対するManage Vault権限を持っている場合にのみ、サービスアカウントに保管庫へのアクセスを許可できます。
削除されたサービスアカウントに関連付けられたサービスアカウントトークンは認証できません。
生CreateされたサービスアカウントのCreate後に、保管庫へのアクセスを追加することはできません。
サービスアカウントは別のサービスアカウントをCreateすることはできません。
サービスアカウントではユーザーを管理できません。
個人鍵セット 各ユーザーアカウント(通常のユーザーまたはサービスアカウント)は、保管庫の暗号化と復号化に使用される公開鍵と秘密鍵のペアで構成される個人鍵セットを持ちます。
サービスアカウントトークン
サービスアカウントトークンは、サービスアカウントに1つ以上の1Password保管庫へのアクセスを許可する認証文字列です。サービスアカウントトークンを使って、1Password CLIなどのサービスやツールを認証できます。
1Passwordは、AUK、SRP、個人鍵セットをにシリアル化することでサービスアカウントトークンをCreateし、それをBase64でエンコードします。
デフォルトでは、アカウントとがサービスアカウントをCreateできます。
所有者と管理者は、独自のサービスアカウントをCreateし管理するアクセス権を付与できます。
Account Unlock Key Account Unlock Key(AUK) は、を復号化するために使われます。ユーザーのアカウント パスワードと秘密鍵から導出します。以前は “Master Unlock Key”と呼ばれていました。
Secure Remote Password Secure Remote Passwordから導出された鍵です。これは、クライアントとサーバーの両方が秘密を漏らすことなく相互に認証する方法であるSecure Remote Passwordプロトコルに使われます。
2SKD(Two-secret key derivation) 2SKDは、2つのユーザーシークレット(アカウントパスワードと秘密鍵)を使って2つの独立した鍵(とSecure Remote Password)を導出するキー導出関数の一種です。
1Passwordでは、脆弱性を発見した場合には「責任ある開示」をお願いしています。脆弱性を発見した場合は、を通じてリクエストを提出してください。