ログインに github oauth plugin を使用していますが、組織内のすべてのユーザーにエラーが表示されます:
Access Denied
<user> is missing the Overall/Read permission
私はこの仕事をするために考え得るすべてを試しましたが、おそらくすべての人を管理者ユーザーにフォールバックするつもりです。
アドバイスをいただければ幸いです。
これは私が認証の問題を解決した方法です:
編集config.xml
ファイル、例.
Sudo vi /var/lib/jenkins/config.xml
useSecurity
要素の値をfalse
に変更します。
<useSecurity>false</useSecurity>
authorizationStrategy
ブロックを削除
Jenkinsを再起動します:/etc/init.d/jenkins restart
。
プラグインページからこの手順を実行しましたか?
Control user authorization (i.e. who is allowed to see the jobs and build them) using the Github Commiter Authorization Strategy
また、認証されたユーザーがJenkinsに実際にアクセスできるようにしてください。
authenticated
というユーザー/グループを追加します資格情報プラグインをアクティブにしたJenkins(1.651.2)で「...に全体/読み取り権限がありません」という問題が発生しました。
しかし、それは私自身の失敗でした。(資格情報プラグインによって)プロジェクト側のユーザーのみを構成しましたが、グローバルセキュリティを構成できませんでした。
そこで、以下を選択して修正しました。
Jenkins-> Jenkinsの管理->グローバルセキュリティの設定
そして、不足しているグローバル設定(またはプロジェクトマトリックスベースの設定)をセットアップしました
config.xmlで<useSecurity>true</useSecurity>
から<useSecurity>false</useSecurity>
にリセットし、許可を再度設定します。
ファイル/var/lib/jenkins/config.xmlを編集し、次の行を追加します。
<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
<permission>hudson.model.Hudson.Read:john.smith</permission>
</authorizationStrategy>
Jenkinsを再起動します
authorizationStrategy
要素のケースユーザー名も確認してください。新しいユーザーの名前を小文字にしてサービスを再起動すると、エラーはなくなりました。
ここでも同じ問題が発生しましたが、すべてのユーザーではなく、一部のユーザーにのみ影響がありました。とにかく、公的組織のメンバーシップを確認する必要があります。プラグインのドキュメントには、「認証が正しく機能するには組織の公的メンバーである必要があります」と記載されています。 ( https://wiki.jenkins-ci.org/display/JENKINS/Github+OAuth+Plugin )。
組織のメンバーシップを公開するには、GitHubの指示( https://help.github.com/articles/publicizing-or-hiding-organization-membership/ )に従ってください。これにより問題が解決する場合があります。
サーバー上の次の2つのシェルコマンドで修正します(Sudo権限が必要です)。
Sudo ex +g/useSecurity/d +g/authorizationStrategy/d -scwq /var/lib/jenkins/config.xml
Sudo /etc/init.d/jenkins restart
これにより、設定ファイルからuseSecurity
行とauthorizationStrategy
行が削除されます。
参照: セキュリティを無効にする Jenkins Webサイト
<useSecurity>true</useSecurity>
要素を探します。authorizationStrategy
およびsecurityRealm
を削除しますこのエラーが発生したときに私がしたことは、他のユーザーが言及したようにconfig.xmlを編集し、「configureSecurity」Jenkinsのページの小文字でユーザー名を正しく追加し直すことです。権限を追加するときに「KrustyHack」を使用していましたが、機能しませんでした。代わりに「krustyhack」を追加する必要がありましたが、うまくいきました。
役に立てば幸いです。
Githubの組織管理者が「サードパーティアクセス」の組織の設定を「サードパーティアプリケーションアクセスを制限する」に変更したときに、この同じエラーが発生しました。 github組織内の以前の設定に戻すことで問題は解決しました。
適切に設定する方法の詳細については、 github oauth-app-access-restrictions を参照してください。
ユーザーへのロールの割り当ては、config.xml
ファイルに保存されます。ユーザーのIDをロールに直接追加してから、Jenkinsを再起動します。
私の場合、editor
という名前のロールと、そのロールに割り当てられた多数のユーザーがいます。
<role name="editor" pattern=".*">
<permissions>
<...>
<permission>hudson.model.Item.Create</permission>
<permission>hudson.model.Item.Workspace</permission>
<permission>...</permission>
</permissions>
<assignedSIDs>
<sid>bob</sid>
<sid>alice</sid>
<sid>**newuser**</sid>
</assignedSIDs>
</role>
マトリックスのセキュリティはそれほど明確ではありません。私は組織内の管理者権限を持つ特定のグループのメンバーですが、認証されたユーザーでもあります。あるグループが他のグループに取って代わると思いますが、実際にシステムにログインして管理者になるには両方が必要です。 IMOを台無しにしました。
以前にも同じ問題がありました。あなたのOAuthアプリケーションは組織の所有者の承認が必要です。その後、OAuthプラグインはその中のプライベートデータにアクセスできます
Jenkinアカウントにアクセスできず、システムがロックされていた同様の問題がありました。エラーメッセージしかありませんでした。 "アクセスが拒否されました "
Jenkinsを再インストールしようとすると、修復オプションが表示されました。 [修復]オプションをクリックして、問題を修正しました。
私はまったく同じ問題を抱えていましたが、プラグインRole Strategy Pluginを追加すると問題が修正されました。
プラグインをインストールし、管理者/開発者の2つのグループを作成して、グループにユーザーを追加するだけでした。
許可マトリックス全体を再作成するよりもはるかに優れたソリューション:)
Crowd 2プラグインを使用していますが、同じ問題があります。 OWASP Markup Formatterプラグインをvarsion 1.2からバージョン1.1にダウングレードし、Configure Global SecurityのMarkup Formatterをプレーンテキストになる前にRaw HTMLに変更することで修正しました。